Please use this identifier to cite or link to this item: http://hdl.handle.net/2123/5353

Title: Serializable Isolation for Snapshot Databases
Authors: Cahill, Michael James
Keywords: databases
transactions
concurrency control
snapshot isolation
serialiazability
Issue Date: 2009
Publisher: University of Sydney.
School of Information Technologies
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 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.
Description: PhD
URI: http://hdl.handle.net/2123/5353
Appears in Collections:Sydney Digital Theses

Files in This Item:

File Description SizeFormat
michael-cahill-2009-thesis.pdf1.87 MBAdobe PDFView/Open

Items in Sydney eScholarship Repository are protected by copyright, with all rights reserved, unless otherwise indicated.