proomt

Search

Search posts, papers, and topics

Hall of Fame

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

Related reading

  1. Database Branching: A Developer's Guide to Git-Style Workflows

    Database branching uses copy‑on‑write to give developers, CI jobs, and AI agents isolated database snapshots without full copies. Branches share unchanged data, store only deltas, and are disposable, enabling production‑like testing, per‑PR isolation, safe experimentation, and rapid cleanup. Safe operation requires protecting parent branches, using mock data, TTLs, and treating migrations as the…

    Databricksdatabricks.com9 min
  2. Database for AI Agents: 5 Evaluation Criteria

    Databricks outlines five criteria for a production‑ready database for AI agents—branch‑per‑agent isolation, serverless scale‑to‑zero, hybrid search, ACID guarantees, and a unified platform that eliminates ETL lag—illustrating each with features of its Lakebase offering and brief customer anecdotes.

    Databricksdatabricks.com10 min
  3. Article: Your Next DSL Author Is a Language Model

    Typed Domain Grounding (TDG) embeds a DSL inside a mainstream language the LLM already knows (e.g., Kotlin) and uses the host compiler as an oracle. The author describes five building blocks—embedding, choosing a host language with high training‑data frequency, compiler‑driven type safety, a generate‑compile‑repair loop, and an on‑demand teaching tool—and shows measured results from kUML, a Kotli…

    InfoQinfoq.com18 min
  4. A Relational Model of Data for Large Shared Data Banks

    E. F. Codd introduces the relational model for large shared data banks, proposing the use of n-ary relations and a universal data sublanguage. This model aims to provide data independence, protecting application programs from changes in internal data representation and organization.

    Hall of Fameupenn.edu42 minpaperHN5313