Hall of FameHal Berenson et al.199535 min readpaperadvanced
A Critique of ANSI SQL Isolation Levels
Summary
This 1995 paper critiques ANSI SQL-92 isolation levels, arguing their definitions based on "phenomena" are ambiguous and fail to characterize common locking implementations and other important isolation types like Snapshot Isolation. It proposes clearer definitions and new phenomena to address these shortcomings.
- ANSI SQL-92 isolation levels are defined by three phenomena: Dirty Read, Non-Repeatable Read, and Phantom.
- These phenomena have ambiguous "strict" vs. "broad" interpretations, leading to different behaviors than expected from locking implementations.
- The ANSI definitions fail to distinguish several popular commercial isolation levels, including Snapshot Isolation.
- The paper introduces Snapshot Isolation as a multiversion concurrency control mechanism that avoids ANSI phenomena but is not serializable.
This paper is crucial for database engineers and designers to understand the nuances and historical ambiguities of SQL transaction isolation levels, especially when implementing or debugging concurrent systems.
9/10

