NoCAP – Part III – GigaSpaces clustering explained..

In many of the recent discussions on the design of large scale systems (a.k.a. Web Scale) it was argued that the right set of tradeoffs for building large scale systems would be to give away Consistency for Availability and Partition tolerance. Those arguments relied on the foundation of the CAP theorem developed in early 2000-2002. One of the core principals behind the CAP theorem is that you must choose two out of the three CAP properties. In many of the transactional systems giving away consistency is either impossible or yields a huge complexity in the design of those systems. In this series of posts, I've tried to suggest a different set of tradeoffs in which we could achieve scalability without compromising on consistency. I also argued that rather than choosing only two out of the three CAP properties we could choose various degrees of all three. The degrees would be determined by the most likely availability and partition tolerance scenarios in our specific application. The suggested model was based on the experience we had in GigaSpaces over the course of the past years and was successfully deployed in many mission critical systems today in Finance, Telco and ecommerce business. I hope that through the sharing of this experience we could come up with a broader set of patterns on how to build large scale systems that would fit also to mission critical transactional systems. Read more...
Reader Comments (2)
Nati,
It's a theorem, it's mathematically proven: Sorry.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.20.1495&rep=rep1&type=pdf
What is your argument, really? I never heard of a formal logic going stale with time. You don't disagree with math, do you?
You can find more detailed background on this arguments my previous post on that regard: NoCAP - Part II Availability and Partition tolerance
The theorem looks at CAP in absolute terms and to that end it proved that you can only choose two out of three of the CAP properties. But the question is what happens when you don't measure all three properties in absolute terms?
As noted above Gilbert and Lynch suggested that this should be an area for future research.
I also believe that with cloud computing - the fact that you can create a new machine by a call of an API could change the way fail-over can be handled.
HTH
Nati S.