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