|
Аномалия только читающей транзакции
|
|||
---|---|---|---|
#18+
Здравствуйте. М.б. кто-нибудь знаком с такого рода аномалией ? Почему это считается аномалией, ведь третья, только читающая, транзакция просто видит закомиченные результаты на момент своего выполнения ? С этой точки зрения, транзакция, что видит, на момент своего выполнения, то и должна выдать. https://habr.com/ru/company/postgrespro/blog/442804/ https://www.cs.umb.edu/~poneil/ROAnom.pdf (оригинал) https://johann.schleier-smith.com/blog/2016/01/06/analyzing-a-read-only-transaction-anomaly-under-snapshot-isolation.html ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2021, 23:54 |
|
Аномалия только читающей транзакции
|
|||
---|---|---|---|
#18+
OleOleMGT, Аномалия происходит из определения уровня изоляции serializable. Есть "слабое" определение (отсутствие фантомных чтений обычно, иногда - отсутствие еще каких-то аномалий). И есть "сильное" определение - результат выполнения аналогичен тому, как если бы все транзакции выполнялись строго последовательно (т.е. одна за другой). Пример (как минимум - третий) соответствует нарушению "сильного" определения (но подходит под "слабое"). Какой порядок транзакций может быть в "сильном" определении? Если Transaction 3 выполняется первой, она видит результат (0, 0). Если она же выполняется последней, результат будет (-10, 20) или (-11, 20). Остается два случая, когда Transaction 3 выполняется второй. Если порядок (Tx2, Tx 3, Tx 1), то Tx 3 прочитает (0, -11). Если же порядок (Tx 1, Tx 3, Tx 2), то Tx 3 прочитает (0, 20) но при этом конечный результат в базе будет (-10, 20) (а не (-11, 20)). В данном же случае получилось состояние, которое не соответствует ни одному из "строго последовательных" выполнений транзакции. Другими словами, аномалия. При этом аномалия не в том, что видит транзакция, а в комбинации прочитанного результата и конечного состояния базы. Мне чем-то ваша аномалия напомнила write skew - тоже зависимости данных по чтению/записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 11:05 |
|
|
start [/forum/topic.php?fid=53&tid=1993903]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 151ms |
0 / 0 |