In a distributed system we can have only two out of the three guarantees across as write/read pairs: Consistency, Availability, and Partition Tolerance - one of them must be sacrificed.