Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CAP and you


Published on

CAP theorem is simple if we all use the same definitions. CAP follows from the requirements for nodes in distributed systems to send and receive messages before responding if the system requires atomic consistency. If the system can't pass messages, it can't be consistent. If consistency is a requirement, then losing messages implies the system cannot respond.

These properties apply to any distributed systems.

Published in: Technology
  • Is there a recording of the live talk anywhere (I can't find one)? Would love to hear more about slide 18, which you also commented on in a recent DevOps Cafe podcast.
    Are you sure you want to  Yes  No
    Your message goes here

CAP and you

  1. 1. Consistency…Availability…Messages…& You…<br />
  2. 2. CAPtheorem<br />
  3. 3. Consistent<br />ACID Compliant<br />“…as if every request was executing on a single node, responding to operations one at a time.”<br />
  4. 4. Available<br />“…every request received by a non-failing node in the system must result in a response.”<br />
  5. 5. Partition Tolerant<br />“…the network will be allowed to lose arbitrarily many messages sent from one node to another”<br />
  6. 6. Pick Any Two!?!!<br />It’s complicated…<br />
  7. 7. Consistent & Partition Tolerant<br />“…it is easy to achieve atomic data and partition tolerance. The trivial system that ignores all requests meets these requirements.”<br />
  8. 8. Consistent & Available<br />“If there are no partitions, it is clearly possible to provide atomic, available data.”<br />
  9. 9. Available & Partition Tolerant<br />“If there are no consistency requirements, the service can trivially return v0, the initial value, in response to every request.”<br />
  10. 10. t-Connected Consistent<br />
  11. 11. What has been neglected?<br /><ul><li>Latency
  12. 12. Failure
  13. 13. Computation
  14. 14. Durability
  15. 15. More™</li></li></ul><li>Latency<br />Petite Partitions<br />the little deaths<br />
  16. 16. When the available consistency exceeds the required availability a choice must be made…<br />
  17. 17. Raising the question, how are business decisions made?<br />
  18. 18.
  19. 19. What protocols are used to pass messages in your organization?<br />
  20. 20.
  21. 21. Has your organization chosen consistent, available or partition tolerant?<br />
  22. 22. In any human interaction, the required amount of communication is inversely proportional to the level of trust…<br />@bhorowitz<br />
  23. 23. Andrew Clay Shafer<br />@littleidea<br />work on stuff that matters<br />