It is also known as Brewer’s theorem after computer scientist Eric Brewer
It states no distributed data store can provide more than 2 out of 3 gurantees
Consistency : Every client views the same data. Every node in distributed cluster recieves same data.
Availability : During node failure time, every node must respond in a reasonable amount of time.
Partition tolerance : Gurantees partition tolerance can recover from partitions once the partition heals.
Image credits : here