IT-lexikon › Databas › Snapshot isolation

Snapshot isolation

Databas In English → Uppdaterad: 2026-05-23

Transaktionsnivå där varje transaktion ser en konsekvent ögonblicksbild av databasen från sin starttid — inga locks vid läsning, inga phantom reads.

Implementeras via MVCC. Skydd mot dirty/non-repeatable read/phantom, men inte mot "write skew" — två transaktioner kan båda läsa state X, fatta beslut, och båda skriva på ett sätt som tillsammans bryter en invariant. Klassiskt exempel: två läkare lämnar samtidigt jouren när minst en måste vara kvar.

Default i Oracle, Postgres ("Read Committed" är default men "Repeatable Read" = snapshot), SQL Server, CockroachDB. Postgres' "Serializable Snapshot Isolation" (SSI) lägger till körnings­tidsdetektion av skew och är default-rekommendationen för korrektkrävande system.

← Tillbaka till lexikonet