Skip to content
uencoder

Snapshot Isolation

Snapshot isolation lets a transaction read a consistent snapshot (data versions as of transaction start), avoiding dirty reads and non-repeatable reads, but allowing write skew.

Purpose

To provide efficient high-concurrency isolation on MVCC; the default level of many databases.

Mechanism

At transaction start, acquire a consistent snapshot (visible version stamps); reads take no locks. Write-conflict detection: if two overlapping transactions write the same row, the later committer aborts. PostgreSQL REPEATABLE READ is exactly this.

Use cases

  • MVCC isolation
  • Concurrent read optimization
  • Isolation level selection

Related tools

References