CAP Revisited

PACELC

I just found out about an excellent blog post on the CAP theorem by Daniel Abadi. I agree with his assertions that the CAP theorem is somewhat confusion and like the concept of PACELC. In my opinion, the main problem is an unclear understanding of what C, A, and P actually mean.

My 3 cents on consistency, availability, and partition-tolerance:

Consistency

Imho, it does not make much sense to talk about consistency without a specific application or system architecture in mind. For example, in the case of a relational database, consistency usually equals integrity constraints & atomic transactions; in the case of Dynamo/Cassandra it is specified by the N-R-W configuration of the quorum protocol (or hard-wired consistency level); et cetera.

Availability

In a similar sense, when defining availability, there should be a time constraint (e.g. if the ping does not return after 2 secs, the app is down). Everything in between [0, 2] is the “availability spectrum”, aka latency. Apparently, it is again application-specific what the upper bound should be and when we talk about latency as opposed to availability.

Partition-tolerance

I agree that from a client perspective there is no difference between unavailability due to server failure and unavailability due to network partition. However, different repair mechanisms will be used in either case so it might make sense to differentiate when looking from a system perspective (?)

What do you think?

Advertisement

One Response to “CAP Revisited”

  1. Tweets that mention CAP Revisited « Cloudy Times -- Topsy.com Says:

    [...] This post was mentioned on Twitter by Charlton Barreto and MyAllTop – Cloud, nubes. nubes said: CAP Revisited – http://tinyurl.com/6gol66h #cloud [...]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.