With modern social networking and scaling, can Cassandra replace the standard relational database such as MySQL?
Is it possible to build the entire social networking applicat开发者_高级运维ion 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.
yes, Cassandra is really highly used and showing its performance at Digg, Facebook, Twitter, Reddit, Rackspace, Cloudkick, Cisco etc. and its really scalable nosql database with a tiny code base and memory consumption so its will be really nice choice for big 24-7-365 web-projects and for reference you can see at
http://www.datastax.com/dev/blog/why-does-scalability-matter-and-how-does-cassandra-scale
http://www.slideshare.net/scode/scaling-with-apache-cassandra/
To briefly summarize Brewer's CAP Theorem, your database is going to give you at most two of the following three properties:
- Consistency
- Availability
- Partition Tolerance
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.
精彩评论