powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Чем плох блокировочник по сравнению с версионником?
25 сообщений из 370, страница 12 из 15
Чем плох блокировочник по сравнению с версионником?
    #38959830
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinКазалось бы, причем здесь SERIALIZABLE TIL?!
При том, что, согласно ПГанонимусу, он сериализует транзакции, что делает невозможным
конфликты и дедлоки в принципе.

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

Dimitry SibiryakovPgSQLAnonymousПочему ты в этом уверен?
Потому что так работают все биржи. Баланс контролируется только по закрытию торгов.

А биржа тут причём? Речь идёт об обработке у брокера .
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959844
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

авторПри том, что, согласно ПГанонимусу, он сериализует транзакции, что делает невозможным
конфликты и дедлоки в принципе.

Видимо я не внимательно читал топик, что не увидел такой трактовки сериализации от указанного автора.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959853
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PgSQLAnonymousЧто ты несёшь?! Я никогда такого не говорил!
А вот это тогда чьё?

PgSQLAnonymous Если тебе так нравится этот журнал, я оттуда поцитирую
http://en.wikipedia.org/wiki/ACID :
The isolation property ensures that the concurrent execution of transactions results
in a system state that would be obtained if transactions were executed serially, i.e., one
after the other.

Какие могут быть дедлоки при выполнении транзакций "one after the other"?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959856
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovPgSQLAnonymousЧто ты несёшь?! Я никогда такого не говорил!
А вот это тогда чьё?

PgSQLAnonymous Если тебе так нравится этот журнал, я оттуда поцитирую
http://en.wikipedia.org/wiki/ACID :
пропущено...


Какие могут быть дедлоки при выполнении транзакций "one after the other"?..


А зачем сюда притаскивать за уши дедлоки, если здесь описан результат применения SERIALIZABLE - после выполнения двух транзакций хоть как последовательно, так и параллельно, система имеет одно и тоже конечное состояние?
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959864
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv11 страниц для такого простого вопроса многовато...
да тут нам serializable впаривают как панацею.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959869
PgSQLAnonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovPgSQLAnonymousЧто ты несёшь?! Я никогда такого не говорил!
А вот это тогда чьё?

PgSQLAnonymous Если тебе так нравится этот журнал, я оттуда поцитирую
http://en.wikipedia.org/wiki/ACID :
пропущено...


Какие могут быть дедлоки при выполнении транзакций "one after the other"?..

Да обычные, потому что не "выполнении транзакций one after the other", а would be obtained if transactions were executed serially. То есть идентичное состояние было бы получено, если бы транзакции выполнялись последовательно, одна за другой.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959871
PgSQLAnonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvMasterZiv11 страниц для такого простого вопроса многовато...
да тут нам serializable впаривают как панацею.
Потому что он ею и является, сюрприз. ;)
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959874
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PgSQLAnonymousДа обычные, потому что не "выполнении транзакций one after the
other", а would be obtained if transactions were executed serially. То есть идентичное
состояние было бы получено, если бы транзакции выполнялись последовательно, одна за
другой.
Ну так я повторяю вопрос: как можно получить состояние, идентичное дэдлоку при
последовательном выполнении транзакций?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959876
зз топ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PgSQLAnonymousЕсли тебе так нравится этот журнал, я оттуда поцитирую http://en.wikipedia.org/wiki/ACID :
The isolation property ensures that the concurrent execution of transactions results in a system state
that would be obtained if transactions were executed serially, i.e., one after the other.

Цитата приведена не полностью. Там дальше еще есть:
Depending on concurrency control method (i.e. if it uses strict - as opposed to relaxed - serializability), the effects of an incomplete transaction might not even be visible to another transaction.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959904
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PgSQLAnonymous,

тебе с порога было написано: вместо пересекающихся по конкурентам сущностей-- "агрегатов" Счет [Клиента|Брокера], должны быть индивидуальные Сущности "СчетКлиентаУБрокера". точка.

никаких агрегатных [по всем клиентам] сущностей. Пока можно агрегировать "счет брокера" в моменте. Как только уже нельзя -- долго агрегировать -- так начинаем чесать репу.

чесать репувыход 1 -- организовать очередь на агрегирующем ресурсе, с инкрементальным навариванием "ресурса" [read commited only]. Ограниченно годен -- при большом числе конкурентов и большой длине "слайса очереди" (т.е. средней протяженности от захвата ресурса до коммита, отдающего очередь) встанет колом.

выход 2 -- не иметь уникального агрегирующего ресурса "СчетБрокера", а иметь "размазанный, периодически сворачиваемый" "многострочный" агрегат , нужно следить за видимостями при свёртках (можно сворачивать и в снепшоте (repeatable-read-е), как показывал сибиряков, можно сворачивать в commited-е -- по всякому, в pg -- в т.ч. через cte -- у которого единый снепшот [WITH del AS (DELETE ... RETURNING...) ]. а вот с сериалайзебл будет велик шанс облома сериализации. патамушто гладиолус).

и т.п.


простите отвлёкся работкой, забыл запостить
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959971
PgSQLAnonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovPgSQLAnonymousДа обычные, потому что не "выполнении транзакций one after the
other", а would be obtained if transactions were executed serially. То есть идентичное
состояние было бы получено, если бы транзакции выполнялись последовательно, одна за
другой.
Ну так я повторяю вопрос: как можно получить состояние, идентичное дэдлоку при
последовательном выполнении транзакций?

А нет никакого состояния базы, "идентичного дэдлоку". ;)
База переходит из одного консистентного состояния в другое только по COMMIT-ам транзакций.
У меня ощущение, что пересказываю базовые вещи.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959979
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PgSQLAnonymousА нет никакого состояния базы, "идентичного дэдлоку". ;)
Отсюда следует, что транзакции, впадающие в дэдлок - не serializable.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38959991
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

нет, просто понятие "состояние базы" в контексте про сериализацию -- это некая обсракция [~~~#состояние данных#], отличная от физического понятия "состояние базы и её СУБД", которым пытаетесь оперировать вы

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

они (как, объекты вне окружения, self) таки приводятся в чувство процедурой снятия одной из 2-х и выстраиванием её в хвост к закоммиченной. т.е. serializable.
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38960036
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эттаони (как, объекты вне окружения, self) таки приводятся в чувство процедурой
снятия одной из 2-х и выстраиванием её в хвост к закоммиченной. т.е. serializable.
А снимать её, такую всю без окружения, а потом ещё и повторять полностью от начала - кто
будет?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38960039
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovэттаони (как, объекты вне окружения, self) таки приводятся в чувство процедурой
снятия одной из 2-х и выстраиванием её в хвост к закоммиченной. т.е. serializable.
А снимать её, такую всю без окружения, а потом ещё и повторять полностью от начала - кто
будет?..


"PgSQLAnonymous" же
ему оно упало -- вот пусть и колупается
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38960048
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ps а снимет-то -- пж
снимет легко
у него это в serializable не заржавеет

ононимусу только повторять придется.

и так --100499 раз в 100500/2 в среднем транзакциях
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38960074
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эттаPgSQLAnonymous,
у вас ус отклеился

у вас там таблички N непришейкобылехвост. [стюдент рука--лицо ]

и да -- в пж при сериалайзебл будет откат второй
Код: plaintext
1.
2.
ОШИБКА:  не удалось сериализовать доступ из-за зависимостей чтения/записи между транзакциями
DETAIL:  Reason code: Canceled on identification as a pivot, during write.
HINT:  Транзакция может завершиться успешно при следующей попытке.

а при repeatable read -- количество во второй будет соответствовать снепшоту при старте, а не нормальному, при read commited текущему состоянию.

резюме -- те, кто не умеют писать серверную логику [полк их надысь пополнился випросом] -- хотят сериалазебла, чтобы клиентская реализация чисто серверного функционала хоть как-то ползала.

кто умеет -- пишут инкрементальную, а не агрегатную логику на сервере, и требуют именно readcommited-а, а не маргинальных снапшотов и т.п.

все маргинальные уровни изоляции требуются только для развесистых агрегатов типа отчетов по плохо связанным наборам. -- чтобы синхронизировать снапшоты отдельных расчётов

клиентов много, пишущие их разной квалификации и т.д.
создание и управление "золотой записи" (как в МДМ) святой долг СУБД, но для этого СУБД должна себе представлять, что такое "золотая запись" и какие правила ее формирования
имеющегося набора всяких чахлых констрейнтов и т.д. инструментария не хватает для интерпретации данных со стороны СУБД
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38960126
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PgSQLAnonymousИ, кстати, знай добавляй RAM и "будет расти iops-ы". ;)
это как? можно поподробнее?
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38960131
PgSQLAnonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
эттаDimitry Sibiryakovпропущено...

А снимать её, такую всю без окружения, а потом ещё и повторять полностью от начала - кто
будет?..


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

Ага, это мне напомнило времена, когда тут ещё появлялись Фокспрошники: "нашей СУБД не
нужны транзакции, мы легко эмулируем их с помощью временных таблиц".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38960164
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovInfernal V. RavenНу так обоснуйте.
Обосновываю: существует всего два вероятных исхода: "блондинка встретит динозавра" и
"блондинка не встретит динозавра". Согласно теории вероятности, вероятность каждого
отдельного исхода равна единице, делённой на число возможных исходов. Следовательно, у
блондинки есть вероятность 50% на встречу с динозавром. Сможете опровергнуть?


так это ведь только в самом общем случае при отсутствии информации о популяции блондинок и динозавров
...
Рейтинг: 0 / 0
Чем плох блокировочник по сравнению с версионником?
    #38960192
этта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanyock2Dimitry Sibiryakovпропущено...

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


так это ведь только в самом общем случае при отсутствии информации о популяции блондинок и динозавров

зачем вы спорите с бредом.

оступление 1:
есть примитивный способ отъёма денех -- бросается 3 кубика, исходы -- от 3 до 18 побиты на 3 неравные части. банкующий сидит на короткой средней стороне (где мало исходов), игроку предлагает любую другую (из 3-х), но в среднем выигрывает сам.

поскольку его исходы комбинаторно более значимы.



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


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