Transaction Isolation Levels¶
Isolation is not binary; systems offer a spectrum from no isolation (dirty reads) to full serialization, with each level trading correctness guarantees for concurrency and performance.
Tension Addressed¶
Data Integrity vs. Performance
Recognizable As¶
Configuration of transaction behavior, anomaly types (dirty reads, non-repeatable reads, phantom reads), lock escalation, optimistic vs. pessimistic concurrency
Canonical Sources¶
Berenson et al., "A Critique of ANSI SQL Isolation Levels" (1995); Gray & Reuter, "Transaction Processing" (1992)
Transfers To¶
Concurrent programming (memory models), distributed systems (consistency levels), caching (invalidation strategies), collaborative editing (conflict resolution)
Sub-concepts: - Read Uncommitted: Sees in-progress changes; maximum concurrency, minimum safety - Read Committed: Only sees committed changes; prevents dirty reads - Repeatable Read: Same query returns same results within transaction; prevents non-repeatable reads - Serializable: Transactions appear to execute sequentially; prevents phantom reads but limits concurrency