Consistency

Note that consistency may mean different things to different systems

System Definition
ACID Satisfying the database’s / application’s constraints
Read After Write Consistency The ability to view recent changes (read data) directly afterward (write data)
Replication Read operations return same result / is in same state

Consistency Models vs Isolation Levels

Transaction Isolation

Distributed Consistency

Two Phase Commits

What happens in the event of a crash?

Fault Tolerant 2PC --> Take a look in more depth


In consensus 1 or more nodes propose values, only one of which is accepted. Crashes are tolerated in this system.

As for Atomic Commits, every node votes whether or not it wishes to commit or abort. Commits require all nodes, whilst aborts require 1+ nodes to vote abort. Crashes cause a direct abort.

Linearizability only handles a single transaction, whilst Serializability groups transactions together, that can be executed in parallel.

Yes, known as Strict Serializability