The CAP Theorem, or how I learned to stop worrying and love the distributed system


I really need to write this post.

The Story So Far

Introducing the Constraints

let's talk about what each of these terms mean.


Every read recieves the most recent write - or an error


A node that has crashed is not considered to be suitable for an evaluation of availability. - Lynch

Each request recieves a response. case 1 - no errors are allowed except for that of a consistency failure case 2 - no errors at all, but no guarantee of recieving the latest write

(Network) Partition Tolerance

Networks are an inherent part of distributed systems. However, a partition-tolerant system must continue to function "despite an arbitrary number of messages being dropped or delayed by the network in between nodes"

The Theorem

Explain that there's a tradeoff to be made.


CA databases (average joe postgres, read

CP (low availability, MongoDB - why?) AP (Cassandra - why?)



Do you need to distribute?


Published on: 2022-05-09
Tags: databases distributed_systems CAP WIP computerscience Collections: research