A Critique of ANSI SQL Isolation Levels Hal Berenson Microsoft Corp.
[email protected] Phil Bernstein Microsoft Corp.
[email protected] Jim Gray Microsoft Corp.
[email protected] Jim Melton Sybase Corp.
[email protected] Elizabeth O’Neil UMass/Boston
[email protected] Patrick O'Neil UMass/Boston
[email protected] June 1995 Technical Report MSR-TR-95-51 Microsoft Research Advanced Technology Division Microsoft Corporation One Microsoft Way Redmond, WA 98052 “A Critique of ANSI SQL Isolation Levels,” Proc. ACM SIGMOD 95, pp. 1-10, San Jose CA, June 1995, © ACM. -1- A Critique of ANSI SQL Isolation Levels Hal Berenson Microsoft Corp.
[email protected] Phil Bernstein Microsoft Corp.
[email protected] Jim Gray U.C. Berkeley
[email protected] Jim Melton Sybase Corp.
[email protected] Elizabeth O’Neil UMass/Boston
[email protected] Patrick O'Neil UMass/Boston
[email protected] Abstract: ANSI SQL-92 [MS, ANSI] defines Isolation distinction is not crucial for a general understanding. Levels in terms of phenomena: Dirty Reads, Non-Re- The ANSI isolation levels are related to the behavior of peatable Reads, and Phantoms. This paper shows that lock schedulers. Some lock schedulers allow transactions these phenomena and the ANSI SQL definitions fail to to vary the scope and duration of their lock requests, thus characterize several popular isolation levels, including the departing from pure two-phase locking. This idea was in- standard locking implementations of the levels. troduced by [GLPT], which defined Degrees of Consistency Investigating the ambiguities of the phenomena leads to in three ways: locking, data-flow graphs, and anomalies.