|< < 20 > >|

Multiversion Concurrency Control

Snapshot Isolation

The terminology is confusing. A review:

Term Category Characterization
SERIALIZABLE A standard
isolation level
Execution of a set of transactions must be equivalent to some serial execution of the same transactions.
Snapshot Isolation
(SI)
A non-standard
isolation level
  • Initially believed to be SERIALIZABLE.
  • Convenient to implement in MVCC systems.
  • Subject to write skew and similar anomalies.
  • Serializable Snapshot Isolation
    (SSI)
    An implementation of the SERIALIZABLE isolation level
  • Truly SERIALIZABLE.
  • MVCC with some additional book-keeping to abort transactions at risk for causing anomalies.
  • |< < 20 > >|