IT-словарь › Базы данных › Изоляция снимков

Изоляция снимков

Базы данных Svenska → Обновлено: 2026-10-18

Уровень изоляции транзакций, при котором каждая транзакция видит согласованный снимок базы на момент своего начала: без блокировок чтения и без фантомных чтений.

Реализуется через MVCC. Защищает от грязного и неповторяющегося чтения и от фантомов, но не от «перекоса записи» (write skew): две транзакции читают одно состояние, принимают решения и пишут так, что вместе нарушают инвариант. Классический пример — два врача одновременно уходят с дежурства, хотя кто-то один должен остаться.

Используется в Oracle, Postgres (по умолчанию «Read Committed», а «Repeatable Read» — это и есть снимок), SQL Server, CockroachDB. «Serializable Snapshot Isolation» (SSI) в Postgres добавляет обнаружение перекоса во время выполнения и считается рекомендуемым выбором для систем, где важна корректность.

← Назад к словарю