Разница в уровне изоляции, SNAPSHOT и SNAPSHOT READ COMMITTED Снимок? - PullRequest
0 голосов
/ 02 мая 2018

У меня возникла проблема с определением различий между SNAPSHOT и SNAPSHOT READ COMMITTED? READ COMMITTED - это пессимистический подход к параллелизму, и как его применять в оптимистичном параллелизме? который в этом случае на уровне изоляции SNAPSHOT

Спасибо, большое спасибо за некоторые просветления

Ответы [ 2 ]

0 голосов
/ 26 августа 2018

Чтение совершено

Это уровень изоляции по умолчанию. Реализовано с общими блокировками чтения.

Чтение зафиксированного снимка

Тот же уровень изоляции, что и для фиксации чтения, но реализован с контролем версий строк / MVCC . Преимущество в том, что писатели не блокируют читателей . Некоторые люди считают, что это должно быть по умолчанию. Обратите внимание, что это тот же уровень изоляции в том смысле, что он позволяет избежать тех же аномалий.

Snapshot

Более сильный уровень изоляции, который позволяет меньше аномалий .

0 голосов
/ 02 мая 2018

Оба имени вводят в заблуждение.

В терминологии SQL Server SNAPSHOT и SNAPSHOT READ COMMITTED являются уровнями изоляции , а также способом реализации , как SQL Server обеспечивает изоляцию одновременного доступа к данным.

Основное отличие : в SNAPSHOT повторяющиеся чтения и фантомные чтения запрещены, в то время как на уровне SNAPSHOT READ COMMITTED вы можете испытывать неповторяющиеся чтения, а также вы можете испытывать фантомные чтения.

Другими словами, SNAPSHOT - более высокая и сильная изоляция, чем SNAPSHOT READ COMMITTED)


Относительно только уровень изоляции: SNAPSHOT эквивалентно SERIALIZABLE, а SNAPSHOT READ COMMITTED эквивалентно READ COMMITTED. Однако реализация отличается. Хотя SNAPSHOT и SNAPSHOT READ COMMITTED используют версии записей, с другой стороны, SERIALIZABLE и READ COMMITTED используют семантику блокировки, чтобы принудительно блокировать параллельный процесс к измененному (или читаемому) ресурсу, пока первый завершает свою транзакцию.


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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...