NoSQL database Cassandra was created at Facebook in 2007, uses a decentralized peer-to-peer architecture for high availability and scalability. It is influenced by BigTable for its column family data model and Dynamo for its high availability and eventual consistency. Cassandra uses a flexible data model of keyspaces, column families, and columns and supports tunable consistency levels for reads and writes.
8. Features
Decentralized (peer to peer)
Elastic
Shared Nothing Architecture
Tuneable Consistency
Always Writeable
Optimized for excellent throughput on
writes
15. Secondary Indexes
Use another column family with reverse
lookup
Specify Metadata on the Column Family
and set the index name and type
Support coming in 0.7
20. Replication Factor
Set per keyspace
Specified in servers config file
Indicates how many nodes you want to
store a value in on every write
21. Consistency Level
Set per query
Specified by the client
Indicates how many nodes the client has
decided must respond for a successful
read/write
Based on replication factor, not on the
number of nodes in the system
22. Write Consistency
Levels
Zero: No response required
Any: 1st response from any node
One: 1st response (counting Hints)
quorum: n/2 + 1
All: All replicas must respond
23. Read Consistency
Levels
One: The first response is taken
Quorum: N/2 + 1 replicas are required
to respond
All: All replicas are required to
respond
26. Read Repair
When a read operation found
inconsistent data in different nodes
Timestamp for all replicas are checked
all replicas are updated based on most
recent value
Weak vs Strong consistency entails
whether Read Repair happens before or
after returning results