Synonyms
Row-versioning; SI
Definition
Snapshot Isolation is a multi-version concurrency control approach that is widely used in practice. A transaction T that operates under Snapshot Isolation never observes any effects from other transactions that overlap T in duration; instead T sees values as if it were operating on a private copy or snapshot of the database, reflecting all other transactions that had committed before Tstarted. In Snapshot Isolation, the system will not allow both of two transactions to commit if they overlap in duration and modify the same data item. Snapshot Isolation prevents many well-known anomalies (such as Lost Updates and Inconsistent Reads) that are also prevented by serializability, but it does not guarantee that all executions will be serializable. Snapshot Isolation allows reads to occur without delay or blocking caused by concurrent updates, and also updates are never blocked by concurrent readers, so Snapshot Isolation often gives the transactions...
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsRecommended Reading
Adya A. Weak consistency: a generalized theory and optimistic implementations for distributed transactions (PhD thesis). Technical Report MIT/LCS/TR-786, Laboratory for Computer Science, Massachusetts Institute of Technology, Cambridge, MA, USA, 1999.
Alomari M, Fekete A, Röhm U. Performance of program modification techniques that ensure serializable executions with snapshot isolation DBMS. Inf Syst. 2014;40(Mar):84–101.
Berenson H, Bernstein PA, Gray J, Melton J, O’Neil EJ, O’Neil PE. A critique of ANSI SQL isolation levels. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1995. p. 1–10.
Bernstein AJ, Lewis PM, Lu S. Correct execution of transactions at different isolation levels. IEEE Trans Knowl Data Eng. 2004;16(9):1070–81.
Bornea M, Hodson O, Elnikety S, Fekete A. One-copy serializability with snapshot isolation under the hood. In: Proceedings of the 27th International Conference on Data Engineering; 2011. p. 625–36.
Chairunnanda P, Daudjee K, Özsu MT. ConfluxDB: multi-master replication for partitioned snapshot isolation databases. Proc VLDB Endow. 2014;7(11):947–58.
Chan A, Fox S, Lin W-TK, Nori A, Ries DR. The implementation of an integrated concurrency control and recovery scheme. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1982. p. 184–91.
Daudjee K, Salem K. Lazy database replication with snapshot isolation. In: Proceedings of the 32nd International Conference on Very Large Data Bases; 2006. p. 715–26.
Du J, Elnikety S, Zwaenepoel W. Clock-SI: snapshot isolation for partitioned data stores using loosely synchronized clocks. In: Proceedings of the 32nd Symposium on Reliable Distributed Systems; 2013. p. 173–84.
Elnikety S, Zwaenepoel W, Pedone F. Database replication using generalized snapshot isolation. In: Proceedings of the 24th Symposium on Reliable Distributed Systems; 2005. p. 73–84.
Fekete A. Allocating isolation levels to transactions. In: Proceedings of the 24th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems; 2005. p. 206–15.
Fekete A, Liarokapis D, O’Neil E, O’Neil P, Shasha D. Making snapshot isolation serializable. ACM Trans Database Syst. 2005;30(2):492–528.
Ferro DG, Junqueira F, Kelly I, Reed B, Yabandeh, M. Omid: lock-free transactional support for distributed data stores. In: Proceedings of the 30th International Conference on Data Engineering; 2014. p. 676–87.
Jacobs K. Concurrency control: transaction isolation and serializability in SQL92 and Oracle7. Technical Report A33745 (White Paper), Oracle Corporation; 1995.
Jorwekar S, Fekete A, Ramamritham K, Sudarshan S. Automating the detection of snapshot isolation anomalies. In: Proceedings of the 33rd International Conference on Very Large Data Bases; 2007. p. 1263–74.
Lin Y, Kemme B, Patiño-Martínez M, Jiménez-Peris R, Armendáriz-Iñigo J. Snapshot isolation and integrity constraints in replicated databases. ACM Trans Database Syst. 2009;34(2):11.
Peng D, Dabek F. Large-scale incremental processing using distributed transactions and notifications. In: Proceedings of the 9th USENIX Symposium on Operating System Design and Implementation; 2010.
Perez-Sorrosal F, Patiño-Martínez M, Jiménez-Peris R, Kemme B. Elastic SI-Cache: consistent and scalable caching in multi-tier architectures. VLDB J. 2011;20(6):841–65.
Plattner C, Alonso G. Ganymed: scalable replication for transactional web applications. In: Proceedings of the ACM/IFIP/USENIX 5th International Middleware Conference; 2004. p. 155–74.
Schenkel R, Weikum G. Integrating snapshot isolation into transactional federation. In: Proceedings of the International Conference on Cooperative Information Systems; 2000. p. 90–101.
Transaction Processing Performance Council. TPC Benchmark C Standard Specification, Revision 5.0. 2001. http://www.tpc.org/tpcc/
Weikum G, Vossen G. Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery. Los Altos: Morgan Kaufmann; 2002.
Wu S, Kemme B. Postgres-R(SI): combining replica control with concurrency control based on snapshot isolation. In: Proceedings of the 21st International Conference on Data Engineering; 2005, p. 422–33.
Zellag K, Kemme B. Consistency anomalies in multi-tier architectures: automatic detection and prevention. VLDB J. 2014;23(1):147–72.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Section Editor information
Rights and permissions
Copyright information
© 2018 Springer Science+Business Media, LLC, part of Springer Nature
About this entry
Cite this entry
Fekete, A. (2018). Snapshot Isolation. In: Liu, L., Özsu, M.T. (eds) Encyclopedia of Database Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-8265-9_346
Download citation
DOI: https://doi.org/10.1007/978-1-4614-8265-9_346
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-8266-6
Online ISBN: 978-1-4614-8265-9
eBook Packages: Computer ScienceReference Module Computer Science and Engineering