Serializable isolation for snapshot databases

Michael J. Cahill, Uwe Röhm, Alan D. Fekete
2009 ACM Transactions on Database Systems  
Many popular database management systems offer snapshot isolation rather than full serializability. There are wellknown anomalies permitted by snapshot isolation that can lead to violations of data consistency by interleaving transactions that individually maintain consistency. Until now, the only way to prevent these anomalies was to modify the applications by introducing artificial locking or update conflicts, following careful analysis of conflicts between all pairs of transactions. This
more » ... r 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 and performance study of the algorithm are described, showing that the throughput approaches that of snapshot isolation in most cases.
doi:10.1145/1620585.1620587 fatcat:klgirkf3zncs7bs4zbyd4fjom4