NoSQL databases & particularly Cassandra have created a lot of buzz with their high scalability promises at cheaper costs.
There is a lot of buzz around regarding Cassandr’s adoption by social networking majors like facebook, twitter, digg. But the fact really is, fb is no longer really taking Cassandra into consideration in the recent projects, and facebook never completely relied on cassandra ditching mysql even though it is still struggling hard with mySQL where Cassandra could have been a good fit for their models.
Even twitter stepped back from its plans to move to Cassandra cluster
Also Digg hasn’t been very successful with their Cassandra implementation(but not clear who to be blamed for this).
With this no big players are left around who are proud playing with Cassandra..!!
It is still in the alpha stage and with small community so should Cassandra be considered for production environments for big projects?? For a social networking site, which database solution amongst MySQL & Cassandra would be:
- easier to build on, maintain and administer
- offers good performance
- cheaper solution
- future proof (in terms of scalability, reliability, etc)
- less human administration required.
Amongst all above I majorly doubt its reliability…. Am I risking my data with Cassandra!!???
any other advice you can give ?
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)
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: