powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Чем плох блокировочник по сравнению с версионником?
25 сообщений из 370, страница 8 из 15
Чем плох блокировочник по сравнению с версионником?
    #38957882
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
осторожно интересуюсьа организовать примитивную очередь --- никак ?
Interbase служит для хранения и обработки данных. Для организации очередей есть более
другой софт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957892
Dimitry Sibiryakovосторожно интересуюсьа организовать примитивную очередь --- никак ?
Interbase служит для хранения и обработки данных. Для организации очередей есть более
другой софт.


для чего мне нужна очередь на ресурс -- я вас вообще то не спрашивал.
спасибо.

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

или в интербейс есть "более другие" [не надо вводить это в обыденность, это таки речевая ошибка светы из иваново] методы подсчета таких инкрементально навариваемых агрегатов ?

если есть -- то какие ? (факультативный интерес, да. к маргинальным технологиям, да.)
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957897
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
осторожно интересуюсьесли есть -- то какие ?
Например такие:
http://www.sql.ru/forum/964534/hranimye-agregaty-bez-konfliktov-i-blokirovok-recept?hl=
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957917
Dimitry Sibiryakov,
смотрб на первый пост, и задаюсь вопросом -- а что. между подсчетом тотала в первом стейтменте и делетом -- никто не может вставить и закоммитить запись ?
почему ?

а если может -- то в тотал сумма не попадёт, а в делете (в стандартном read commited) -- очень может. Или у вас снепшот для всех стейтментов определен началом транзакции ? как уровень изоляции зовётся ?

-- т.е. я такое умею в пж в read commited, но я по суррогатному id удаляю. чтобы лишнего не хапнуть.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957923
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
осторожно интересуюсь,

а какая проблема со снапшотом? Главное чтобы он долгим не был. И как раз хранимые агрегаты помогают в этом.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957928
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
осторожно интересуюсьИли у вас снепшот для всех стейтментов определен началом
транзакции ? как уровень изоляции зовётся ?
Зовётся "concurency" и является умолчательным уровнем изоляции от начала времён.
Соответствует свежеизобретённому в MS "snapshot".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957929
Dimitry Sibiryakovосторожно интересуюсьесли есть -- то какие ?
Например такие:
http://www.sql.ru/forum/964534/hranimye-agregaty-bez-konfliktov-i-blokirovok-recept?hl=

для неаддитивных агрегатов -- не взлетит.

печалька.

а я кое где люблю иметь неаддитивтные (неперестановочные) array-и в агрегатных полях -- в порядке денормализации, позволяющей хитромудрые поисковые индексы по разным комбинациям полей и выражений. в основном -- функциональные. Часто -- условные. Да и полей -- поболее одного
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957934
Симонов Денисосторожно интересуюсь,

а какая проблема со снапшотом? Главное чтобы он долгим не был. И как раз хранимые агрегаты помогают в этом.
до "repeatable read" я предпочитаю без нужды не подыматься, почти всегда можно и в "read commited" либо на суррогатах чеки, либо на служебных xmin/xmax выстроить.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957937
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
осторожно интересуюсья кое где люблю иметь неаддитивтные (неперестановочные)
array-и в агрегатных полях -- в порядке денормализации, позволяющей хитромудрые поисковые
индексы по разным комбинациям полей и выражений
Но деталями ты, конечно же, не поделишься.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957944
Dimitry Sibiryakovосторожно интересуюсья кое где люблю иметь неаддитивтные (неперестановочные)
array-и в агрегатных полях -- в порядке денормализации, позволяющей хитромудрые поисковые
индексы по разным комбинациям полей и выражений
Но деталями ты, конечно же, не поделишься.

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

используется вынужденно, типа "поисковое матвью" под поисковые запросы, плохо ложащиеся на изначальную модель данных (запросы с учетом порядка операций по объекту -- и индексы -- по функциям, от порядка в т.ч.).
всё сделано хендджобом, т.к. матвью "из корбки" пока куцые.

скучная проза жызни одним словом.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957959
PgSQLAnonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ggg_oldТопикстартеру рекомендую почитать хорошую инженерную статью, где уже все давно разложено:

SQLPERFOMANCE.com:The SNAPSHOT Isolation Level
Кстати да, статья хорошая.
Только про SSI там ничего, естественно, нет. Про него можно прочитать здесь https://wiki.postgresql.org/wiki/SSI и далее по ссылкам.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957968
PgSQLAnonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovосторожно интересуюсьа какими словесами и абстракциями он будет оформлен.
update обломится с ошибкой "update conflict" либо сразу, либо после коммита первой
транзакции в зависимости от параметров транзакции (которых у Interbase гораздо больше чем
только уровень изоляции).


А вот это вот "сразу" и ожидание "после коммита первой" за счёт чего достигается? ;)

Я вот тут что-то нашёл про Interbase:
When your transaction updates an existing row your transaction places a row level write lock on that row until the transaction ends. This prevents another transaction from updating the same row before your transaction either commits or rolls back. The lock resolution setting determines what happens to the other transaction when it tries to update a row that your transaction has locked.

По-моему, lock и ожидание --- это блокировка.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38957984
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PgSQLAnonymousА вот это вот "сразу" и ожидание "после коммита первой" за счёт чего
достигается? ;)
За счёт параметров транзакции wait/nowait.

PgSQLAnonymousЯ вот тут что-то нашёл про Interbase:
Где нашёл?

PgSQLAnonymousПо-моему, lock и ожидание --- это блокировка.

Да. Но эта блокировка не относится ни к строкам, ни к таблицам.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958004
PgSQLAnonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovPgSQLAnonymousА вот это вот "сразу" и ожидание "после коммита первой" за счёт чего
достигается? ;)
За счёт параметров транзакции wait/nowait.

Я имел в виду --- за счёт какого механизма?

Dimitry SibiryakovГде нашёл?


http://conferences.embarcadero.com/article/32280/

Dimitry SibiryakovДа. Но эта блокировка не относится ни к строкам, ни к таблицам.

В процитированном фрагменте 5 раз повторяется слово row и указан row level write lock.
То есть весь этот фрагмент неправильный?
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958013
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PgSQLAnonymousЯ имел в виду --- за счёт какого механизма?
Семафоры и события.

PgSQLAnonymousТо есть весь этот фрагмент неправильный?
Правильный. Только упрощённый для понимания чайниками. Не расписывать же
последовательность действий на три страницы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958022
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovPgSQLAnonymousЯ имел в виду --- за счёт какого механизма?
Семафоры и события.

PgSQLAnonymousТо есть весь этот фрагмент неправильный?
Правильный. Только упрощённый для понимания чайниками. Не расписывать же
последовательность действий на три страницы.

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

или вы думаете, что роу-лок в других субд реализован как мужик с пудовым замком , сидящий прямо на секторе диска с записью ?
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958031
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эттаили вы думаете, что роу-лок в других субд реализован как мужик с пудовым замком
, сидящий прямо на секторе диска с записью ?
Зачем думать, когда можно просто точно знать, что в лок-менеджере Interbase нет объекта
блокировки класса "запись"?.. "Страница", "транзакция", "таблица" и т.д. и т.п. - есть.
"Запись" - нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958050
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

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

но осуществляются же ?
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958053
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эттано осуществляются же ?
Нет, не осуществляются.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958070
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

то, что у вас аспергер -- я давно понял

т.е. вас спрашивать ни о чём не имеет смысла
бывает
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958079
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эттавас спрашивать ни о чём не имеет смысла
Ну, если мои ответы не укладываются в Ваше видение мира, это, конечно, достойный повод их
игнорировать. Зашоренность нынче в моде.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958120
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
осторожно интересуюсьпростите, а если в 5-ти транзакциях я захочу изменить одну и ту же запись , в порядке 1.2.3.4.5, так и не заккомитив ни одну из.
то что у меня произойдет, и в каком случае ?
при чем тут коммиты? На втором же апдейте той же записи, что уже изменена в какой-то предыдущей транзакции, ты или получишь повисание в режиме wait, или получишь отлуп в режиме nowait с сообщением "update confict ...".
Тут вам не MS SQL с его inserted/updated/deleted.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958121
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эттат.е. блокировки записей осуществляются помимо "официального" лок-манагера.
немного более другим механизмом
бываит.

но осуществляются же ?
вас, анонимов, не поймешь. Либо это чудик с PostgreSQL, который про его версионность вообще ничего не знает (или вообще про версионность), либо вы просто человек, впервые с версионностью столкнувшийся.

Популярно про версионность в InterBase/Firebird изложено в статьях на ibase.ru. Например, можно читать отсюда
http://www.ibase.ru/devinfo/mga.htm

а ответ на ваш вопрос -
если происходит попытка update, и у обновляемой записи обнаруживается версия, созданная другой активной транзакцией, то или выдается сообщение об обломе (в режиме nowait), или происходит повисание по wait с ожиданием результата завершения (commit/rollback) транзакции, которая успела обновить запись первой.

То есть, как таковых блокировок в версионнике нет вообще. Есть единственный конфликт - конфликт обновления одной и той же записи из двух активных транзакций. Причем, устанавливать какую-то там "блокировку" для этого случая нет необходимости. Новая версия записи, созданная первой транзакцией, и есть этот самый "индикатор блокировки".
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958122
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эттат.е. блокировки записей осуществляются помимо "официального" лок-манагера.
немного более другим механизмом
я еще добавлю, что по крайней мере в InterBase/Firebird "официальный лок-манагер" никак не виден на уровне записей.
Еще раз повторю, что в версионнике единственный конфликт - это обновление одной и той же записи из двух активных транзакций. Для этого, чтобы исключить все остальные конфликты между читателями и писателями, и придуман версионник.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38958162
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvосторожно интересуюсьпростите, а если в 5-ти транзакциях я захочу изменить одну и ту же запись , в порядке 1.2.3.4.5, так и не заккомитив ни одну из.
то что у меня произойдет, и в каком случае ?
при чем тут коммиты? На втором же апдейте той же записи, что уже изменена в какой-то предыдущей транзакции, ты или получишь повисание в режиме wait, или получишь отлуп в режиме nowait с сообщением "update confict ...".
Тут вам не MS SQL с его inserted/updated/deleted.т.е. первая транзакция "модифицирует" (термин , устраивающий курильщика) ресурс "изменяемая запись" таким образом, что он становится недоступен второй транзакции.
-- вот это и есть "блокировка записи" здорового человека. (а не наличие записи в официальном некрологе блокировок)


вот ещё интересно, что это за ресурс такой -- "транзакция" ?
или уровень-то он --"тарнзакции", а лочатся вполне себе реальные ресурсы ?
...
Рейтинг: 0 / 0
25 сообщений из 370, страница 8 из 15
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Чем плох блокировочник по сравнению с версионником?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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