Date of Award


Document Type

Open Access Dissertation

Degree Name

Doctor of Philosophy (PhD)


Computer Science

First Advisor

Patrick O'Neil

Second Advisor

Elizabeth O'Neil

Third Advisor

Dan A. Simovici


Snapshot Isolation (SI) is a method of database concurrency control that uses timestamps and multiversioning, in preference to pessimistic locking. Since its introduction in 1995, SI has become a popular isolation level, and has been implemented in a variety of database systems: Oracle, Postgres, Microsoft SQL Server, and others. Despite the benefits that SI offers, one of the things it cannot provide is serializability. Past approaches for serializable SI have focused on avoiding dangerous structures (or essential dangerous structures). Dangerous structures are patterns of transaction dependencies that indicate the potential for a non-serializable execution; however, the presence of dangerous structures does not guarantee that a non-serializable execution will occur. Thus, avoiding dangerous structures is a conservative approach that may result in unnecessary transaction aborts. This dissertation presents Precisely Serializable Snapshot Isolation (PSSI), a set of serializability-providing enhancements to SI that utilize a more precise criterion for performing aborts. PSSI ensures serializability by detecting dependency cycles among transactions, and aborting transactions to break such cycles. We have implemented PSSI in the open source MySQL/InnoDB database system, and our experimental tests demonstrate that PSSI's performance approaches that of SI, while minimizing the number of unnecessary transaction aborts.