УровеньОписание изоляции АномалияОписание аномалии
   Потерянные изменения
Lost Update
Последовательное обновление строки таким образом, что последнее изменение полностью не учитывает результаты предыдущего и перезаписывает их.
READ UNCOMMITTEDБлокировка изменяемых строк на запись, чтение разрешено. Грязное чтение
Dirty read
Считывания из БД данных/состояния, являющихся промежуточными или отмененными в будущем.
READ COMMITTEDБлокировка изменяемые строки на чтение и запись. Неповторяющееся чтение
Non-repeatable read
В рамках транзакции при повторном чтении одной и той-же строки (по условию ключу), значение может меняться (изменено другой транзакций) или же срока может быть удалена.
REPEATABLE READБлокировка изменяемых и читаемых строки на чтение и запись. Фантомное чтение
Phantom reads
В рамках транзакции при повторном чтении выборки, меняется кол-во строк (добавлены новые).
SERIALIZABLEПолная изоляция, никаких изменений данных вне текущей транзакции. -Полное отсутствие аномалий.

Протокол изоляции на основе блокировок
Протокол изоляции на основе снимков
Snapshot Isolation

Уровни изоляции и несогласованность данных
http://www.t-sql.ru/post/nolock.aspx

ept/hermitage
Hermitage: Testing transaction isolation levels
https://github.com/ept/hermitage

Consistency Models
https://jepsen.io/consistency

Теги:
Создал(а) Alexandr Fokin 2022/07/11 20:52