|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
pkarklinКазалось бы, причем здесь SERIALIZABLE TIL?! При том, что, согласно ПГанонимусу, он сериализует транзакции, что делает невозможным конфликты и дедлоки в принципе. PgSQLAnonymousПочему ты в этом уверен? Потому что так работают все биржи. Баланс контролируется только по закрытию торгов. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 14:04 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovpkarklinКазалось бы, причем здесь SERIALIZABLE TIL?! При том, что, согласно ПГанонимусу, он сериализует транзакции, что делает невозможным конфликты и дедлоки в принципе. Что ты несёшь?! Я никогда такого не говорил! Как раз конфликты и дедлоки при сериализации неизбежны в некоторых ситуациях. Dimitry SibiryakovPgSQLAnonymousПочему ты в этом уверен? Потому что так работают все биржи. Баланс контролируется только по закрытию торгов. А биржа тут причём? Речь идёт об обработке у брокера . ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 14:14 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, авторПри том, что, согласно ПГанонимусу, он сериализует транзакции, что делает невозможным конфликты и дедлоки в принципе. Видимо я не внимательно читал топик, что не увидел такой трактовки сериализации от указанного автора. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 14:15 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 14:25 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovPgSQLAnonymousЧто ты несёшь?! Я никогда такого не говорил! А вот это тогда чьё? PgSQLAnonymous Если тебе так нравится этот журнал, я оттуда поцитирую http://en.wikipedia.org/wiki/ACID : пропущено... Какие могут быть дедлоки при выполнении транзакций "one after the other"?.. А зачем сюда притаскивать за уши дедлоки, если здесь описан результат применения SERIALIZABLE - после выполнения двух транзакций хоть как последовательно, так и параллельно, система имеет одно и тоже конечное состояние? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 14:28 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
MasterZiv11 страниц для такого простого вопроса многовато... да тут нам serializable впаривают как панацею. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 14:34 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
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. То есть идентичное состояние было бы получено, если бы транзакции выполнялись последовательно, одна за другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 14:40 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
kdvMasterZiv11 страниц для такого простого вопроса многовато... да тут нам serializable впаривают как панацею. Потому что он ею и является, сюрприз. ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 14:41 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymousДа обычные, потому что не "выполнении транзакций one after the other", а would be obtained if transactions were executed serially. То есть идентичное состояние было бы получено, если бы транзакции выполнялись последовательно, одна за другой. Ну так я повторяю вопрос: как можно получить состояние, идентичное дэдлоку при последовательном выполнении транзакций? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 14:42 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 14:43 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymous, тебе с порога было написано: вместо пересекающихся по конкурентам сущностей-- "агрегатов" Счет [Клиента|Брокера], должны быть индивидуальные Сущности "СчетКлиентаУБрокера". точка. никаких агрегатных [по всем клиентам] сущностей. Пока можно агрегировать "счет брокера" в моменте. Как только уже нельзя -- долго агрегировать -- так начинаем чесать репу. чесать репувыход 1 -- организовать очередь на агрегирующем ресурсе, с инкрементальным навариванием "ресурса" [read commited only]. Ограниченно годен -- при большом числе конкурентов и большой длине "слайса очереди" (т.е. средней протяженности от захвата ресурса до коммита, отдающего очередь) встанет колом. выход 2 -- не иметь уникального агрегирующего ресурса "СчетБрокера", а иметь "размазанный, периодически сворачиваемый" "многострочный" агрегат , нужно следить за видимостями при свёртках (можно сворачивать и в снепшоте (repeatable-read-е), как показывал сибиряков, можно сворачивать в commited-е -- по всякому, в pg -- в т.ч. через cte -- у которого единый снепшот [WITH del AS (DELETE ... RETURNING...) ]. а вот с сериалайзебл будет велик шанс облома сериализации. патамушто гладиолус). и т.п. простите отвлёкся работкой, забыл запостить ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 15:00 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovPgSQLAnonymousДа обычные, потому что не "выполнении транзакций one after the other", а would be obtained if transactions were executed serially. То есть идентичное состояние было бы получено, если бы транзакции выполнялись последовательно, одна за другой. Ну так я повторяю вопрос: как можно получить состояние, идентичное дэдлоку при последовательном выполнении транзакций? А нет никакого состояния базы, "идентичного дэдлоку". ;) База переходит из одного консистентного состояния в другое только по COMMIT-ам транзакций. У меня ощущение, что пересказываю базовые вещи. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 15:41 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymousА нет никакого состояния базы, "идентичного дэдлоку". ;) Отсюда следует, что транзакции, впадающие в дэдлок - не serializable. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 15:46 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, нет, просто понятие "состояние базы" в контексте про сериализацию -- это некая обсракция [~~~#состояние данных#], отличная от физического понятия "состояние базы и её СУБД", которым пытаетесь оперировать вы оперируйте пожалуйста обсракциями здорового человека ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 15:53 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
эттаоперируйте пожалуйста обсракциями здорового человека Да нет проблем: две параллельные транзакции, впавшие в дэдлок, не могут быть закоммичены. Следовательно, они не могут привести БД в состояние, в которое они привели бы её, если бы выполнялись последовательно. Следовательно, такие транзакции - не serializable. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 15:58 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovэттаоперируйте пожалуйста обсракциями здорового человека Да нет проблем: две параллельные транзакции, впавшие в дэдлок, не могут быть закоммичены. Следовательно, они не могут привести БД в состояние, в которое они привели бы её, если бы выполнялись последовательно. Следовательно, такие транзакции - не serializable. не-а вы оперируете не обсракцией здорового человек "транзакция" а обсракцией курильщика "транзакция в конкретном конкурентном окружении" они (как, объекты вне окружения, self) таки приводятся в чувство процедурой снятия одной из 2-х и выстраиванием её в хвост к закоммиченной. т.е. serializable. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 16:17 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
эттаони (как, объекты вне окружения, self) таки приводятся в чувство процедурой снятия одной из 2-х и выстраиванием её в хвост к закоммиченной. т.е. serializable. А снимать её, такую всю без окружения, а потом ещё и повторять полностью от начала - кто будет?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 16:20 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovэттаони (как, объекты вне окружения, self) таки приводятся в чувство процедурой снятия одной из 2-х и выстраиванием её в хвост к закоммиченной. т.е. serializable. А снимать её, такую всю без окружения, а потом ещё и повторять полностью от начала - кто будет?.. "PgSQLAnonymous" же ему оно упало -- вот пусть и колупается ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 16:22 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
ps а снимет-то -- пж снимет легко у него это в serializable не заржавеет ононимусу только повторять придется. и так --100499 раз в 100500/2 в среднем транзакциях ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 16:25 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
эттаPgSQLAnonymous, у вас ус отклеился у вас там таблички N непришейкобылехвост. [стюдент рука--лицо ] и да -- в пж при сериалайзебл будет откат второй Код: plaintext 1. 2.
а при repeatable read -- количество во второй будет соответствовать снепшоту при старте, а не нормальному, при read commited текущему состоянию. резюме -- те, кто не умеют писать серверную логику [полк их надысь пополнился випросом] -- хотят сериалазебла, чтобы клиентская реализация чисто серверного функционала хоть как-то ползала. кто умеет -- пишут инкрементальную, а не агрегатную логику на сервере, и требуют именно readcommited-а, а не маргинальных снапшотов и т.п. все маргинальные уровни изоляции требуются только для развесистых агрегатов типа отчетов по плохо связанным наборам. -- чтобы синхронизировать снапшоты отдельных расчётов клиентов много, пишущие их разной квалификации и т.д. создание и управление "золотой записи" (как в МДМ) святой долг СУБД, но для этого СУБД должна себе представлять, что такое "золотая запись" и какие правила ее формирования имеющегося набора всяких чахлых констрейнтов и т.д. инструментария не хватает для интерпретации данных со стороны СУБД ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 16:47 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymousИ, кстати, знай добавляй RAM и "будет расти iops-ы". ;) это как? можно поподробнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 17:23 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
эттаDimitry Sibiryakovпропущено... А снимать её, такую всю без окружения, а потом ещё и повторять полностью от начала - кто будет?.. "PgSQLAnonymous" же ему оно упало -- вот пусть и колупается Ну а кто же ещё будет повторять-то? ;) Естественно, клиент. Более того, каждый клиент в норме обязан быть готов это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 17:26 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymousЕстественно, клиент. Более того, каждый клиент в норме обязан быть готов это сделать. Ага, это мне напомнило времена, когда тут ещё появлялись Фокспрошники: "нашей СУБД не нужны транзакции, мы легко эмулируем их с помощью временных таблиц". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 17:49 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovInfernal V. RavenНу так обоснуйте. Обосновываю: существует всего два вероятных исхода: "блондинка встретит динозавра" и "блондинка не встретит динозавра". Согласно теории вероятности, вероятность каждого отдельного исхода равна единице, делённой на число возможных исходов. Следовательно, у блондинки есть вероятность 50% на встречу с динозавром. Сможете опровергнуть? так это ведь только в самом общем случае при отсутствии информации о популяции блондинок и динозавров ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 17:51 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
sanyock2Dimitry Sibiryakovпропущено... Обосновываю: существует всего два вероятных исхода: "блондинка встретит динозавра" и "блондинка не встретит динозавра". Согласно теории вероятности, вероятность каждого отдельного исхода равна единице, делённой на число возможных исходов. Следовательно, у блондинки есть вероятность 50% на встречу с динозавром. Сможете опровергнуть? так это ведь только в самом общем случае при отсутствии информации о популяции блондинок и динозавров зачем вы спорите с бредом. оступление 1: есть примитивный способ отъёма денех -- бросается 3 кубика, исходы -- от 3 до 18 побиты на 3 неравные части. банкующий сидит на короткой средней стороне (где мало исходов), игроку предлагает любую другую (из 3-х), но в среднем выигрывает сам. поскольку его исходы комбинаторно более значимы. теория вероятности не устанавливает вероятности какого либо исхода. они полагаются априорно известными. (например в комбинаторных задачах -- по числу комбинаций примитивных событий приводящих к исходу. от общего числа комбинаций). или считается известной (или хотя бы определённой) плотность вероятности (равномерная по комбинациям [но не исходам] -- в случае комбинаторных задач). ну и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 18:07 |
|
|
start [/forum/topic.php?fid=35&msg=38960004&tid=1552327]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 237ms |
total: | 379ms |
0 / 0 |