Re:Cassandra Performance
by rescrv on Friday January 18, 2013 @05:57PM
(#5081590)
Check out HyperDex, Hbase and BigTable for systems that provide better guarantees than "eventually."
[ Parent
| on HN ]
Re:Cassandra Performance
by tylerhobbs on Friday January 18, 2013 @07:53PM
(#5082074)
You would need to define "consistency" in order to have a more reasonable discussion about what each system provides, but Cassandra certainly isn't only eventually consistent. You can choose the number of replicas that must respond in order to consider the read/write operation a success per operation, which allows you to have quorum-based strong consistency guarantees.
There are more details on the options here: http://www.datastax.com/docs/1.2/dml/data_consistency
Consistency is a safety property. HyperDex, Hbase and BigTable all provide linearizability, which has a well-defined meaning. Cassandra does not, and most of its descriptions of consistency only refer to the behavior of the system, and not the properties you can rely upon. Pointing to the number of replicas read or written only clouds the issue.
I think if you will write to Cassandra with consistency level ALL, you will get strong consistency. Or you can use write consistency = 1 and read = ALL, or write consistency = Quorum and read consistency = Quorum.