Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Где можно часто и много "Create/Drop table" etc...?  [new]
mv
Member

Откуда:
Сообщений: 8876

В соседнем топике возник вопрос, на который, по-моему, не ответили.
Вопрос:
Какая многопользовательская СУБД будет нормально работать в режиме
активного изменения метаданных?

(Ну, кроме VFP и проч. наследия советского прошлого).

Если отойти от "кому это нужно", "надо правильно проектировать, и таких
вопросов не возникнет", "модель Тенцера" и проч. треп - то все же: Что
реально может работать в таком режиме?

Ну очень было бы интересно.

(Да, про разработки тов. Шуклина пока лучше не упоминать, ОК?)


Posted via ActualForum NNTP Server 1.3

18 окт 06, 17:16    [3278223]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
mv

Какая многопользовательская СУБД будет нормально работать в режиме
активного изменения метаданных?


Это невозможно по определению. Активное изменение метаданных убивает кэш запросов и кэш данных, то есть работа будет заведомо менее эффективной. Можно лишь померять, сколько именно эффективности будет потеряно в каждом из случаев.
18 окт 06, 17:20    [3278266]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
mv
Member

Откуда:
Сообщений: 8876

softwarer

.... Активное изменение метаданных убивает кэш запросов и кэш данных, то есть
работа будет заведомо менее эффективной...

Это происходит сейчас, на известных нам системах.
Тем не менее, во многих случаю на описанную Вами проблему можно было бы
закрыть глаза (или как-то обойти).
Чаще проблема в другом. К примеру, для Interbase/FireBird "это" делать
нельзя принципиально (про кэш запросов и данных даже не упоминается - там и
без того масса проблем при изменении метаданных).

Может быть, есть иные системы, где "это" можно. Хотелось бы узнать.


Posted via ActualForum NNTP Server 1.3

18 окт 06, 17:35    [3278427]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
mv
Это происходит сейчас, на известных нам системах.

Это происходит на любой системе, где такие есть. То есть ситуация примерно следующая: если летало - станет ползать, если ползало - хуже не будет :)

mv
Чаще проблема в другом. К примеру, для Interbase/FireBird "это" делать
нельзя принципиально

Могу сказать про Oracle. Любой мало-мальски обученный ораклоид знает, что за DDL в боевом коде разработчика убивают на месте. Не все могут ответить, почему :) Наконец, кое-где такие вот create/drop используют сами оракловые продукты.
18 окт 06, 18:22    [3278829]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

sybase,ms - temporary tables
ms - table var
sybase,ms - work tables...

в принципе, хоть и в tempdb - но вроде как таблицы....

Posted via ActualForum NNTP Server 1.3

18 окт 06, 18:29    [3278877]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
mv
Member

Откуда:
Сообщений: 8876

softwarer

Это происходит на любой системе, где такие есть.

Насчет "любой" - а вот кто его знает.
Для меня - пока только на тех, с которыми пытался разобраться.


Posted via ActualForum NNTP Server 1.3

18 окт 06, 18:29    [3278880]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
mv
Насчет "любой" - а вот кто его знает.

Чудес не бывает. Если мы непредсказуемо корежим объект - его надо выбрасывать из кэша.
18 окт 06, 18:36    [3278926]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
mv
Member

Откуда:
Сообщений: 8876

locky


Не, не временные таблички.


Posted via ActualForum NNTP Server 1.3

18 окт 06, 18:36    [3278927]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
mv
Member

Откуда:
Сообщений: 8876

softwarer

Если мы непредсказуемо корежим объект - его надо выбрасывать из кэша.


Да фик с ним, с кешем. Потом снова заполнится. :)

Если дело только в кеше - то Оракл "так" можно без проблем?


Posted via ActualForum NNTP Server 1.3

18 окт 06, 18:39    [3278941]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
mv
Если дело только в кеше - то Оракл "так" можно без проблем?

1. Дело не только в кэше, это просто самое очевидное.
2. Бессмысленная постановка вопроса. Как же он может без проблем сразу после упоминания одной из проблем?
3. Я же вроде ясно написал: "Любой мало-мальски обученный ораклоид знает, что за DDL в боевом коде разработчика убивают на месте."
4. Также: "Наконец, кое-где такие вот create/drop используют сами оракловые продукты."

Мораль: применять не стоит. Но если с головой, понимая последствия и там, где действительно нужно, то можно.
18 окт 06, 18:49    [3279012]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
mv
Member

Откуда:
Сообщений: 8876

softwarer

Мораль: применять не стоит.

Вычеркиваю. :)


Posted via ActualForum NNTP Server 1.3

18 окт 06, 19:41    [3279272]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
mv
Вычеркиваю. :)

Тогда Вас убьют на месте
18 окт 06, 19:53    [3279333]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 19913
mv
softwarer

Если мы непредсказуемо корежим объект - его надо выбрасывать из кэша.

Да фик с ним, с кешем. Потом снова заполнится. :)
Если дело только в кеше - то Оракл "так" можно без проблем?

Существует риск получить жестоко фрагментированный словарь, что ведет к снижению performance и разбуханию системного табличного просторанства, что достаточно тяжело лечится.
С другой стороны, многое зависит от того, с какой целью интересуетесь и насколько активно "активное изменение" метаданных.
Просто интересно - можно "живой" пример задачи, требующей активного DDL?
18 окт 06, 19:59    [3279371]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
mv
Member

Откуда:
Сообщений: 8876

andrey_anonymous

Существует риск получить жестоко фрагментированный словарь, что ведет к
снижению performance и разбуханию системного табличного просторанства, что
достаточно тяжело лечится.
С другой стороны, многое зависит от того, с какой целью интересуетесь и
насколько активно "активное изменение" метаданных.

Спасибо.

andrey_anonymous

.... - можно "живой" пример задачи, требующей активного DDL?


Нельзя (см. первый пост)


Posted via ActualForum NNTP Server 1.3

18 окт 06, 20:04    [3279392]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
mv
для Interbase/FireBird "это" делать
нельзя принципиально

а оный принцип не пояснишь заодно? :-)
18 окт 06, 21:48    [3279642]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
mv
Member

Откуда:
Сообщений: 8876

dimitr


Дяденька, не мутите воду. :)

(Ай лав файрбёрд! Два "Ку"! Три "Ку!" ...могу больше и дольше)


Posted via ActualForum NNTP Server 1.3

18 окт 06, 21:52    [3279654]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
мне вправду интересно :-) СУБД проектировалась, чтобы "мочь" спокойно пережить даже смену структуры таблиц во время работы прочих запросов, а тут говорят, что "принципиально не могёт". Ты уж поясни нам, темным...
18 окт 06, 22:00    [3279673]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
mv
Member

Откуда:
Сообщений: 8876

dimitr

СУБД проектировалась, чтобы "мочь" спокойно пережить даже смену структуры
таблиц во время работы прочих запросов

- Скока раз? :)
- Достаточно для большинства случаев.
---
- Согласен. "Ку". Я тоже обожаю господина ПЖ.
....


Posted via ActualForum NNTP Server 1.3

18 окт 06, 22:06    [3279683]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54784

dimitr

Ты уж поясни нам, темным...

Дмитрий, действительно, не мути воду. Работу с незакоммиченными
метаданными уже поправили? Запрет на убиение/изменение процедур в
многопользовательском режиме отменили?

Posted via ActualForum NNTP Server 1.3

19 окт 06, 13:25    [3282017]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
живой пример - генерация схемы базы данных по метаинформации.
базу ведь можно создавать и в несколько потоков...
можно хостить временные объекты (а-ля временные таблицы или процедуры в SQL Server)...
Да мало ли вариантов...
19 окт 06, 23:50    [3285080]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 19913
AAron
живой пример - генерация схемы базы данных по метаинформации.
базу ведь можно создавать и в несколько потоков...
А это как-то относится к теме? Разовая акция.
ИМХО схемы создаются без проблем практически в любой зрелой СУБД, можно в несколько потоков - лишь бы по dependencies были правильно разведены.
AAron
можно хостить временные объекты (а-ля временные таблицы или процедуры в SQL Server)...
Хостить - это тоже не "часто и много Create/Drop table"
AAron
Да мало ли вариантов...

У меня фантазия недостаточно богатая :(
20 окт 06, 12:49    [3287363]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
create procedure some_exp
as
begin
-- формирование временной таблицы
    select abc, def, sss into #tmp from some_table

-- некоторая обработка временной таблицы
    update #tmp
    set sss = abc + (...)

-- выдача результата
    select abc, sum(def), avg from #tmp group by abc

end
Чем постоянное создание временных таблиц не изменение метаданных?
тем не менее, такое работает. и при правильном разведении потоков - даже неплохо.
Временные объекты под SQL Server'ом существуют только на время существования сессии.
20 окт 06, 16:39    [3289564]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
Nikolay Kulikov
Member

Откуда: Москва
Сообщений: 607
В принципе в DB2 можно делать CREATE DELETE Table все будет транзакционно, но... Могут быть вопросы с блокировками на системном каталоге, не критично но влияет на производительность....
20 окт 06, 17:44    [3290084]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
1024
Member

Откуда: Нижний Новгород
Сообщений: 14267

да нафига? Кто-то какую-то ерунду спросил и вот надо придумывать. Скл сервер
предназначен для частого изменения данных а не структуры. Если автор не
может отобразить имеющуюся информацию на ер-модель - в библиотеку читать
книжки.


Posted via ActualForum NNTP Server 1.3

20 окт 06, 18:28    [3290359]     Ответить | Цитировать Сообщить модератору
 Re: Где можно часто и много "Create/Drop table" etc...?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
правильно.
и обсуждать тут нечего
20 окт 06, 18:55    [3290460]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить