English

A Critique of ANSI SQL Isolation Levels

Databases 2007-05-23 v1

Abstract

ANSI SQL-92 defines Isolation Levels in terms of phenomena: Dirty Reads, Non-Repeatable Reads, and Phantoms. This paper shows that these phenomena and the ANSI SQL definitions fail to characterize several popular isolation levels, including the standard locking implementations of the levels. Investigating the ambiguities of the phenomena leads to clearer definitions; in addition new phenomena that better characterize isolation types are introduced. An important multiversion isolation type, Snapshot Isolation, is defined.

Cite

@article{arxiv.cs/0701157,
  title  = {A Critique of ANSI SQL Isolation Levels},
  author = {Hal Berenson and Phil Bernstein and Jim Gray and Jim Melton and Elizabeth O'Neil and Patrick O'Neil},
  journal= {arXiv preprint arXiv:cs/0701157},
  year   = {2007}
}