Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu

Snapshot Isolation

  • Alan FeketeEmail author
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_346


Row-versioning; SI


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 to check access.

Recommended Reading

  1. 1.
    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.Google Scholar
  2. 2.
    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.CrossRefGoogle Scholar
  3. 3.
    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.Google Scholar
  4. 4.
    Bernstein AJ, Lewis PM, Lu S. Correct execution of transactions at different isolation levels. IEEE Trans Knowl Data Eng. 2004;16(9):1070–81.CrossRefGoogle Scholar
  5. 5.
    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.Google Scholar
  6. 6.
    Chairunnanda P, Daudjee K, Özsu MT. ConfluxDB: multi-master replication for partitioned snapshot isolation databases. Proc VLDB Endow. 2014;7(11):947–58.CrossRefGoogle Scholar
  7. 7.
    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.Google Scholar
  8. 8.
    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.Google Scholar
  9. 9.
    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.Google Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    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.CrossRefGoogle Scholar
  13. 13.
    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.Google Scholar
  14. 14.
    Jacobs K. Concurrency control: transaction isolation and serializability in SQL92 and Oracle7. Technical Report A33745 (White Paper), Oracle Corporation; 1995.Google Scholar
  15. 15.
    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.Google Scholar
  16. 16.
    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.CrossRefGoogle Scholar
  17. 17.
    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.Google Scholar
  18. 18.
    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.CrossRefGoogle Scholar
  19. 19.
    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.CrossRefGoogle Scholar
  20. 20.
    Schenkel R, Weikum G. Integrating snapshot isolation into transactional federation. In: Proceedings of the International Conference on Cooperative Information Systems; 2000. p. 90–101.Google Scholar
  21. 21.
    Transaction Processing Performance Council. TPC Benchmark C Standard Specification, Revision 5.0. 2001. http://www.tpc.org/tpcc/
  22. 22.
    Weikum G, Vossen G. Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery. Los Altos: Morgan Kaufmann; 2002.Google Scholar
  23. 23.
    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.Google Scholar
  24. 24.
    Zellag K, Kemme B. Consistency anomalies in multi-tier architectures: automatic detection and prevention. VLDB J. 2014;23(1):147–72.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.University of SydneySydneyAustralia

Section editors and affiliations

  • Gottfried Vossen
    • 1
  1. 1.Dep. of Inf. SystemsWestf. Wilhelms-UniveristätMünsterGermany