powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MySQL и Firebird для Web
25 сообщений из 287, страница 11 из 12
MySQL и Firebird для Web
    #36782527
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Нет, в FB читаются текущие для данной транзакции данные, но Оракло-гайз настаивают, что
читать надо консистентные данные, до DML...

И что же такое версионность в Вашем понимании?
Пг гайз тоже так думают. Мне вот интересно, в Оракле after триггер видет в таблице запись при select * from та самая таблица?

А версионность нужна для того, чтоб когда один пишет - другие не видели что он написал. Что-то типа "Ты сундук видешь? Нет. И я нет. А он есть. Шас вон тот-вот пацанчик commit сделает и будет."
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782548
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone
А версионность нужна для того, чтоб когда один пишет - другие не видели что он написал.

Т.е. чтобы триггер не видел что уже написал вызвавший его DML.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782557
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)
Гммм ... а я что сказал?

да, зарапортовался. пропустил statement и в результате нечто странное прочитал

Dimitry Sibiryakov
Вот как раз "иметь две сущности таблицы" и называется "версионностью". В триггере просто
должна быть доступна версия таблицы до старта DML.

ага, тут у нас транзакция видит изменения которая внесла, в тригере не видит, а тут мы рыбу заворачивали. славо ундуским богам, даже у индусов мозгов хватает так не делать ...
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782579
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
SergSuperи в FB так и сделано?
(но в любом случае версионность это несколько другое)

Нет, в FB читаются текущие для данной транзакции данные, но Оракло-гайз настаивают, что
читать надо консистентные данные, до DML...я тут подумал - как Вы предлагаете тоже плохо
получается что каждая запись может апдейтится несколько раз и непонятно какое надо брать изменение за окончательное
Dimitry SibiryakovИ что же такое версионность в Вашем понимании?каждый конект видит свою версию БД
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782581
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Т.е. чтобы триггер не видел что уже написал вызвавший его DML.
Э-э-э... Нет... Не для этого. В реализации пг, как ты видел, before триггер не видит, так как данных еще нет, а after - уже видит.

Версионность нужна для другого. Основная идея в том, что в 2-х транзакциях может быть инсерт с одинаковым первичным ключем и это пройдет (на момнет инсерта), а вот на момент коммита - какая-то транзакция отроллбэчится (если в это время не сделали удаления одного из первичных ключей, конечно).

За счет этого можно читать и писать одновременно. Без блокировок. Это в теории, если я правильно понят то, что об этом читал.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782588
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperкаждый конект видит свою версию БДИ, что самое интересное, на этом можно поймать кучу глюков, если не готов к такому режиму работы.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782612
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneВерсионность нужна для другого. Основная идея в том, что в 2-х транзакциях может быть инсерт с одинаковым первичным ключем и это пройдет (на момнет инсерта), а вот на момент коммита - какая-то транзакция отроллбэчится (если в это время не сделали удаления одного из первичных ключей, конечно).Это называется DEFERRED CONSTRAINTS CHECKING и версионность тут не при чём.

WarstoneЗа счет этого можно читать и писать одновременно. Без блокировок. Это в теории, если я правильно понят то, что об этом читал.Без обид, перечитайте ещё несколько раз.
Ну и про версионность тоже не помешает :)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782626
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!тут у нас транзакция видит изменения которая внесла, в тригере не видит
Опять ты зарапортовался и пропустил statement. DML это statement. Statement не видит
изменения которые внёс. И триггеру тоже их видеть ни к чему.

Warstone
Основная идея в том, что в 2-х транзакциях может быть инсерт с одинаковым первичным ключем
и это пройдет (на момнет инсерта), а вот на момент коммита - какая-то транзакция
отроллбэчится (если в это время не сделали удаления одного из первичных ключей, конечно).

Нет, это работа для deferred constraints, которым версионность - с боку припека.

Версионность это всего лишь один из способов реализовать принцип "писатели не блокируют
читателей".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782713
Фотография roden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneSergSuperкаждый конект видит свою версию БДИ, что самое интересное, на этом можно поймать кучу глюков, если не готов к такому режиму работы.
+1
Но что ещё более интересно. пока эти глюки не поймаешь, не поймешь что конкретно тупит: мозг, логика или СУБД ;)
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782742
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad]Это называется DEFERRED CONSTRAINTS CHECKING
А она есть в планах для FB?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782833
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemanahvladЭто называется DEFERRED CONSTRAINTS CHECKING
А она есть в планах для FB?Пока нет.
На моей памяти это просили лишь пару раз.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782901
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladartemanahvladЭто называется DEFERRED CONSTRAINTS CHECKING
А она есть в планах для FB?Пока нет.
На моей памяти это просили лишь пару раз.
Вещь конечно сильно спецефическая, нужная только системам репликации, наверное.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782937
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Вещь конечно сильно спецефическая, нужная только системам репликации, наверное.

Отдельным типам репликаторов - да. Но их мало. Собственно, из тех, которые не "только для
внутреннего употребления" мне таковые вообще неизвестны.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782944
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
artemana
Вещь конечно сильно спецефическая, нужная только системам репликации, наверное.

Отдельным типам репликаторов - да. Но их мало. Собственно, из тех, которые не "только для
внутреннего употребления" мне таковые вообще неизвестны.

Про свой забыл? По моему ему и любым другим было бы 'приятно', если бы система могла проверять fk и unique не для каждой операции, а при commit. Конфликтов было бы меньше.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782958
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
Про свой забыл? По моему ему и любым другим было бы 'приятно', если бы система могла
проверять fk и unique не для каждой операции, а при commit. Конфликтов было бы меньше.

Приятно - может быть. Но в штатном режиме мой репликатор как и любой другой, построенный
на логах не нарушает какие-либо констрейны. Отложенные констрейны нужны тем репликаторам,
которые работают без лога, на флагах или сравнении содержимого. Но как я уже сказал: если
кто-нибудь таковые на рынке знает - просветите. Мне не встречались.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782975
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
artemana
Про свой забыл? По моему ему и любым другим было бы 'приятно', если бы система могла
проверять fk и unique не для каждой операции, а при commit. Конфликтов было бы меньше.

Приятно - может быть. Но в штатном режиме мой репликатор как и любой другой, построенный
на логах не нарушает какие-либо констрейны.
У тебя лог не полный, ты знаешь текущее состояния записи, а не то, каким оно было на момент операции. А значит есть ситуации когда внутри транзакции констрайны нарушаются и ты с этим в штатном режиме не справляешься . Сам же рассказывал. Или я где то тебя не правильно понял в обозначение границ "штатного режима работы"?
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782978
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Отдельным типам репликаторов - да. Но их мало. Собственно, из тех, которые не "только для
внутреннего употребления" мне таковые вообще неизвестны.
А вот в Постгре есть механизм WAL. Который ведет журнал изменений и его можно проигрывать или для восстановления базы или для репликации. В 9.0 (Сейчас бета4 или уже бета 5... В сентябре будет релиз, скорей всего) доставка WAL на запасной сервер будет оптимизирована и "практически" моментальная. Таким образом в Пг появится нативная master-slave репликация с hot stand. Это отбрасывает необходимость "сторонних репликантов".
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782982
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЭто называется DEFERRED CONSTRAINTS CHECKING и версионность тут не при чём.

Без обид, перечитайте ещё несколько раз.
Ну и про версионность тоже не помешает :)Ну ИМХО DEFERRED легче отрабатывается на версионнике.

Конечно перечитаю. Я вообще к версионности относился так: Это такая штука, которая позволяет не делать блокировки. Но проблемы с ней будут на коммитах. Если у меня не будет откатов транзакций, то все будет хорошо. Если будут - надо разбираться - почему откатилось и что делать. Но это как и везде.

Кстати, просветите насчет мсскл: У него до сих пор блокировки на чтение и "желательно не делать долгих селектов, так как это катастрофически сказывается на производительности всего сервера"
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782984
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstone
Кстати, просветите насчет мсскл: У него до сих пор блокировки на чтение и "желательно не делать долгих селектов, так как это катастрофически сказывается на производительности всего сервера"

Версионник с 2005 года (ну может чуть позже). Вернее гибрид.
Про реализацию можно долго спорить. Если собираешься затеять срач на тему истинной версионности, пойду за попкорном
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36782992
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artemana
А значит есть ситуации когда внутри транзакции констрайны нарушаются и ты с этим в штатном
режиме не справляешься. Сам же рассказывал.

Ну да, есть такая буква... Но, IMHO, оно не стоит того, чтобы вводить deferred
constraints. У них цена уж больно велика (если мне мой нюх не изменяет). Т.е. в простейших
случаях всё может быть и ништяк, но как я представлю транзакцию, внутри которой пара
миллионов DML и данные несколько раз проходят инвалидные состояния...

WarstoneТаким образом в Пг появится нативная master-slave репликация с hot stand.
Это отбрасывает необходимость "сторонних репликантов".
Щаззз... Оптимизм. WAL это просто отлично для простейшего standby в локалке.
Но в жизни кому ни попадя нужна неполная multimaster репликация, и вот тут-то WAL-а
становится недостаточно. Простейший случай: филиалы, в которых находится "урезанная" база,
обмениваются изменениями с центральной, причём часть данных, поступающих из филиалов
должна-таки не только попадать в центр, но и уходить в остальные филиалы.

Вон, у того же мускуля WAL уже давно есть, а мультимастер репликация ограничена ровно
двумя мастерами, причём один slave не может принимать изменения с двух мастеров одновременно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783035
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)Версионник с 2005 года (ну может чуть позже). Вернее гибрид.
Про реализацию можно долго спорить. Если собираешься затеять срач на тему истинной версионности, пойду за попкорномЯ-бы удовлетворился ссылочками на то какой он гибрид и какой блокировочник. Мне для общего образования.Dimitry SibiryakovЩаззз... Оптимизм.Да, согласен, мультимастера нету на нативном уровне. Да и его сложно сделать вообще-то. Хотя если сиквенсы настроить на чередование, логгировать только изменения и данные с других мастеров - readonly... Ну да это все не мне вам рассказывать. Наверняка не один раз такое делали.
Тут, кстати, Хранимки опять-таки дают большой плюс к возможности масштабирования =))
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783056
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneДа и его сложно сделать вообще-то.

На нативном уровне - сложно. На стороннем - как два пальца об асфальт. Всего-то две
проблемы решить:
1) Глобально-уникальные ключи
2) Предотвращение data bounce

Первое тривиально делается разнесением диапазонов у последовательностей или (не мелочась)
гуидами, а второе обычно магией пользовательских имён.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783061
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneНу ИМХО DEFERRED легче отрабатывается на версионнике.А на чём основано это мнение ?

WarstoneКонечно перечитаю. Я вообще к версионности относился так: Это такая штука, которая позволяет не делать блокировки. Но проблемы с ней будут на коммитах. Если у меня не будет откатов транзакций, то все будет хорошо. Если будут - надо разбираться - почему откатилось и что делать. Но это как и везде.Я вам рекомендую сначала хоть что-то почитать о версионности, хотя бы что-то об известных практических реализациях, а уж потом высказываться публично.
Ибо уже даже не улыбает.
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783254
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WarstoneЯ-бы удовлетворился ссылочками на то какой он гибрид и какой блокировочник. Мне для общего образования.

Начать можно отсюда .
Продолжать в BOL
...
Рейтинг: 0 / 0
MySQL и Firebird для Web
    #36783585
Фотография artemana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
.. Но, IMHO, оно не стоит того, чтобы вводить deferred
constraints. У них цена уж больно велика (если мне мой нюх не изменяет). Т.е. в простейших
случаях всё может быть и ништяк, но как я представлю транзакцию, внутри которой пара
миллионов DML и данные несколько раз проходят инвалидные состояния...


Но и архи сложного вроде ничего нет. Внутри транзакции небольшой журнальчик, содержащий сведения только о тех записях, которые размещены транзакцией в ‘невалидном’ состоянии. Перед основными действиями по окончание транзакции пройти по этому журналу и еще раз выполнить проверку на ‘валидность’ каждой записи.

Кстати, этот так называемый DEFERRED, в таком или другом виде вроде работает для методанных, то есть внутри транзакции можно объявить ‘невалидную’ процедуру, а если к концу транзакции дополнить методанные базы необходимыми процедуре объектами, то транзакция завершится успешно.
...
Рейтинг: 0 / 0
25 сообщений из 287, страница 11 из 12
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / MySQL и Firebird для Web
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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