« Sponsored Post: Cloudkick, Strata, Undertone, Joyent, Appirio, CloudSigma, ManageEngine, Site24x7 | Main | Stuff the Internet Says on Scalability For November 29th, 2010 »
Tuesday
Nov302010

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?

November 30, 2010 | Unregistered Commenterdiprey

You can find more detailed background on this arguments my previous post on that regard: NoCAP - Part II Availability and Partition tolerance


Interestingly enough the last note in Gilbert and Lynch is also an interesting recognition that it may be possible to achieve different tradeoffs that provides both Availability and Consistency:

..in partially synchronous models it is possible to achieve a
practical compromise between consistency and availability. In particular,
most real-world systems today are forced to settle with returning “most of
the data, most of the time.” Formalizing this idea and studying algorithms
for achieving it is an interesting subject for future theoretical research.

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.

December 2, 2010 | Registered CommenterNati Shalom

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>