Abstract
Chapter 4 is the chapter of consistency concepts. First, the classical transactional concept of relational databases is given, including ACID (atomicity, consistency, isolation, and durability), followed by pessimistic and optimistic concurrency control mechanisms. Second, consistency issues of NoSQL databases are discussed such as the BASE (basically available, soft state, eventually consistent) concept and the CAP theorem (consistency, availability, and partition tolerance). In addition, vector clocks are introduced in order to serialize parallel transactions. A comparison between ACID and BASE closes the chapter.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In the SQL standard, transactions are implicitly started by SQL statements and concluded by COMMIT. Alternatively, they can be initiated explicitly with START TRANSACTION.
- 2.
The notation b: = b + 200 means that the current balance of account b is increased by 200 currency units.
- 3.
This log file is not to be confused with the log from Sect. 4.2.2.
References
Basta A., Zgola M.: Database Security. Cengage Learning, Australia (2011)
Bernstein P. A., Hadzilacos V., Goodman N.: Concurrency Control and Recovery in Database Systems. Addison Wesley, Reading (1987)
Brewer E.: Keynote—Towards robust distributed systems. 19th ACM Symposium on Principles of Distributed Computing, Portland, Oregon, 16–19 July 2000
Castano S., Fugini M.G., Martella G., Samarati P.: Database Security. Addison Wesley, Wokingham (1994)
Eswaran, K.P., Gray, J., Lorie, R.A., Traiger, I.L.: The notion of consistency and predicate locks in a data base system. Commun. ACM 19(11), 624–633 (1976)
Gifford D.K.: Weighted voting for replicated data. Proc. of the seventh ACM Symposium on Operating Systems Principles (SOSPʼ79), Pacific Grove, CA, 10–12 December 1979, pp. 150–162
Gilbert, S., Lynch, N.: Brewerʼs Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services. Massachusetts Institute of Technology, Cambridge (2002)
Gray J., Reuter A.: Transaction Processing—Concepts and Techniques. Morgan Kaufmann, San Mateo (1993)
Härder, T., Reuter, A.: Principles of transaction-oriented database recovery. ACM Comput. Surv. 15(4), 287–317 (1983)
Redmond E., Wilson J.R.: Seven Databases in Seven Weeks—A Guide to Modern Databases and the NoSQL Movement. The Pragmatic Bookshelf, Dallas (2012)
Reuter A: Fehlerbehandlung in Datenbanksystemen. Hanser, München (1981)
Riak: Open source distributed database. http://basho.com/riak/ (2014). Accessed 18 Dec 2014
Schaarschmidt R.: Archivierung in Datenbanksystemen—Konzepte und Sprache. Teubner, Stuttgart (2001)
Störl, U.: Backup und Recovery in Datenbanksystemen—Verfahren, Klassifikation, Implementierung und Bewertung. Teubner, Stuttgart (2001)
Vogels, W.: Eventually consistent. Commun. ACM 52(1), 40–44 (2009)
Weikum G.: Transaktionen in Datenbanksystemen—Fehlertolerante Steuerung paralleler Abläufe. Addison Wesley, Bonn (1988)
Weikum G., Vossen G.: Transactional Information Systems—Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, San Francisco (2002)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2019 Springer Fachmedien Wiesbaden GmbH, part of Springer Nature
About this chapter
Cite this chapter
Meier, A., Kaufmann, M. (2019). Ensuring Data Consistency. In: SQL & NoSQL Databases. Springer Vieweg, Wiesbaden. https://doi.org/10.1007/978-3-658-24549-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-658-24549-8_4
Published:
Publisher Name: Springer Vieweg, Wiesbaden
Print ISBN: 978-3-658-24548-1
Online ISBN: 978-3-658-24549-8
eBook Packages: Computer Science and Engineering (German Language)