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