Hi Lin,

In the CAP theorem
Consistency stands for atomic consistency, i.e., each CRUD operation 
occurs sequentially in a global, real-time clock
Availability means each server if not partitioned can accept requests

Partition means network partition

As far as I understand (although I do not see any official documentation), 
HBase achieved "per key sequential consistency", i.e., for a specific key, 
there is an agreed sequence, for all operations on it. This is weaker than 
strong or sequential consistency, but stronger than "eventual 
consistency".

BTW: CAP was proposed by Prof. Eric Brewer...
http://en.wikipedia.org/wiki/Eric_Brewer_%28scientist%29

Best Regards,
Wei

Wei Tan 
Research Staff Member 
IBM T. J. Watson Research Center
19 Skyline Dr, Hawthorne, NY  10532
w...@us.ibm.com; 914-784-6752



From:   Lin Ma <lin...@gmail.com>
To:     user@hbase.apache.org, 
Date:   08/07/2012 09:30 PM
Subject:        consistency, availability and partition pattern of HBase



Hello guys,

According to the notes by Werner*, "*He presented the CAP theorem, which
states that of three properties of shared-data systems—data consistency,
system availability, and tolerance to network partition—only two can be
achieved at any given time." =>
http://www.allthingsdistributed.com/2008/12/eventually_consistent.html

But it seems HBase could achieve all of the 3 features at the same time.
Does it mean HBase breaks the rule by Werner. :-)

If not, which one is sacrificed -- consistency (by using HDFS),
availability (by using Zookeeper) or partition (by using region / column
family) ? And why?

regards,
Lin


Reply via email to