The Fifth Elephant 2015

A conference on data, machine learning, and distributed and parallel computing

CAP Theorem: You don’t need CP, you don’t want AP, and you can’t have CA

Submitted by Siddhartha Reddy (@sids) on Sunday, 14 June 2015

Section: Full Talk Technical level: Intermediate

View proposal in schedule


CAP Theorem is everywhere: “Consistency, Availability, Partition tolerance — choose any two!” But it is oversimplified and misunderstood more often than not. CAP’s consistency isn’t what most people think it is; CAP’s availability isn’t what most people think it is; what does partition-tolerance even mean?

In this talk we’ll explore the CAP-theorem and understand what it is really asserting. We’ll understand that just calling a system out as CP or AP (or even CA) is pretty pointless, and learn to judge them beyond the simple monikers. We’ll also analyse some popular databases of the world (Cassandra, MongoDB, HBase, MySQL etc.) with this framework.


If you use any distributed database, you would have surely heard of the CAP Theorem: “Consistency, Availability, Partition tolerance — choose any two!” But CAP theorem is a little more nuanced than that, and it’s impact on how you should choose and operate distributed databases even more so.

Consider these two examples:

  1. A distributed key-value store where nodes accept all writes but then respond to all read requests with a null.
  2. A distributed key-value store where every node rejects all write as well as read requests.

We can build the above systems using just some bash utilities. The first is an example of an AP system and the second is an example of a CP system; in fact, these examples are more-or-less straight out of the paper that proved the CAP Theorem. Given that such trivial systems can be classified as CP/AP, is CAP-Theorem even a viable framework for analysing distributed databases?

Tentatively, the talk will cover:

  • intro to CAP theorem (the assertion; meaning of C, A, & P; proof)
  • examples of trivial CP & AP systems
  • why CA is not meaningful, CP is not viable, AP is not useful
  • alternatives to CAP theorem
  • analysis of a few real-world databases

Speaker bio

Siddhartha is an Architect at Flipkart, presently working on the company’s central Data Platform. He had earlier built and operated’s search system and offers platform for a couple of years each. Through these and other systems he has been exposed to several distributed data systems with varying needs of scale, consistency, & availability. Siddhartha’s areas of interest include distributed systems, databases, and information retrieval.



  • ashish bhutani (@ashishbhutani) 4 years ago (edited 4 years ago)

    Sounds interesting!! Waiting for it!

  • Vishal Uderani (@vishalud) 4 years ago
    • Kiran Jonnalagadda (@jace) 4 years ago

      Sid, how different is your talk from this blog post?

      • Siddhartha Reddy (@sids) Proposer 4 years ago (edited 4 years ago)

        Kiran, I will indeed be covering aspects of what Martin has written about i.e. that the CAP-theorem does not accurately represent the trade-offs that exist in distributed databases. But there is a trade-off nevertheless and I will be talking about how to make those trade-offs, and what those trade-offs would mean for applications. I’ll also present some alternative frameworks for analysing these trade-offs. I’m also hoping to present the analyses of a few real-world databases as a means to demonstrate how to go about thinking about these trade-offs in the context of evaluating architectural choices.

        Please refer to the mind-map of the talk linked to above for an overview of the talk’s planned content.

  • ashwin kumar (@ashwink2) 9 months ago

    Thanks a lot for this most useful informational post, i am learning through this and suggesting
    everyone to use this Homepage for more knowledge and able to change your desktop computer name easily with some simple steps.

  • Jennifer Grace (@assignmentservices) 7 months ago

    I see a lot of examples in our conduct as a country that parallel a ton of other authentic procedures. Worldwide neediness is a mind-boggling web of interlinked issues. There is nobody ‘silver slug’ that will unravel worldwide disparity. Various contributing elements must be handled in parallel. Indeed, instruction alone is probably not going to prompt work without a monetary change to address the interesting side in a great part of the creating scene.

  • marie sinz (@maries) 5 months ago

    Top Theorem is an idea that a conveyed database framework can just have 2 of the 3: Consistency, Availability and Partition Tolerance. Top Theorem is significant in the Big Data world, particularly when we have to make exchange off’s between the three, in view of our special use case.

  • Brayden Marco (@braydenmarco) 4 months ago

    For the best assignment help for Students, hire the experts of Our Writers are fluent in completing Assignment work on time for all students.

  • 5 Bucks Essay (@5bucksessay) 3 months ago

    Must Verify the Divergence Theorem by more evaluating both the surface attached integral and the trip with integral, where F(x, y, z) = 2x i - yz j + z^2 k and S is the easy surface which consists value of the paraboloid z = x2+y2 must capped by the disk x3+y3<=1 in the plane z =1.

  • Kristy Murphy (@mskristymurphy) a month ago

    This is a very well written post, my compliments. Keep sharing the posts like this. Have a great day!!

Login with Twitter or Google to leave a comment