The Origins of Cassandra
Saturday, May 29, 2010 at 9:33AM |
Derek Stainer Cassandra roots can be traced back to Facebook. Specifically, it can be traced to an attempt to solve a problem within Facebook related to searching the Inbox of user's mail. Ultimately, Inbox Search was released in 2008 and served around 100 million users at the time of it's release. One can assume with Facebook approaching 500 million users, that the number of users has increased just a tad. Cassandra roots can be trace to two other proprietary data stores in Amazon's Dynamo and Google's BigTable, which both serve as influences in Cassandra's design and implementation.
This paper written by Avinash Lakshman and Prashant Malik of Facebook. They dive into the specifics of Cassandra including:
- Influential Works
- Data Model
- Client API
- System Design
- Distributed Algorithms
Here what Lakshman and Malik had to say specifically about the system design:
The architecture of a storage system that needs to operate in a production setting is complex. In addition to the actual data persistence component, the system needs to have the following characteristics; scalable and robust solutions for load balancing, membership and failure detection, failure recovery, replica synchronization, overload handling, state transfer, concurrency and job scheduling, request marshalling, request routing, system monitoring and alarming, and configuration management.
Read more: Cassandra - A Decentralized Structured Storage System
Related Reading:
Introduction to the Cassandra Data Model
Understanding the Cassandra Code Base
Installing and using Cassandra in just five steps
Amazon,
Avinash Lakshman,
BigTable,
Cassandra,
Dynamo,
Facebook,
Google,
Prashant Malik 
