Abstract
Many popular database management systems implement a multiversion concurrency control algorithm called snapshot isolation rather than providing full serializability based on locking. There are well-known anomalies permitted by snapshot isolation that can lead to violations of data consistency by interleaving transactions that would maintain consistency if run serially. Until now, the only way to prevent these anomalies was to modify the applications by introducing explicit locking or artificial update conflicts, following careful analysis of conflicts between all pairs of transactions.
This article describes a modification to the concurrency control algorithm of a database management system that automatically detects and prevents snapshot isolation anomalies at runtime for arbitrary applications, thus providing serializable isolation. The new algorithm preserves the properties that make snapshot isolation attractive, including that readers do not block writers and vice versa. An implementation of the algorithm in a relational DBMS is described, along with a benchmark and performance study, showing that the throughput approaches that of snapshot isolation in most cases.
Publisher
Association for Computing Machinery (ACM)
Reference36 articles.
1. Adya A. 1999. Weak consistency: A generalized theory and optimistic implementations for distributed transactions. Ph.D. thesis Laboratory for Computer Science Massachusetts Institute of Technology. Adya A. 1999. Weak consistency: A generalized theory and optimistic implementations for distributed transactions. Ph.D. thesis Laboratory for Computer Science Massachusetts Institute of Technology.
2. The Performance of Alternative Strategies for Dealing with Deadlocks in Database Management Systems
3. The Cost of Serializability on Platforms That Use Snapshot Isolation
4. A critique of ANSI SQL isolation levels
Cited by
107 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献