The performance of multiversion concurrency control algorithms
ACM Transactions on Computer Systems (TOCS)
Distributed Version Management for Read-Only Actions
IEEE Transactions on Software Engineering - Special issue on distributed systems
The Performance of Alternative Strategies for Dealing with Deadlocks in Database Management Systems
IEEE Transactions on Software Engineering
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
ARIES/IM: an efficient and high concurrency index management method using write-ahead logging
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
Serialization graph algorithms for multiversion concurrency control
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
On optimistic methods for concurrency control
ACM Transactions on Database Systems (TODS)
Multiversion concurrency control—theory and algorithms
ACM Transactions on Database Systems (TODS)
Implementing atomic actions on decentralized data
ACM Transactions on Computer Systems (TOCS)
The notions of consistency and predicate locks in a database system
Communications of the ACM
Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Overview of an Ada compatible distributed database manager
SIGMOD '83 Proceedings of the 1983 ACM SIGMOD international conference on Management of data
On Mixing Queries and Transactions via Multiversion Locking
Proceedings of the Eighth International Conference on Data Engineering
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Key Range Locking Strategies for Improved Concurrency
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
Semantic Conditions for Correctness at Different Isolation Levels
ICDE '00 Proceedings of the 16th International Conference on Data Engineering
NAMING AND SYNCHRONIZATION IN A DECENTRALIZED COMPUTER SYSTEM
NAMING AND SYNCHRONIZATION IN A DECENTRALIZED COMPUTER SYSTEM
Weak consistency: a generalized theory and optimistic implementations for distributed transactions
Weak consistency: a generalized theory and optimistic implementations for distributed transactions
A read-only transaction anomaly under snapshot isolation
ACM SIGMOD Record
Allocating isolation levels to transactions
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Making snapshot isolation serializable
ACM Transactions on Database Systems (TODS)
MySQL Administrator's Guide and Language Reference (2nd Edition)
MySQL Administrator's Guide and Language Reference (2nd Edition)
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Automating the detection of snapshot isolation anomalies
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Serializable isolation for snapshot databases
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
The Cost of Serializability on Platforms That Use Snapshot Isolation
ICDE '08 Proceedings of the 2008 IEEE 24th International Conference on Data Engineering
Declarative serializable snapshot isolation
ADBIS'11 Proceedings of the 15th international conference on Advances in databases and information systems
Strict serializability is harmless: a new architecture for enterprise applications
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
High-performance concurrency control mechanisms for main-memory databases
Proceedings of the VLDB Endowment
A critique of snapshot isolation
Proceedings of the 7th ACM european conference on Computer Systems
Preventing database deadlocks in applications
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
SI-TM: reducing transactional memory abort rates through snapshot isolation
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Consistency anomalies in multi-tier architectures: automatic detection and prevention
The VLDB Journal — The International Journal on Very Large Data Bases
Hi-index | 0.00 |
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.