|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Yo.!ерунда, у mysql/innodb есть serializable, на сколько я помню аналог оракловому И работает скорее всего так же хреново. Никчемушный уровень, самоблокирующийся на ровном месте. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2011, 22:58 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИ работает скорее всего так же хреново. Никчемушный уровень, самоблокирующийся на ровном месте. учитывая что оракловый serializable это и есть тот самый snapshot, то никчемушный точно не уровень ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2011, 23:11 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Yo.!оракловый serializable это и есть тот самый snapshot, то никчемушный точно не уровень ;) ....а его реализация. Ну да, тут ты прав. Блокировать целый блок это, конечно, ещё додуматься надо... Хорошо хоть не всю таблицу, как всё тот же мускуль. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2011, 23:35 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov....а его реализация. Ну да, тут ты прав. Блокировать целый блок это, конечно, ещё додуматься надо... Хорошо хоть не всю таблицу, как всё тот же мускуль. точно, блокированный блок, блокированный моск. интересно, почему именно фанам фб так тяжело даются оракловые концепты ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2011, 23:46 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Yo.!, Ну чего ты пристал. На крупных задачах, ФБ не игрок. Точно так же Ора не игрок в ембеддед. Каждому свое. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2011, 23:49 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
А вот два скуля имеют шанс всех порвать %-)~ ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2011, 23:50 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovYo.!оракловый serializable это и есть тот самый snapshot, то никчемушный точно не уровень ;) ....а его реализация. Ну да, тут ты прав. Блокировать целый блок это, конечно, ещё додуматься надо... Хорошо хоть не всю таблицу, как всё тот же мускуль. Я бы вообще не говорил о MySQL абстрактно. Лучше всегда в привязке к движку . Насколько я знаю, Innodb блокирует на строчном уровне. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2011, 23:53 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Alexander RyndinНасколько я знаю, Innodb блокирует на строчном уровне. Тогда он круче чем 10414051 ... Есть на какие запчасти разбирать этот запорожец. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 00:08 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Yo.!возьмите mysql, уже от примитивного mysql отставания 5-8 лет по принципиальным вещам. и с каждым годом отставание увеличивается по экспоненте. во первыхЕсли упомянуто экспоненциальное отставание, то надо бы конкретику привести. Отставание в чём ? В соблюдении стандарта, в развитости SQL или процедурного языка, в управляемости транзакциями, в производительности ? Стандарт SQL в ФБ стараются соблюсти во всём, щепетильность там даже чрезмерная (имхо). Насчет возможностей SQL, который реализован в ФБ, - устраивает всё, за исключением отсутствия до сих пор оконных функций. Они будут только в трёшке, увы. Процедурный язык выше всяких похвал ввиду его понятности. Синтаксис запоминается очень быстро, это почти "псевдокод". Кроме того, он весьма шустрый, что часто провоцирует писать на нём, а не на SQL. Наконец, ранняя проверка валидности объектов (при компиляции) избавит от головной боли в рантайме. Управляемость транзакциями - выше всяких похвал. Только в ФБ можно в одном коннекте открыть несколько транзакций и данные, записываемые ими в GTT, будут изолированы. Только в ФБ можно открыть read_only транзакцию, но при этом проводить запись в GTT (а это уменьшает объем мусора). Совершенно несложно добиться мгновенной (или по разумному таймауту) выдачи сообщения об ошибке при попытке insert'a дублир. ключа в двух и более коннектах (вместо бесконечного ожидания). Насчет производительности - сравнивать надо. С выводом настроечных параметров., разумеется. Yo.!архитектурный мегобаг со стабильностью курсораХоть это и неприятная фича, но обойти её совершенно несложно, пусть и применяя процедурный подход (вытянув сначала все записи, подлежащие DML-обработке, селектом, а затем обрабатывая их по-одиночке в цикле). В форуме (bid=2) вопросы на эту тему весьма редки. Не так уж часто внутри курсора, сформированного выборкой с критерием отбора по полю F01, меняют именно это поле F01 (или вызывают DELETE с проверкой (не)существования других записей и также включают туда это же поле). Мегобагом это назвать сложно. Иначе бы вопли шли со всех сторон. Куда чаще спрашивают, как перекомпилировать ХП на продакшене при подключенных юзерах :-) Yo.!уже которое десятилетие в это тычат firebird но воз и ныне там.Воз сдвинулся, кстати. Открыт "интегральный тикет ", в котором собраны все такие артефакты. И насколько могу понять, в ФБ 3.x этого уже не будет. Yo.!дальше уже лет пять как наступил век многоядерных компов, firebird до сих пор толком SMP не имеет.Что оно даст, если большинство операций всё равно завязано на скорость дисковой подсистемы. Распределенные вычисления, что ли, проводить на ФБ ? Если же речь идёт о параллельном выполнении запросов и DML, то даже дядя Том говорит , что сиё средство надо рассматривать в самую последнюю очередь, когда уже всё прочее исчерпано. Yo.!костыли в виде класик архитектуры просто динозавр на фоне mysql.в 2.5 введена архитектура SuperClassic (наглядно - тут , к примеру). Насколько я понял по прошлогодней ФБ-конференции, классика в 3.0 не будет вообще. Yo.!что там дальше - лог транзакций и завязанная на лог дисковая подсистема. в 21 веке не иметь лога, по меньшей мере странно. из-за отсутствия лога firebird вынужден по коммиту расскладывать данные по датафайлам со всеми вытекающими для ио.Очередь на запись будет не из-за того, что лог в ФБ находится в самом же файле базы. По дефолту в ФБ установлен совершенно странный размер кэша на подключение - всего 75 страниц базы. При размере страницы 8Кб это 600 Кб- бред полный по нынешним меркам! Я пытался проинсертить 1 лям строк в таблицу с 10 индексами с таким "кэшем" - и делал это 3 часа :-) А после установки нормального значения всё влетело за 1 минуту (НЕ НА СЕРВЕРЕ! на дохлой чахотке, обычном компе 2003 года). Кроме того, при наличии хот-замены надо вырубать Forced Writes и поставить в firebird.conf'e параметры MaxUnflushedWrites = -1, MaxUnflushedWriteTime = -1. Наконец, назначить TempDirectories на другой диск. Не могу вспомнить, чтобы у нас на продакшене при таких настройках запись на диск стала хотя бы раз узким местом. Yo.! 127 одновременно выполняющихся запросов и скудность оптимизатора это просто мелочь на фоне архитектурных недочетов ...Давайте вспомним, о чём спрашивал ТС:авторчто можно поставить, что бы была проста в установке и работе , но поддерживала написание индексов и тригеров?Вряд ли он сразу после установки начнёт запускать одновременно 100500 запросов, да еще insert into t select * from t впридачу :-) Ему нужна система, которую просто установить и которая поддерживает азы. ФБ ему должен подойти вполне. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 01:00 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovAlexander RyndinНасколько я знаю, Innodb блокирует на строчном уровне. Тогда он круче чем 10414051 ... Есть на какие запчасти разбирать этот запорожец. Ну это лишь говорит, что Oracle не отслеживает SCN конкретной строки, а отслеживает SCN блока. Я не вижу там блокировок на уровне блока. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 01:16 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Alexander RyndinНу это лишь говорит, что Oracle не отслеживает SCN конкретной строки, а отслеживает SCN блока. Я не вижу там блокировок на уровне блока. хочу добавить, что оракл по разному умеет ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
2Таблойд меня зацепило "Отставание сейчас только в одном: слабый оптимизатор", то что на каждый пункт найдется объяснение это понятно, каждый из этих пунктов уже пережевывался тут годами и SMP и лог в том числе. по экспоненте - четыре человека не полный рабочий день и есть главная конкретика. в firebird за пять лет в архитектуре ничего не изменилось. единственное заметное изменение суперкласик архитектура и больше ничего архитектурного не припомню. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 01:35 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Yo.!Alexander RyndinНу это лишь говорит, что Oracle не отслеживает SCN конкретной строки, а отслеживает SCN блока. Я не вижу там блокировок на уровне блока. хочу добавить, что оракл по разному умеет ...Ну да - я имел в виду "по-умолчанию". ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 01:39 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Alexander RyndinЯ не вижу там блокировок на уровне блока. Если что-то ходит как утка и крякает как утка... Когда получаешь ошибку при попытке обращения к чему-то только потому, что кто-то другой тоже решил к нему обратиться - это блокировка. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 01:50 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЕсли что-то ходит как утка и крякает как утка... Когда получаешь ошибку при попытке обращения к чему-то только потому, что кто-то другой тоже решил к нему обратиться - это блокировка. напоминаешь того коня-горбунка из анекдота, у него тоже был короткий ассоциативный ряд ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 01:56 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovAlexander RyndinЯ не вижу там блокировок на уровне блока. Если что-то ходит как утка и крякает как утка... Когда получаешь ошибку при попытке обращения к чему-то только потому, что кто-то другой тоже решил к нему обратиться - это блокировка. Ну вообще в том примере был выставлен режим serializable , что, насколько я знаю, применяется нечасто - обычно read commited. Ну и как сказал Yo - никто не мешает включить rowdependencies. Это приведет к доп.расходам, что естественно для режима serializable. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 02:16 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Alexander Ryndinрежим serializable, что, насколько я знаю, применяется нечасто А почему, собственно? Это же единственный способ получить согласованные результаты двух последовательных запросов (если один из них - DML). Ну, не считая извращений с коллекциями, временными таблицами и прочих трюков, за которые фокспрошников в этом разделе неоднократно закатывали в асфальт, когда они начинали говорить "а у нас можно эмулировать транзакции через временные таблицы". Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 02:25 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovAlexander Ryndinрежим serializable, что, насколько я знаю, применяется нечасто А почему, собственно? Это же единственный способ получить согласованные результаты двух последовательных запросов (если один из них - DML). Ну, не считая извращений с коллекциями, временными таблицами и прочих трюков, за которые фокспрошников в этом разделе неоднократно закатывали в асфальт, когда они начинали говорить "а у нас можно эмулировать транзакции через временные таблицы". Если один из них DML, то есть еще SELECT FOR UPDATE. По поводу использования serializable - может это лично мне редко попадалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 02:41 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Alexander RyndinЕсли один из них DML, то есть еще SELECT FOR UPDATE. И как оно поможет последующему delete, например, не удалить записи, вставленные мимоходом в других коннектах? Или предполагается, что записи будут удаляться по одной, по мере их обработки?.. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2011, 12:29 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovAlexander RyndinЕсли один из них DML, то есть еще SELECT FOR UPDATE. И как оно поможет последующему delete, например, не удалить записи, вставленные мимоходом в других коннектах? Или предполагается, что записи будут удаляться по одной, по мере их обработки?.. Дмитрий, наверное, я не очень понимаю, что вы спрашиваете. Приведите пример, плиз. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 00:36 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Alexander RyndinПриведите пример, плиз. Код: plaintext 1.
больше записей чем выбрал первый. Особенно если между ними стоит обработка выбранных записей с ненулевым временем выполнения. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 00:57 |
|
Помогите выбрать базу
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovAlexander RyndinПриведите пример, плиз. Код: plaintext 1.
больше записей чем выбрал первый. Особенно если между ними стоит обработка выбранных записей с ненулевым временем выполнения. Я слабо себе представляю это в обычном пользовательском приложении - думаю, что там все равно будет реализовано с помощью удаления по PK или ROWID. Хотя не рискну здесь спорить с вами - программист из меня тот еще. Но еще раз повторюсь - нужна такая функциональность - включаем rowdependencies. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2011, 01:07 |
|
|
start [/forum/topic.php?fid=35&msg=37509817&tid=1552627]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 143ms |
0 / 0 |