The CAP Theorem
In theoretical computer science, the CAP theorem states that it is impossible for a distributed data store to simultaneously provide more than two out of the following three guarantees:
Consistency (C)
Every read receives the most recent write or an error.
Availability (A)
Every request receives a (non-error) response, without the guarantee that it contains the most recent write.
Partition Tolerance (P)
The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes.
Since network partitions are unavoidable in distributed systems, the choice usually comes down to Consistency vs. Availability.