Encyclopedia of Big Data Technologies

Living Edition
| Editors: Sherif Sakr, Albert Zomaya

Database Consistency Models

  • Marc Shapiro
  • Pierre Sutra
Living reference work entry
DOI: https://doi.org/10.1007/978-3-319-63962-8_203-1

Synonyms

Consistency criterion; Consistency model; Data consistency; Isolation level

The distributed systems and database communities use the same word, consistency, with different meanings. Within this entry, and following the usage of the distributed algorithms community, “consistency” refers to the observable behavior of a data store and how much it differs from a sequential model.

In the database community, roughly the same concept is called “isolation,” whereas the term “consistency” refers to the property that application code is sequentially safe (the C in ACID).

Definition

A data store allows application processes to put and get data from a common storage. In general, a data store cannot be modeled as a strictly sequential process. Applications observe non-sequential behaviors, called anomalies. The set of possible behaviors, and conversely of possible anomalies, constitutes the consistency model of the data store.

Overview

Background

A data store, or database system, is a...

This is a preview of subscription content, log in to check access.

References

  1. Adya A (1999) Weak consistency: a generalized theory and optimistic implementations for distributed transactions. Ph.d., MITGoogle Scholar
  2. Ahamad M, Neiger G, Burns JE, Kohli P, Hutto PW (1995) Causal memory: definitions, implementation, and programming. Distrib Comput 9(1):37–49MathSciNetCrossRefGoogle Scholar
  3. ANSI (1992) American national standard for information systems – database language – SQL. American National Standards Institute, New YorkGoogle Scholar
  4. Attiya H, Welch JL (1994) Sequential consistency versus linearizability. ACM Trans Comput Syst 12(2):91–122CrossRefGoogle Scholar
  5. Attiya H, Bar-Noy A, Dolev D (1990) Sharing memory robustly in message-passing systems. Technical report MIT/LCS/TM-423, Massachusetts institute of technology, Laboratory for computer science, CambridgeGoogle Scholar
  6. Attiya H, Hillel E, Milani A (2009) Inherent limitations on disjoint-access parallel implementations of transactional memory. In: Proceedings of the twenty-first annual symposium on parallelism in algorithms and architectures, SPAA’09. ACM, New York, pp 69–78Google Scholar
  7. Attiya H, Ellen F, Morrison A (2017) Limitations of highly-available eventually-consistent data stores. IEEE Trans Parallel Distrib Syst (TPDS) 28(1): 141–155CrossRefMATHGoogle Scholar
  8. Bailis P, Davidson A, Fekete A, Ghodsi A, Hellerstein JM, Stoica I (2013) Highly available transactions: virtues and limitations. Proc VLDB Endow 7(3):181–192CrossRefGoogle Scholar
  9. Bailis P, Fekete A, Hellerstein JM, Ghodsi A, Stoica I (2014) Scalable atomic visibility with ramp transactions. In: Proceedings of the 2014 ACM SIGMOD international conference on management of data, SIGMOD’14. ACM, New York, pp 27–38Google Scholar
  10. Berenson H, Bernstein P, Gray J, Melton J, O’Neil E, O’Neil P (1995) A critique of ANSI SQL isolation levels. SIGMOD Rec 24(2):1–10CrossRefGoogle Scholar
  11. Blasgen M, Gray J, Mitoma M, Price T (1979) The convoy phenomenon. ACM SIGOPS Oper Syst Rev 13(2): 20–25CrossRefGoogle Scholar
  12. Burckhardt S, Gotsman A, Yang H, Zawirski M (2014) Replicated data types: specification, verification, optimality. In: The 41st annual ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL’14, San Diego, 20–21 Jan 2014, pp 271–284Google Scholar
  13. Bushkov V, Dziuma D, Fatourou P, Guerraoui R (2014) The PCL theorem: transactions cannot be parallel, consistent and live. In: Proceedings of the 26th ACM symposium on parallelism in algorithms and architectures, SPAA’14. ACM, New York, pp 178–187Google Scholar
  14. Cerone A, Gotsman A (2016) Analysing snapshot isolation. In: Proceedings of the 2016 ACM symposium on principles of distributed computing, PODC, Chicago, 25–28 July 2016, pp 55–64Google Scholar
  15. Chan A, Gray R (1985) Implementing distributed read-only transactions. IEEE Trans Softw Eng SE-11(2):205–212CrossRefGoogle Scholar
  16. Chandra TD, Hadzilacos V, Toueg S (1996) The weakest failure detector for solving consensus. J ACM 43(4):685–722MathSciNetCrossRefMATHGoogle Scholar
  17. Charron-Bost B (1991) Concerning the size of logical clocks in distributed systems. Inf Process Lett 39(1):11–16MathSciNetCrossRefMATHGoogle Scholar
  18. Chrysanthis PK, Ramamritham K (1994) Synthesis of extended transaction models using ACTA. ACM Trans Database Syst 19(3):450–491CrossRefGoogle Scholar
  19. Corbett JC, Dean J, Epstein M, Fikes A, Frost C, Furman J, Ghemawat S, Gubarev A, Heiser C, Hochschild P, Hsieh W, Kanthak S, Kogan E, Li H, Lloyd A, Melnik S, Mwaura D, Nagle D, Quinlan S, Rao R, Rolig L, Saito Y, Szymaniak M, Taylor C, Wang R, Woodford D (2012) Spanner: Google’s globally-distributed database. In: Symposium on operating system design and implementation (OSDI). Usenix, Hollywood, pp 251–264Google Scholar
  20. Daudjee K, Salem K (2006) Lazy database replication with snapshot isolation. In: Proceedings of the 32nd international conference on very large data bases, VLDB Endowment, VLDB’06, pp 715–726Google Scholar
  21. Delporte-Gallet C, Fauconnier H, Guerraoui R, Hadzilacos V, Kouznetsov P, Toueg S (2004) The weakest failure detectors to solve certain fundamental problems in distributed computing. In: Proceedings of the twenty-third annual ACM symposium on principles of distributed computing, PODC’04. ACM, New York, pp 338–346CrossRefGoogle Scholar
  22. Fekete A, Gupta D, Luchangco V, Lynch N, Shvartsman A (1999) Eventually-serializable data services. Theor Comput Sci 220:113–156. Special issue on Distributed AlgorithmsGoogle Scholar
  23. Fekete A, Liarokapis D, O’Neil E, O’Neil P, Shasha D (2005) Making snapshot isolation serializable. Trans Database Syst 30(2):492–528CrossRefGoogle Scholar
  24. Fischer MJ, Lynch NA, Patterson MS (1985) Impossibility of distributed consensus with one faulty process. J ACM 32(2):374–382MathSciNetCrossRefMATHGoogle Scholar
  25. Freiling FC, Guerraoui R, Kuznetsov P (2011) The failure detector abstraction. ACM Comput Surv 43(2):9:1–9:40Google Scholar
  26. Gilbert S, Lynch N (2002) Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2):51–59CrossRefGoogle Scholar
  27. Gotsman A, Yang H, Ferreira C, Najafzadeh M, Shapiro M (2016) ’Cause I’m strong enough: reasoning about consistency choices in distributed systems. In: Proceedings of the 43rd annual ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL’16. ACM, New York, pp 371–384Google Scholar
  28. Gray J, Reuter A (1992) Transaction processing: concepts and techniques, 1st edn. Morgan Kaufmann Publishers Inc., San FranciscoMATHGoogle Scholar
  29. Gray J, Reuter A (1993) Transaction processing: concepts and techniques. Morgan Kaufmann, San Francisco, ISBN:1-55860-190-2MATHGoogle Scholar
  30. Guerraoui R, Kapalka M (2008) On the correctness of transactional memory. In: Proceedings of the 13th ACM SIGPLAN symposium on principles and practice of parallel programming, PPoPP’08. ACM, New York, pp 175–184Google Scholar
  31. Herlihy M, Wing J (1990) Linearizability: a correcteness condition for concurrent objects. ACM Trans Program Lang Syst 12(3):463–492CrossRefGoogle Scholar
  32. Israeli A, Rappoport L (1994) Disjoint-access-parallel implementations of strong shared memory primitives. In: Proceedings of the thirteenth annual ACM symposium on principles of distributed computing, PODC’94. ACM, New York, pp 151–160CrossRefGoogle Scholar
  33. Kemme B, Alonso G (1998) A suite of database replication protocols based on group communication primitives. In: International conference on distributed computing systems, IEEE. IEEE computer society, pp 156–163Google Scholar
  34. Ladin R, Liskov B, Shrira L (1990) Lazy replication: exploiting the semantics of distributed services. In: IEEE computer society technical committee on operating systems and application environments, IEEE, vol 4. IEEE computer society, pp 4–7Google Scholar
  35. Lamport L (1979) How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans Comput 28(9):690–691CrossRefMATHGoogle Scholar
  36. Lamport L (1986) On interprocess communication. Part I: basic formalism. Distrib Comput 1(2):77–85MathSciNetCrossRefMATHGoogle Scholar
  37. Lamport L (2006) Lower bounds for asynchronous consensus. Distrib Comput 19(2):104–125MathSciNetCrossRefMATHGoogle Scholar
  38. Murty J (2008) Programming Amazon web services, 1st edn. O’Reilly, SebastopolGoogle Scholar
  39. Ozsu MT, Valduriez P (1991) Principles of distributed database systems. Prentice-Hall, Inc., Upper Saddle RiverGoogle Scholar
  40. Papadimitriou CH (1979) The serializability of concurrent database updates. J ACM 26(4):631–653MathSciNetCrossRefMATHGoogle Scholar
  41. Peluso S, Palmieri R, Romano P, Ravindran B, Quaglia F (2015) Disjoint-access parallelism: impossibility, possibility, and cost of transactional memory implementations. In: Proceedings of the 2015 ACM symposium on principles of distributed computing, PODC’15. ACM, New York, pp 217–226CrossRefGoogle Scholar
  42. Saeida Ardekani M, Sutra P, Shapiro M (2013a) Non-Monotonic Snapshot Isolation: scalable and strong consistency for geo-replicated transactional systems. In: Symposium on reliable distribution system (SRDS). IEEE computer society, Braga, pp 163–172Google Scholar
  43. Saeida Ardekani M, Sutra P, Shapiro M (2013b) On the scalability of snapshot isolation. In: Proceedings of the 19th international euro-par conference (EUROPAR)Google Scholar
  44. Saeida Ardekani M, Sutra P, Shapiro M (2014) G-DUR: a middleware for assembling, analyzing, and improving transactional protocols. In: Proceedings of the 15th international middleware conference, Middleware’14. ACM, New York, pp 13–24Google Scholar
  45. Schiper N, Sutra P, Pedone F (2010) P-store: genuine partial replication in wide area networks. In: Proceedings of the 29th IEEE international symposium on reliable distributed systems (SRDS)Google Scholar
  46. Shapiro M, Preguiça N, Baquero C, Zawirski M (2011) Conflict-free replicated data types. In: Défago X, Petit F, Villain V (eds) International symposium on stabilization, safety, and security of distributed system (SSS). Lecture notes in computer science, vol 6976. Springer, Grenoble, pp 386–400CrossRefGoogle Scholar
  47. Shapiro M, Saeida Ardekani M, Petri G (2016) Consistency in 3D. In: Desharnais J, Jagadeesan R (eds) International conference on concurrency theory (CONCUR), Schloss Dagstuhl – Leibniz-Zentrum für Informatik. Dagstuhl Publishing, Leibniz international proceeding in informatics (LIPICS), Québec, vol 59, pp 3:1–3:14Google Scholar
  48. Sovran Y, Power R, Aguilera MK, Li J (2011) Transactional storage for geo-replicated systems. In: Symposium on operating system principles (SOSP). Association for Computing Machinery, Cascais, pp 385–400Google Scholar
  49. Terry DB, Demers AJ, Petersen K, Spreitzer MJ, Theimer MM, Welch BB (1994) Session guarantees for weakly consistent replicated data. In: International conference on parallel and distribution information system (PDIS), Austin, pp 140–149Google Scholar
  50. Viotti P, Vukolić M (2016) Consistency in non-transactional distributed storage systems. ACM Comput Surv 49(1):19:1–19:34Google Scholar
  51. Vogels W (2008) Eventually consistent. ACM Queue 6(6):14–19CrossRefGoogle Scholar
  52. Wang J, Talmage E, Lee H, Welch JL (2014) Improved time bounds for linearizable implementations of abstract data types. In: 2014 IEEE 28th international parallel and distributed processing symposium, pp 691–701Google Scholar
  53. Wiesmann M, Schiper A (2005) Comparison of database replication techniques based on total order broadcast. IEEE Trans Knowl Data Eng 17(4):551–566CrossRefGoogle Scholar
  54. Zemke F (2012) What’s new in SQL:2011. SIGMOD Rec 41(1):67–73CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Sorbonne-Universités-UPMC-LIP6ParisFrance
  2. 2.Inria ParisParisFrance

Section editors and affiliations

  • Mohammad Sadoghi

There are no affiliations available