In 2000, during the Symposium on Principles of Distributed Computing (SPDC), Eric Brewer presented the following theory:
"It is impossible for a shared-data system to simultaneously provide more than two of the three properties (consistency, high-availability and partition tolerance) at the same time."
- Eric Brewer
Let's review these three properties.