|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymousХм, а разве нет (я напомню, мы обсуждаем вариант "происходит повисание по wait с ожиданием результата")? Ну это ты мне скажи: "да, я именно это утверждаю" или "нет, я утверждаю совсем другое". Мой телепатер не справляется это угадать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2015, 17:45 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovэттав данном случае теряется возможность работать с записью. т.е. блокируется запись. этта-- ах, да , я-то про версию -- читать то что можно читать старую версию -- это естественно (её ж никто не лочил в версионнике) Ты этта... Определись что ли, блокируется таки запись или версия. Это как бэ не одно и тоже... тебе написали уже -- запись блокируется "на запись". ресурс для записи недоступен. когда я говорю SELECT ...FOR UPDATE -- я блокирую запись на запись но читать её я могу сколько угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2015, 18:30 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovPgSQLAnonymousХм, а разве нет (я напомню, мы обсуждаем вариант "происходит повисание по wait с ожиданием результата")? Ну это ты мне скажи: "да, я именно это утверждаю" или "нет, я утверждаю совсем другое". Мой телепатер не справляется это угадать. Я утверждаю, что подчёркнутое --- это блокировка: Dimitry Sibiryakovupdate обломится с ошибкой "update conflict" либо сразу, либо после коммита первой транзакции в зависимости от параметров транзакции То впечатление, что в InterBase "второй/третий/четвёртый писатель будут ждать события освобождения записи", я вынес из постов в этой теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2015, 19:23 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymousЯ утверждаю, что подчёркнутое --- это блокировка: Ну тогда привет, КО, открывший для себя, что даже в версионниках писатели блокируют писателей. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2015, 19:32 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovпосле коммита первой транзакции PgSQLAnonymousТо впечатление, что в InterBase "второй/третий/четвёртый писатель будут ждать события освобождения записи", я вынес из постов в этой теме. Хреновый у тебя выноситель впечатления, если он из слов "после коммита транзакции" вынес "событие освобождения записи", ибо это две большие разницы. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2015, 19:56 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov<> Хреновый у тебя выноситель впечатления, если он из слов "после коммита транзакции" вынес "событие освобождения записи", ибо это две большие разницы. ну при роллбеке же она таки освободится а при коммите -- будет негодна из-за кривого базового уровня изоляции. освободится проброс исключений, а не запись-пись а вот при человеческом рид--коммитеде была бы годна в дело, но здесь вам не тут...то было. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2015, 20:14 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
эттану при роллбеке же она таки освободится Запись, вообще-то, может освободиться (то есть исчезнет незакоммиченная версия) задолго до конца транзакции. эттаосвободится проброс исключений, а не запись-пись Чо? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2015, 20:18 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovPgSQLAnonymousЯ утверждаю, что подчёркнутое --- это блокировка: Ну тогда привет, КО, открывший для себя, что даже в версионниках писатели блокируют писателей. Надо же, а в теме я вот уже успел вычитать, что: kdvя не знаю, как там у PosgreSQL, но у InterBase и Firebird нет никаких "блокировок для UPDATE". kdvТо есть, как таковых блокировок в версионнике нет вообще. Есть единственный конфликт - конфликт обновления одной и той же записи из двух активных транзакций. Причем, устанавливать какую-то там "блокировку" для этого случая нет необходимости. Новая версия записи, созданная первой транзакцией, и есть этот самый "индикатор блокировки". Видно, не все это ещё открыли для себя. ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2015, 20:58 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovDimitry Sibiryakovпосле коммита первой транзакции PgSQLAnonymousТо впечатление, что в InterBase "второй/третий/четвёртый писатель будут ждать события освобождения записи", я вынес из постов в этой теме. Хреновый у тебя выноситель впечатления, если он из слов "после коммита транзакции" вынес "событие освобождения записи", ибо это две большие разницы. Честно говоря, после того, как я прочитал про InterBase и увидел какие-то странные уровни изоляции и отсутствие SERIALIZABLE, разбираться в его особенностях мне стало как-то неинтересно... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2015, 21:09 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymousстранные уровни изоляции например? PgSQLAnonymousотсутствие SERIALIZABLE а кому-нибудь в жизни потом эта туфля пригодилась? (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 01:07 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
dimitrа кому-нибудь в жизни потом эта туфля пригодилась? (с)Тем более, что она есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 01:09 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
dimitrPgSQLAnonymousстранные уровни изоляции например? PgSQLAnonymousотсутствие SERIALIZABLE а кому-нибудь в жизни потом эта туфля пригодилась? (с) только эта туфля и рабочая ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 03:23 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
dimitrPgSQLAnonymousстранные уровни изоляции например? READ COMMITTED RECORD_VERSION READ COMMITTED NO RECORD_VERSION SNAPSHOT SNAPSHOT TABLE STABILITY dimitrPgSQLAnonymousотсутствие SERIALIZABLE а кому-нибудь в жизни потом эта туфля пригодилась? (с) Естественно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 08:23 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
hvladdimitrа кому-нибудь в жизни потом эта туфля пригодилась? (с)Тем более, что она есть. Как-то не заметил, можете показать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 08:24 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymoushvladТем более, что она есть. Как-то не заметил, можете показать?SNAPSHOT TABLE STABILITY ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 09:28 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymousстранные уровни изоляции ... SNAPSHOT какой тонкий троллинг... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 09:37 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
hvladSNAPSHOT TABLE STABILITY ну, справедливости ради, это скорее инструмент для ручной эмуляции SERIALIZABLE. Кому надо автоматически да для ad-hoc запросов, то в сад. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 09:49 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
dimitrhvladSNAPSHOT TABLE STABILITY ну, справедливости ради, это скорее инструмент для ручной эмуляции SERIALIZABLE. Кому надо автоматически да для ad-hoc запросов, то в сад.Ты говоришь о явном резервировании таблиц. Которое указывается в предложении RESERVING. А SNAPSHOT TABLE STABILITY как раз и есть автоматическое резервирование таблицы по ходу выполнения DML. В Борландовской документации это описано вот так: ApiGuideisc_tpb_consistency Table-locking transaction model. This mode is serializable.isc_tpb_consistency - это и есть SNAPSHOT TABLE STABILITY ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 10:16 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
hvladPgSQLAnonymousпропущено... Как-то не заметил, можете показать?SNAPSHOT TABLE STABILITY Вот тут я прямо заинтересовался. Доказательства-то этому есть? Вы можете показать, что будет, если сделать примерно так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
Какие данные теперь в таблицах A и B? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 10:34 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
hvladавтоматическое резервирование таблицы по ходу выполнения DML я как-то не уверен, что это можно назвать serializable, чтобы там борманы не писали на этот счет. Но возможно я слишком строг :-) Насколько я понимаю, без RESERVE работает оптимистический подход ("резервирование по ходу"), который может приводить к ошибкам сериализации в рантайме (хотя бы вследствие встречной блокировки A->B и B->A). А с RESERVE (упреждающие блокировки при старте транзакции) можно обеспечить бесконфликтную (читай: последовательную) работу конкурентов, но придется поработать ручками. Поправь меня, если ошибаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 10:57 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymous, у вас ус отклеился у вас там таблички N непришейкобылехвост. [стюдент рука--лицо ] и да -- в пж при сериалайзебл будет откат второй Код: plaintext 1. 2.
а при repeatable read -- количество во второй будет соответствовать снепшоту при старте, а не нормальному, при read commited текущему состоянию. резюме -- те, кто не умеют писать серверную логику [полк их надысь пополнился випросом] -- хотят сериалазебла, чтобы клиентская реализация чисто серверного функционала хоть как-то ползала. кто умеет -- пишут инкрементальную, а не агрегатную логику на сервере, и требуют именно readcommited-а, а не маргинальных снапшотов и т.п. все маргинальные уровни изоляции требуются только для развесистых агрегатов типа отчетов по плохо связанным наборам. -- чтобы синхронизировать снапшоты отдельных расчётов ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 11:01 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
PgSQLAnonymousВот тут я прямо заинтересовался. Доказательства-то этому есть?Моего слова не достаточно ? Сессия 1 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Сессия 2 Код: sql 1.
Сессия 1 Код: sql 1. 2. 3. 4. 5. 6.
Сессия 2 Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Сессия 1 Код: sql 1. 2. 3. 4.
Сессия 2 Код: sql 1. 2. 3. 4.
Сессия 1 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 11:14 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
dimitrПоправь меня, если ошибаюсь.Не ошибаешься. А чем это противоречит сериализации ? Или ты имеешь в виду, что в теории serializable тр-ции не могут получить ошибки из-за конкурентов ? Ну, тогда - да, нет в FB такого уровня изоляции. А где есть ? И - да, "вручную" (с явным резервированием) его таки можно достичь. А у других как ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 11:19 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
hvladНу, тогда - да, нет в FB такого уровня изоляции. А где есть ? MS SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 11:26 |
|
Чем плох блокировочник по сравнению с версионником?
|
|||
---|---|---|---|
#18+
hvladPgSQLAnonymousВот тут я прямо заинтересовался. Доказательства-то этому есть?Моего слова не достаточно ? Конечно, недостаточно. Вы сами-то посмотрели на результат? ;) Вот из этого: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Следует, что этот SNAPSHOT TABLE STABILITY ни разу не SERIALIZABLE. Получиться-то должно было так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
или так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Мораль: если производитель InterBase где-то утверждает, что "SNAPSHOT TABLE STABILITY" = SERIALIZABLE, это очередное переопределение терминов. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2015, 11:44 |
|
|
start [/forum/topic.php?fid=35&msg=38959549&tid=1552327]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 176ms |
0 / 0 |