|< < 19 > >|

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.

|< < 19 > >|