2. Outline …
Introduction
Data Model
System Architecture
Failure Detection & Recovery
Local Persistence
Performance
Statistics
3. What is Cassandra ?
Distributed Storage System
Manages Structured Data
Highly available , No SPoF
Not a Relational Data Model
Handle high write throughput
◦ No impact on read efficiency
5. Similar Work
Google File System
◦ Distributed FS, Single master/Slave
Ficus/ Coda
◦ Distributed FS
Farsite
◦ Distributed FS, No centralized server
Bayou
◦ Distributed Relational DB System
Dynamo
◦ Distributed Storage system
14. Cassandra Architecture
Partitioning
Data distribution across nodes
Replication
Data duplication across nodes
Cluster Membership
Node management in cluster
adding/ deleting
21. Cluster Membership
Based on scuttlebutt
Efficient Gossip based mechanism
Inspired for real life rumor spreading.
Anti Entropy protocol
◦ Repair replicated data by comparing &
reconciling differences
24. Failure Detection
Track state
◦ Directly, Indirectly
Accrual Detection mechanism
Permanent Node change
◦ Admin should explicitly add or remove
Hints
◦ Data to be replayed in replication
◦ Saved in system.hints table
25. Accrual Failure Detector
• Node is faulty, suspicion level
monotonically increases.
• Φ(t) k
• k - threshold variable
• Node is correct
• Φ(t) = 0
29. Write Operation
Logging data in commit log/ memtable
Flushing data from the memtable
◦ Flushing data on threshold
Storing data on disk in SSTables
Mark with tombstone
Compaction
Remove deletes, Sorts, Merges data, consolidation
36. Performance
High Throughput & Low Latency
◦ Eliminating on-disk data modification
◦ Eliminate erase-block cycles
◦ No Locking for concurrency control
◦ Maintaining integrity not required
High Availability
Linear Scalability
Fault Tolerant