powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Помогите выбрать базу
22 сообщений из 47, страница 2 из 2
Помогите выбрать базу
    #37507618
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!ерунда, у mysql/innodb есть serializable, на сколько я помню аналог оракловому

И работает скорее всего так же хреново. Никчемушный уровень, самоблокирующийся на ровном
месте.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507624
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovИ работает скорее всего так же хреново. Никчемушный уровень, самоблокирующийся на ровном
месте.

учитывая что оракловый serializable это и есть тот самый snapshot, то никчемушный точно не уровень ;)
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507641
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!оракловый serializable это и есть тот самый snapshot, то никчемушный точно не уровень
;)
....а его реализация. Ну да, тут ты прав. Блокировать целый блок это, конечно, ещё
додуматься надо... Хорошо хоть не всю таблицу, как всё тот же мускуль.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507647
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov....а его реализация. Ну да, тут ты прав. Блокировать целый блок это, конечно, ещё
додуматься надо... Хорошо хоть не всю таблицу, как всё тот же мускуль.

точно, блокированный блок, блокированный моск. интересно, почему именно фанам фб так тяжело даются оракловые концепты ?
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507651
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!,

Ну чего ты пристал. На крупных задачах, ФБ не игрок. Точно так же Ора не игрок в ембеддед. Каждому свое.
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507652
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот два скуля имеют шанс всех порвать %-)~
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507660
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovYo.!оракловый serializable это и есть тот самый snapshot, то никчемушный точно не уровень
;)
....а его реализация. Ну да, тут ты прав. Блокировать целый блок это, конечно, ещё
додуматься надо... Хорошо хоть не всю таблицу, как всё тот же мускуль.
Я бы вообще не говорил о MySQL абстрактно. Лучше всегда в привязке к движку . Насколько я знаю, Innodb блокирует на строчном уровне.
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507670
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinНасколько я знаю, Innodb блокирует на строчном уровне.
Тогда он круче чем 10414051 ... Есть на какие запчасти разбирать этот запорожец.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507697
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 впридачу :-)
Ему нужна система, которую просто установить и которая поддерживает азы. ФБ ему должен подойти вполне.
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507708
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAlexander RyndinНасколько я знаю, Innodb блокирует на строчном уровне.
Тогда он круче чем 10414051 ... Есть на какие запчасти разбирать этот запорожец.
Ну это лишь говорит, что Oracle не отслеживает SCN конкретной строки, а отслеживает SCN блока. Я не вижу там блокировок на уровне блока.
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507716
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
SQL> create table tmp (id int) rowdependencies ;

Table created.

insert into tmp values( 1 );

 1  row created.

SQL> commit;

Commit complete.

declare
  procedure p
  is
    pragma autonomous_transaction;
  begin
    insert into tmp values( 9999999 );
    commit;
  end p;
begin
  set transaction isolation level serializable;
  p;
  delete tmp where id =  1 ;
end;
  14   /

PL/SQL procedure successfully completed.

2Таблойд
меня зацепило "Отставание сейчас только в одном: слабый оптимизатор", то что на каждый пункт найдется объяснение это понятно, каждый из этих пунктов уже пережевывался тут годами и SMP и лог в том числе.
по экспоненте - четыре человека не полный рабочий день и есть главная конкретика. в firebird за пять лет в архитектуре ничего не изменилось. единственное заметное изменение суперкласик архитектура и больше ничего архитектурного не припомню.
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507721
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!Alexander RyndinНу это лишь говорит, что Oracle не отслеживает SCN конкретной строки, а отслеживает SCN блока. Я не вижу там блокировок на уровне блока.
хочу добавить, что оракл по разному умеет ...Ну да - я имел в виду "по-умолчанию".
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507729
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinЯ не вижу там блокировок на уровне блока.

Если что-то ходит как утка и крякает как утка... Когда получаешь ошибку при попытке
обращения к чему-то только потому, что кто-то другой тоже решил к нему обратиться - это
блокировка.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507737
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЕсли что-то ходит как утка и крякает как утка... Когда получаешь ошибку при попытке
обращения к чему-то только потому, что кто-то другой тоже решил к нему обратиться - это
блокировка.

напоминаешь того коня-горбунка из анекдота, у него тоже был короткий ассоциативный ряд
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507745
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAlexander RyndinЯ не вижу там блокировок на уровне блока.

Если что-то ходит как утка и крякает как утка... Когда получаешь ошибку при попытке
обращения к чему-то только потому, что кто-то другой тоже решил к нему обратиться - это
блокировка.
Ну вообще в том примере был выставлен режим serializable , что, насколько я знаю, применяется нечасто - обычно read commited.
Ну и как сказал Yo - никто не мешает включить rowdependencies. Это приведет к доп.расходам, что естественно для режима serializable.
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507750
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndinрежим serializable, что, насколько я знаю, применяется нечасто

А почему, собственно? Это же единственный способ получить согласованные результаты двух
последовательных запросов (если один из них - DML). Ну, не считая извращений с
коллекциями, временными таблицами и прочих трюков, за которые фокспрошников в этом разделе
неоднократно закатывали в асфальт, когда они начинали говорить "а у нас можно эмулировать
транзакции через временные таблицы".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37507760
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAlexander Ryndinрежим serializable, что, насколько я знаю, применяется нечасто

А почему, собственно? Это же единственный способ получить согласованные результаты двух
последовательных запросов (если один из них - DML). Ну, не считая извращений с
коллекциями, временными таблицами и прочих трюков, за которые фокспрошников в этом разделе
неоднократно закатывали в асфальт, когда они начинали говорить "а у нас можно эмулировать
транзакции через временные таблицы".
Если один из них DML, то есть еще SELECT FOR UPDATE. По поводу использования serializable - может это лично мне редко попадалось.
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37508238
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinЕсли один из них DML, то есть еще SELECT FOR UPDATE.

И как оно поможет последующему delete, например, не удалить записи, вставленные мимоходом
в других коннектах? Или предполагается, что записи будут удаляться по одной, по мере их
обработки?..
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37509791
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAlexander RyndinЕсли один из них DML, то есть еще SELECT FOR UPDATE.

И как оно поможет последующему delete, например, не удалить записи, вставленные мимоходом
в других коннектах? Или предполагается, что записи будут удаляться по одной, по мере их
обработки?..
Дмитрий, наверное, я не очень понимаю, что вы спрашиваете. Приведите пример, плиз.
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37509810
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinПриведите пример, плиз.
Код: plaintext
1.
select * from t where x=:p;
delete from t where x=:p;
На любом уровне изоляции Оракула кроме serializable второй запрос имеет шанс удалить
больше записей чем выбрал первый. Особенно если между ними стоит обработка выбранных
записей с ненулевым временем выполнения.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37509817
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovAlexander RyndinПриведите пример, плиз.
Код: plaintext
1.
select * from t where x=:p;
delete from t where x=:p;
На любом уровне изоляции Оракула кроме serializable второй запрос имеет шанс удалить
больше записей чем выбрал первый. Особенно если между ними стоит обработка выбранных
записей с ненулевым временем выполнения.
Я слабо себе представляю это в обычном пользовательском приложении -
думаю, что там все равно будет реализовано с помощью удаления по PK или ROWID.
Хотя не рискну здесь спорить с вами - программист из меня тот еще.

Но еще раз повторюсь - нужна такая функциональность - включаем rowdependencies.
...
Рейтинг: 0 / 0
Помогите выбрать базу
    #37521744
Фотография roden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gambit_d.sСпасибо всем за информацию!
Думаю попробовать поставить MSsql,
а потом по разбираюсь с приложениями.
На том и держится MS. Поставил, привык, проработал всю жизнь.
...
Рейтинг: 0 / 0
22 сообщений из 47, страница 2 из 2
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Помогите выбрать базу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]