Is it possible to build the entire social networking application on cassandra? Sure, it takes longer to set up, but it scales much better. Correct?
Please list the situations when Cassandra should be used.
Is it possible to build the entire social networking application on cassandra? Sure, it takes longer to set up, but it scales much better. Correct?
Please list the situations when Cassandra should be used.
Cassandra is in use at Digg, Facebook, Twitter, Reddit, Rackspace, Cloudkick, Cisco etc. so the answer to your first question would be yes.
The short version of the list that describes the situations in when Cassandra should be used.
You need the possibility to add new nodes to yout cluster, with no downtime.
You need a richer data model (column oriented) than simple key/value
You need the possibility to have both synchronous and asynchronous replication for each update.
To briefly summarize Brewer's CAP Theorem, your database is going to give you at most two of the following three properties:
A relational database such as SQL Server or MySQL will give you consistency and sacrifices either availability or partition tolerance. A distributed database such as Cassandra will sacrifice consistency to give you both availability and partition tolerance.
So in short, use Cassandra if you don't need immediate consistency and are OK with eventual consistency.