Hasty Briefsbeta

Bilingual

Simple and Correct Snapshot Isolation

2 days ago
  • #database
  • #concurrency-control
  • #serializability
  • Snapshot isolation (SI) is a popular concurrency control method in databases but does not guarantee serializability, the strongest correctness guarantee.
  • Serializable snapshot isolation (SSI) patches SI with extra checks, but write-snapshot isolation (WSI) offers a simpler, elegant fix by changing one line of code.
  • SI aborts on write-write conflicts, leading to false negatives and positives, while WSI aborts on stale reads, ensuring serializability.
  • WSI still under-approximates serializability but may be necessary for strict serializability in lock-free MVCC implementations.
  • WSI is not widely adopted partly due to timing and complexity, but is a compelling option for new database systems.