Multiversion Concurrency Control
Snapshot Isolation
- SQL 92 standard:
- Discusses dirty reads, repeatable reads, phantom rows
- Defines isolation levels: READ UNCOMMITTED, READ
COMMITTED, REPEATABLE READ, SERIALIZABLE.
- 1995 paper
points out that there is more to consider.
- SERIALIZABLE transactions can still exhibit anomalies.
- The SQL 92 standard implicitly assumed a locking implementation.
- SNAPSHOT ISOLATION (SI): Exhibits these anomalies.
- SERIAL SNAPSHOT ISOLATION (SSI):
- Based on snapshot isolation.
- Will abort transactions that introduce anomalies.
- And a few others.
|