The Post-CAP Reading List

Eric Brewer and Daniel Abadi expand our notions of what the real trade-offs are in the CAP theorem.

Flexible positioning between C and A

Eric Brewer discusses the range of options available under CAP in “CAP Twelve Years Later: How the "Rules" Have Changed”. In particular, he notes that designers don’t have to pick exclusively between AP or CP, but can choose a range of flexible options between the two, including limiting operations during a partition to just certain, inviolable operations that will maintain invariants.

Brewer also makes an point regarding latency. In the original CAP paper, a partition is indistinguishable from a high-latency network, since in both cases a node is out of communication with another node for a period of time. This allows for an interesting optimization, that “designers can set time bounds intentionally according to target response times.”

In both cases, latency and operations, Brewer argues that the trade-offs in CAP are actually quite flexible and allow middle-of-the-road choices.

Focus on Latency

Daniel Abadi talks about latency too, but brings it to the forefront of the CAP theorem in “Problems with CAP, and Yahoo’s little known NoSQL system”.

Many programmers have noted that you don’t get a real choice on whether to handle partitions or not, if you allow multiple nodes then you must handle partitions. The correct formulation of CAP isn’t “pick 2 of 3” but “if you have multiple nodes, do you pick availability or consistency?” Where Abaci breaks from Brewer is that he doesn’t treat latency as subset of Partition, instead Abadi adds Latency as a fourth trade-off. Yahoo’s PNUTs database relaxes both Consistency and Availability in exchange for better Latency.

Abaci extends CAP to the unpronounceable PACELC, which stands for: if Partitions, you can choose Availability or Consistency. Elsewise, you can choose Latency or Consistency.

For example, Amazon’s Dynamo (and related systems like Cassandra and SimpleDB) are PA/EL in PACELC --- upon a partition, they give up consistency for availability; and under normal operation they give up consistency for lower latency. Giving up C in both parts of PACELC makes the design simpler --- once the application is configured to be able to handle inconsistencies, it makes sense to give up consistency for both availability and lower latency.

Fully ACID systems are PC/EC in PACELC. They refuse to give up consistency, and will pay the availability and latency costs to achieve it.

However, there are some interesting counterexamples where the C’s of PACELC are not correlated. One such example is PNUTS, which is PC/EL in PACELC. In normal operation they give up consistency for latency; however, upon a partition they don’t give up any additional consistency (rather they give up availability).


cover letters <a href="">cover letter help</a> cover letter for application <a href=>cover letters</a>

— by Buying Essays on 19th Feb, 2018

cover letters <a href="">a good cover letter</a> perfect cover letter <a href=>make a good cover letter</a>

— by School Assignments on 19th Feb, 2018

cover letters <a href="">cover letters</a> a good cover letter <a href=>cover letter for employment</a>

— by Buy Cheap Essays on 21st Feb, 2018

cover letter help <a href="">cover letters for jobs</a> cover letters <a href=>write cover letter</a>

— by Homework Good Or Bad on 21st Feb, 2018

career cover letter <a href="">cover letters</a> teacher cover letter <a href=>academic cover letter</a>

— by Dissertation Online on 22nd Feb, 2018

application cover letter <a href="">cover letters</a> cover letters for employment <a href=>cover letter help</a>

— by Web Assign Utah on 22nd Feb, 2018 - - - Разработка сайтов

— by SEOZeF on 23rd Feb, 2018

<a href=>Fuck you</a>

— by FuckMoith on 11th Mar, 2018

Туристическое гентство «Айланд-тур» в Нижнем Новгороде <a href=>Лучшие туры и путевки за границей -</a>

— by ailandMoith on 14th Mar, 2018 It’s exhausting to find educated individuals on this subject, however you sound like you understand what you’re talking about! Thanks

— by Apjplobery on 20th Mar, 2018

Add your voice