The Elastic DBMS Blog

October 27, 2011

CAP Theorem Part 5: Implications of the relationship between Consistency, Availability, and Partition Tolerance

This is the fifth of a six part blog post about the CAP Theorem. You can read the first part here. You can download all six parts in one document here.

Implications

We now consider the practical implications of the relationship that was established above.

Brewer’s Conjecture

An immediate implication of the relationship between TC, TA, and TP is an alternate validation of the Brewer Conjecture.

As TC + TA ≥ TP, we can conclude the following.

  • If a service is Strictly Consistent (TC = 0) and Perfectly Available (TA = 0), then it is not partition tolerant (TP = 0). In other words, a Strictly Consistent and Perfectly Available service cannot also be Partition Tolerant (TP > 0).
  • If a service is Partition Tolerant (TP > 0) then either it is not Strictly Consistent (TC > 0) or the service is not Perfectly Available (TP > 0). In other words, a Partition Tolerant service must compromise either Consistency or Availability.

That is Brewer’s Conjecture.

Placing limits on Availability and Consistency in a practical service

The relationship between TC, TA, and TP helps establish practical limits on consistency and availability guarantees in a service.

In practice it is impossible to entirely eliminate partitions (TP = 0) because failures can and will occur. While there is a high probability that the service will face short network partitions, one can design services that will have a low probability of long network partitions.

If a service is required to provide a response to each request within some amount of time T1 then the best consistency guarantee that can be provided is that the service is (TP – T1) Consistent.

Similarly, if a service is required to provide a consistency guarantee of T2 (i.e. that the service shall be T2 Consistent), then the service cannot guarantee a response in less than (TP – T2).

Finally, if a service is required to provide a TC Consistency and a response in less than TA then the infrastructure shall guarantee that no node in the service will suffer a network partition between with any other node lasting more than TC + TA.

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.

Take the next step