The Community for Technology Leaders
2011 IEEE 27th International Conference on Data Engineering (2011)
Hannover, Germany
Apr. 11, 2011 to Apr. 16, 2011
ISBN: 978-1-4244-8959-6
pp: 482-493
Stephen Revilak , University of Massachusetts at Boston, 02125, USA
Patrick O'Neil , University of Massachusetts at Boston, 02125, USA
Elizabeth O'Neil , University of Massachusetts at Boston, 02125, USA
ABSTRACT
Many popular database management systems provide snapshot isolation (SI) for concurrency control, either in addition to or in place of full serializability based on locking. Snapshot isolation was introduced in 1995 [2], with noted anomalies that can lead to serializability violations. Full serializability was provided in 2008 [4] and improved in 2009 [5] by aborting transactions in dangerous structures, which had been shown in 2005 [9] to be precursors to potential SI anomalies. This approach resulted in a runtime environment guaranteeing a serializable form of snapshot isolation (which we call SSI [4] or ESSI [5]) for arbitrary applications. But transactions in a dangerous structure frequently do not cause true anomalies so, as the authors point out, their method is conservative: it can cause unnecessary aborts. In the current paper, we demonstrate our PSSI algorithm to detect cycles in a snapshot isolation dependency graph and abort transactions to break the cycle. This algorithm provides a much more precise criterion to perform aborts. We have implemented our algorithm in an open source production database system (MySQL/InnoDB), and our performance study shows that PSSI throughput improves on ESSI, with significantly fewer aborts.
INDEX TERMS
CITATION

P. O'Neil, S. Revilak and E. O'Neil, "Precisely Serializable Snapshot Isolation (PSSI)," 2011 IEEE 27th International Conference on Data Engineering(ICDE), Hannover, Germany, 2011, pp. 482-493.
doi:10.1109/ICDE.2011.5767853
87 ms
(Ver 3.3 (11022016))