One theorem to rule them all...
Saturday, May 15, 2010 at 12:12AM |
Derek Stainer Ok so maybe that is a bit of hyperbole on my part. However, the intent of the headline is real. One of the most important theorems that resonates in almost every non-relational data store is Eric Brewer's CAP Theorem.
The theorem states that in highly available shared data systems, you can have only two of the following three properties: Consistency, Availability and Partitioning.
So how does this relate to NoSQL. Well most NoSQL data stores such as Cassandra, CouchDB and Dynamo pick which two their system can support. Take the following excerpt from Cassandra's Architecture Overview wiki page:
Cassandra values Availability and Partitioning tolerance (AP). Tradeoffs between consistency and latency are tunable in Cassandra. You can get strong consistency with Cassandra (with an increased latency). But, you can't get row locking: that is a definite win for HBase.
Note: Hbase values Consistency and Partitioning tolerance (CP)
Anyway, the presentation is interesting and, as mentioned, a fundamental building block of the NoSQL data stores out there.
Read More: Towards Robust Distributed Systems

