Return to search

Serializable Isolation for Snapshot Databases

PhD / 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 thesis 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 database management system is described, along with a benchmark and performance study, showing that the throughput approaches that of snapshot isolation in most cases.

Identiferoai:union.ndltd.org:ADTP/283716
Date January 2009
CreatorsCahill, Michael James
PublisherUniversity of Sydney., School of Information Technologies
Source SetsAustraliasian Digital Theses Program
Detected LanguageEnglish
RightsThe author retains copyright of this thesis., http://www.library.usyd.edu.au/copyright.html

Page generated in 0.0017 seconds