Languages:

Topics:

Brewer's CAP Theorem

5th February 2010

Brewer’s Theorem is pretty neat. It essentially states that you cannot have a clustered system that supports consistency, availability and partition-tolerance at the same time. So, if you want to build a nice clustered system you have to stop partitions from happening, or accept the fact that from time to time affected services will either be unavailable or inconsistent.

Eric Brewer presented this theorem in 2000 and two years later it was proved to be correct by Seth Gilbert and Nancy Lynch of MIT.

I was introduced to this theorem through a pretty good article by Julian Browne: Brewer’s CAP Theorem. Also, there is another interesting article—A CAP Solution (Proving Brewer Wrong)—in which author claims that consistency, availability and partition-tolerance is possible if we loosen the at the same time condition.