Overview
Cassandra Architecture
- Distribution Model - Dynamo
- Storage Model -BigTable
- Peer-to-peer
- Column-oriented
- Commitlog
- Partition
- Replication strategy
Write Path
Read Path
Data Model
Storage Model
Column-oriented
Map<RowKey, SOrtedMap<Column, ColumnValue>>
- RowKey: unique
- ColumnKey
- Schemaless
Logical Data Structure
Column: Name, Value, Timestamp, TTL
Row: Row Key, several columns
Column Family: contains serveral Rows
Keyspace: serveral column families, Super column family
Caveats for Relational Developers
- No normalization
- Focus on query
- Physical topology of cluster
- Collections (set, list, map)
- No foreign keys, no referential integrity, no joins
- Denormalization
- No sequence
- Secondary index
- Tradeoff in ACID