Affiliation:
1. University of Sydney, Australia
2. University of Massachusetts
3. Courant Institute, New York, NY
Abstract
Snapshot Isolation (SI) is a multiversion concurrency control algorithm, first described in Berenson et al. [1995]. SI is attractive because it provides an isolation level that avoids many of the common concurrency anomalies, and has been implemented by Oracle and Microsoft SQL Server (with certain minor variations). SI does not guarantee serializability in all cases, but the TPC-C benchmark application [TPC-C], for example, executes under SI without serialization anomalies. All major database system products are delivered with default nonserializable isolation levels, often ones that encounter serialization anomalies more commonly than SI, and we suspect that numerous isolation errors occur each day at many large sites because of this, leading to corrupt data sometimes noted in data warehouse applications. The classical justification for lower isolation levels is that applications can be run under such levels to improve efficiency when they can be shown not to result in serious errors, but little or no guidance has been offered to application programmers and DBAs by vendors as to how to avoid such errors. This article develops a theory that characterizes when nonserializable executions of applications can occur under SI. Near the end of the article, we apply this theory to demonstrate that the TPC-C benchmark application has no serialization anomalies under SI, and then discuss how this demonstration can be generalized to other applications. We also present a discussion on how to modify the program logic of applications that are nonserializable under SI so that serializability will be guaranteed.
Publisher
Association for Computing Machinery (ACM)
Reference22 articles.
1. Replication, consistency, and practicality
2. A critique of ANSI SQL isolation levels
3. Bernstein P. Hadzilacos V. and Goodman N. 1987. Concurrency Control and Recovery in Database Systems. Addison-Wesley. (This text is now out of print but can be downloaded from http://research.microsoft.com/pubs/ccontrol/default.htm) Bernstein P. Hadzilacos V. and Goodman N. 1987. Concurrency Control and Recovery in Database Systems. Addison-Wesley. (This text is now out of print but can be downloaded from http://research.microsoft.com/pubs/ccontrol/default.htm)
Cited by
169 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献