Database Reference
In-Depth Information
See also Commit Log .
Dynamo
Created in 2006 by Amazon and, along with Google's Bigtable, a primary basis for Cas-
sandra. From Dynamo, Cassandra gets the following: a key-value store, a symmetric peer-to-
peer architecture, gossip-based discovery, eventual consistency, and tunability per operation.
You can read the complete paper “Dynamo: Amazon's Highly Available Key-Value Store”
at http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html .
Ellasttiic
Read and write throughput can increase linearly as more machines are added to the cluster.
Eventtual C
l Consiisttency
Consistency is the property that describes the internal integrity of the data following an op-
eration. In practical terms for a strongly consistent database, this means that once a client
has performed a write operation, all readers will immediately see the new value. In eventual
consistency, the database will not generally be consistent immediately, but rather eventually
(where “eventually” is typically a matter of the small number of milliseconds it takes to send
the new value to all replicas, relative to the amount of data, the number of nodes, and the
geographical distribution of those nodes). DNS is an example of a popular eventually con-
sistent architecture. Eventual consistency is sometimes called “weak consistency.”
Eventual consistency has become popular in the last few years because it offers the ability
to support massive scalability. Although it is possible to achieve high scalability in traditional
fully consistent databases, the management overhead can become a burden. Of course, even-
tual consistency presents certain disadvantages, such as additional complexity in the pro-
gramming model.
Though the design of eventual consistency in Cassandra is based on how it is used in
Amazon's Dynamo, Cassandra is probably better characterized as “tuneably” consistent,
rather than eventually consistent. That is, Cassandra allows you to configure the Consistency
Level across the spectrum—including ensuring that Cassandra blocks until all replicas are
readable (which is equivalent to full consistency).
Riak, Voldemort, MongoDB, Yahoo!'s HBase, CouchDB, Microsoft's Dynomite, and
Amazon's SimpleDB/Dynamo are other eventually consistent data stores.
Faiillure D
e Dettecttiion
Failure detection is the process of determining which nodes in a distributed fault-tolerant sys-
tem have failed. Cassandra's implementation is based on the idea of Accrual Failure Detec-
Search WWH ::




Custom Search