powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Версионники и блокировочники
25 сообщений из 335, страница 13 из 14
Версионники и блокировочники
    #35445277
ппм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklin - я про определение IBM.
И ссылку дал
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445288
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ппмсколько бы раз запрос не повторялся в текущей транзакции, набор записей должен возвращатся неизменным
Согласен.
ппмстало быть,если insert может изменить этот набор данных, то такой insert не будет выполнен.
Это значит, всего лишь хреновую реализацию. В fb, например, insert не особо мешает паралельной транзакции при повторе запроса возврашать неизменный набор.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445295
Naju
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad NajuТранзакциями которые пишут, управляет "шедулер", который их не блокирует а пытается по возможности отложить их выполнение в случае конфликтов перестраивая очередь . Как транзакции конкурируют в очереди это и есть ноухау каждой MVCC базы.Можно пример из жизни ?

Вот статья
http://www.citforum.ru/database/articles/multiversion/

Поскольку эти технологии не достаточно открыты и нет четкой терминологии, тем не менее общие принципы и подход используют все БД, не все алгоритмы нам доступны, а тем более их реализации.

Поэтому примеры это те же MySQL, PostgreSQL для которых есть исходники, но что там и как конкретно я не знаю.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445305
ппм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreemanZAV - дык IBM имеет блокировочник.
И только в следующем году обещают доступ к last commited данным строки.
Что не мешает, собственно, решать задачи.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445311
ппм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня есть догадка, почему IBM так держится за блокировочник, но это только догадка.
Только из соображения производительности.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445318
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ппмFreemanZAV - дык IBM имеет блокировочник.
Хоть какое-то оправдание.
ппмЧто не мешает, собственно, решать задачи.
Ну это конечно
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445323
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЭто значит, всего лишь хреновую реализацию. В fb, например, insert не особо мешает паралельной транзакции при повторе запроса возврашать неизменный набор.

Гм... Тут, кмк, стоит все-таки указывать, при каких TIL выполняется читающая транзакция.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445357
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ппм пишет:

> FreemanZAV - почему плохо? Согласно определения RR, сколько бы раз
> запрос не повторялся в текущей транзакции, набор записей должен
> возвращатся неизменным, стало быть, если insert может изменить этот
> набор данных, то такой insert не будет выполнен.

Нет, набор ПОЛУЧЕННЫХ первый раз записей НЕ МОЖЕТ изменяться.
А вот НОВЫЕ записи, удовлетворяющие этим же условиям, могут
появляться (феномер фантомов). Так что INSERT можно разрешать на RR.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445674
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
А вот НОВЫЕ записи, удовлетворяющие этим же условиям, могут
появляться (феномер фантомов).

Этот "феномен", как уже сказал softwarer - всего лишь прогиб
стандарта под мелкомягкие реалии. Оттого эти "стандартные" определения
уровней изоляции всеми критикуются и не принимаются всерьёз.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445693
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЭтот "феномен", как уже сказал softwarer - всего лишь прогиб
стандарта под мелкомягкие реалии.
Ошибаешься, Дим. Этот феномен - прогиб стандарта под суровую реальность, в которой еще никто не додумался до способа организовать блокировку предикатов с устраивающей эффективностью. Стандарту приходится прогибаться и под чересчур "дубовые" блокировки, и под чересчур "оптимистичные" версии.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445891
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naju hvlad NajuТранзакциями которые пишут, управляет "шедулер", который их не блокирует а пытается по возможности отложить их выполнение в случае конфликтов перестраивая очередь . Как транзакции конкурируют в очереди это и есть ноухау каждой MVCC базы.Можно пример из жизни ?

Вот статья
http://www.citforum.ru/database/articles/multiversion/Я просил - из жизни.

NajuПоскольку эти технологии не достаточно открыты и нет четкой терминологии, тем не менее общие принципы и подход используют все БД, не все алгоритмы нам доступны, а тем более их реализации.Открою большой секрет - на www.ibase.ru достаточно информации и об алгоритмах, и о терминологии. На русском.
А на http://firebird.cvs.sourceforge.net/firebird/firebird2/ можно и реализацию найти.

NajuПоэтому примеры это те же MySQL, PostgreSQL для которых есть исходники, но что там и как конкретно я не знаю.Тогда не нужно ничего утверждать.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445892
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin FreemanZAVЭто значит, всего лишь хреновую реализацию. В fb, например, insert не особо мешает паралельной транзакции при повторе запроса возврашать неизменный набор.

Гм... Тут, кмк, стоит все-таки указывать, при каких TIL выполняется читающая транзакция.Не мешает - при любых. Если читатель - serializable, то insert ему тоже не помешает, ибо сам будет ждать окончания читателя.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35445962
Зл0й
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Dimitry SibiryakovЭтот "феномен", как уже сказал softwarer - всего лишь прогиб
стандарта под мелкомягкие реалии.
Ошибаешься, Дим. Этот феномен - прогиб стандарта под суровую реальность, в которой еще никто не додумался до способа организовать блокировку предикатов с устраивающей эффективностью. Стандарту приходится прогибаться и под чересчур "дубовые" блокировки, и под чересчур "оптимистичные" версии.

А зачем городить блокировку предикатов, если можно делать блокировку индексов? Ну а если разработчик не построил индекс - тады лочить таблицу целиком (криворукому разработчику по шее, масштабируемость при кривых руках всегда будет хреновая).
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446026
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladГм... Тут, кмк, стоит все-таки указывать, при каких TIL выполняется читающая транзакция.Не мешает - при любых. Если читатель - serializable, то insert ему тоже не помешает, ибо сам будет ждать окончания читателя.[/quot]

Гм... "при любых" и "Если читатель - serializable" подвигает меня к выводу, что в ib RR так же подвержен феномену фантомов, и уже получается, что не "при любых ...не особо мешает паралельной транзакции при повторе запроса возврашать неизменный набор"
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446042
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinподвигает меня к выводу, что в ib RR так же подвержен феномену фантомов,
Неожиданный и неверный вывод.

pkarklin уже получается, что не "при любых ...не особо мешает паралельной транзакции при повторе запроса возврашать неизменный набор
И ни чего не получается. В fb, наоборот возникают некотрые затруднения, если нужно заблокировать инсёрт для параллельной транзакции. Забавно, что люди делают выводы о том, о чём не имеют ни малейшего представления.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446070
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
Неожиданный и неверный вывод.

Т.е. RR в ib, как такового и нет?!И его заменяет SNAPSHOT, который, "якобы соответствует RR от ANSI SQL", за исключением того, что SNAPSHOT не обеспечивает видимость фантомов.

FreemanZAV
И ни чего не получается. В fb, наоборот возникают некотрые затруднения, если нужно заблокировать инсёрт для параллельной транзакции. Забавно, что люди делают выводы о том, о чём не имеют ни малейшего представления.

И эти "некоторые затруднения", насколько я понимаю, связана с отсутствием "честного" Serializable?!

Читаем:

Режимы транзакций сервера IBУровень изоляции SNAPSHOT.
Транзакция в момент старта получает "снимок" БД, который является неизменным до конца транзакции. Чтение данных, измененных конкурирующей транзакцией, разрешено, однако внесенные ей изменения не доступны. Попытка изменения данных, обновляемых другой транзакцией, приводит к конфликту (Deadlock, SQLCODE = -913). После завершения конкурирующих транзакций обновленные ими данные все равно изменять нельзя, поскольку полученный "снимок" уже не отражает текущего состояния БД (Deadlock. Update conflicts with concurrent update. SQLCODE = -913).

Оригинальная трактовка дедлока...
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446129
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinТ.е. RR в ib, как такового и нет?!
Там есть лучше.

pkarklinИ его заменяет SNAPSHOT, который, "якобы соответствует RR от ANSI SQ
И просто зашибись, что не соответсвует

pkarklin исключением того, что SNAPSHOT не обеспечивает видимость фантомов.
А от этого я вообще тащусь.

pkarklin И эти "некоторые затруднения"
Ну про затруднения я загнул немного,

pkarklin, насколько я понимаю, связана с отсутствием "честного" Serializable?!,
Я не пойму, нахрена нужно блокировать всё и вся, если можно нормально, по тихому, многократно читать одни и те же данные и при этом не мешать другим делать insert, например. Причём довольно странно, что некоторые это воспринимают как минус.
pkarklinОригинальная трактовка дедлока...
По моему, всё логично.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446156
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVТам есть лучше.
...
И просто зашибись, что не соответсвует
...
А от этого я вообще тащусь.

Лучше, зашибись и тащится можно когда есть и RR, и Serializable и Snapshot, как в MS SQL. ;)

FreemanZAVНу про затруднения я загнул немного,

Судя по всему, Вы не так далеки от истины.

FreemanZAVЯ не пойму, нахрена нужно блокировать всё и вся, если можно нормально, по тихому, многократно читать одни и те же данные и при этом не мешать другим делать insert, например. Причём довольно странно, что некоторые это воспринимают как минус.

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

FreemanZAVПо моему, всё логично.

Что-то я не вижу при одной читающей транзакции и одной с INSERT классической картины дедлока.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446175
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinЛучше, зашибись и тащится можно когда есть и RR, и Serializable и Snapshot, как в MS SQL. ;)
Особенно радует невозможность вставки записей в параллельных транзакциях.

pkarklin А ситуации в жизни, когда возникает именно необходимость блокировать, возникают, и не так уж и редко.
Да уж, заблокировать MS SQL может лего, а вот что делать, когда нет такой необходимости?
pkarklinЧто-то я не вижу при одной читающей транзакции и одной с INSERT классической картины дедлока.
Да потому что в fb читатель писателя не блокирует. Но, походу, MS SQL-щикам этого уже не понять никогда :(
pkarklinСудя по всему, Вы не так далеки от истины.
За бутылку хорошего конъяка заблокирую в fb что угодно (хорошее объявление получилось, прямо для газеты "Из рук в руки" :-))
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446190
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAV
Особенно радует невозможность вставки записей в параллельных транзакциях.

Да уж, заблокировать MS SQL может лего, а вот что делать, когда нет такой необходимости?

Да потому что в fb читатель писателя не блокирует. Но, походу, MS SQL-щикам этого уже не понять никогда :(

Гы... Кто-то чуть выше безапелляционно упрекнул меня в неимении нималейшего представления о TIL в ib. Позволю себе сделать тоже самое в Ваш адрес и отправить к документации:
http://msdn.microsoft.com/en-us/library/ms189122.aspx :)

FreemanZAVЗа бутылку хорошего конъяка заблокирую в fb что угодно (хорошее объявление получилось, прямо для газеты "Из рук в руки" :-))

Я сделаю это даром. ;)
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446196
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, совсем забыл, что в MS SQL 2005 появился таки Snapshot Isolation. Только чудится мну, что работает это всё только в версионном режиме
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446204
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVТолько чудится мну, что работает это всё только в версионном режиме

Про то, что Вам чудится, можно по-подробнее?
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446214
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я идумал, господа, так я и думал (с)
If you set the READ_COMMITTED_SNAPSHOT database option to ON, the database engine uses row versioning

Это на тему топика.


pkarklinПозволю себе сделать тоже самое в Ваш адрес и отправить к документации:
Вот только что читал http://msdn.microsoft.com/en-us/library/tcbchxcb(vs.80).aspx
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446223
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin FreemanZAVТолько чудится мну, что работает это всё только в версионном режиме

Про то, что Вам чудится, можно по-подробнее?

Да пож-а:
Once snapshot isolation is enabled, updated row versions for each transaction are maintained in tempdb.
...
Рейтинг: 0 / 0
Версионники и блокировочники
    #35446247
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVТак я идумал, господа, так я и думал (с)
If you set the READ_COMMITTED_SNAPSHOT database option to ON, the database engine uses row versioning

Это на тему топика.

Да пож-а:
Once snapshot isolation is enabled, updated row versions for each transaction are maintained in tempdb.

Гм... И к чему Вы привели эти цитаты?! В отличии от ib, MS SQL умеет работать и как версионник, и как блокировочник, и в смешанном режиме, когда при "включенной" версионности есть возможность наложения небходимых блокировок, т.е. возможность атомарного тютинга поведения.

Кмк, отличная возможность!
...
Рейтинг: 0 / 0
25 сообщений из 335, страница 13 из 14
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Версионники и блокировочники
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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