Cassandra: The Definitive Guide

Author: Eben Hewitt
This Month Stack Overflow 1


by anonymous   2019-01-13

Edit, Nov 2017: Please note the original answer was written in 2010. Cassandra has now become one of the leading NoSQL data stores. It is reliable, mature and well supported by Datastax. It has changed significantly. Super-columns are gone, secondary indices are in, massive improvement is done using JNI, it now has a SQL-like query language and integrates well with distributed computing tools such as Spark, and Hadoop. With time came other alternatives too; checkout ScyllaDB.

Not sure if I can convince you. But, I am working on a project that uses Cassandra. Cassandra is not the complete solution but it is very fast and it is good for grouped information.

We have off loaded all the intensive read-write data to Cassandra, and the data that are lesser in-demand and do need relational integrity are still in MySQL (on top of which there is MemcacheD). And, I guess Facebook must also be having an amalgam of MySQL, Cassandra, MemcacheD. At least that's what I guess.

To answer your questions (on my short experience with Cassandra and MySQL)

  1. MySQL is traditional and you can build on top of it easily. Cassandra (or any new NoSQL approach) need to be assimilated and sometime you find terminologies conflicting. So, MySQL wins here.
  2. Performance wise Cassandra wins. (read-write performance)
  3. If you are talking about hardware, I am unsure. But I guess, hardware wise, one MySQL master + four slave is same as 4 Cassandra node. But I, honestly, do not know.
  4. Scalabity: Cassandra, Reliability: MySQL. If you read Cassandra docs, it says it's eventually consistent. But I have not tested reliability of Cassandra. By the way, by pointing "eventually consistency" under reliability, I do not mean that it's unrealiable. I mean that at any given time, you might not be sure if a node is the latest and has all the updates.
  5. There are a lot of automated tools for DB management, alteration. But for Cassandra there are not so much. So, MySQL wins here. But I guess, tools for Cassandra will be available soon.

We are just starting with Cassandra, I hope someone can point out if anything above they do not find correct. I would be glad to retest and rectify, if necessary.

When I started I did not find much documentation, but now looks like Apache Cassandra page has quite a few articles listed. Refer: