IT lexicon › Database › Snapshot isolation

Snapshot isolation

Database På svenska → Updated: 2026-05-23

Transaction isolation level where each transaction sees a consistent snapshot of the database from its start time — no read locks, no phantom reads.

Implemented via MVCC. Protects against dirty/non-repeatable read/phantom, but not against "write skew" — two transactions can both read state X, decide, and both write in a way that together breaks an invariant. Classic example: two doctors both leaving on-call at the same time when at least one must stay.

Default in Oracle, Postgres ("Read Committed" is the default but "Repeatable Read" = snapshot), SQL Server, CockroachDB. Postgres' "Serializable Snapshot Isolation" (SSI) adds runtime skew detection and is the default recommendation for correctness-critical systems.

← Back to the lexicon