Ensuring Data Consistency

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.