Date of Award
Open Access Dissertation
Doctor of Philosophy (PhD)
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.
Revilak, Stephen Anthony, "Precisely Serializable Snapshot Isolation" (2011). Graduate Doctoral Dissertations. Paper 54.