← All courses

💍 Apache Cassandra

CQL looks like SQL and is not — one table per query, a partition key that decides which machine answers, and tombstones, where deleting rows makes reads slower and inserting NULL is a delete. Written for the mistakes that only appear after six months.

No lessons published yet — this is the roadmap, so you can see exactly what the course will cover before it lands.

Before you start: NoSQL Concepts — Series 1, Series 2, and Series 3. Partition keys, quorums and eventual consistency are taught there once, for every engine. This track is unusable without them — nearly every design decision in Cassandra is one of those three ideas wearing a CQL keyword.

Short on time? The 14 episodes marked core are the shortest path to being productive at work. Start there and pick up the rest whenever a job asks for them.


Series 1 · The Ring and the Table

how a row finds a machine, and why you design from the query

  1. 01

    The Ring — No Primary, and the Hash That Chooses Your Machine

    coreintermediatecoming soon
  2. 02

    CQL Is Not SQL — No Joins, No Groups, and ALLOW FILTERING Is a Confession

    coreintermediatecoming soon
  3. 03

    Partition Key and Clustering Columns — Two Halves, Two Completely Different Jobs

    coreintermediatecoming soon
  4. 04

    One Table Per Query — the Schema Describes the Access Patterns, Not the Business

    coreintermediatecoming soon
  5. 05

    Project — Five Queries, Five Tables, and One Write That Feeds Them All

    coreintermediate#projectcoming soon

Series 2 · Consistency and What the Disk Does

tunable consistency, the LSM tree, and tombstones

  1. 01

    Consistency Levels — a Dial on Every Statement, Not a Property of the Database

    coreadvancedcoming soon
  2. 02

    Commit Log, Memtable, SSTable — Why Writes Are Cheap and Nothing Is Modified

    coreadvanced#oneil-lsmcoming soon
  3. 03

    Tombstones — Deletes Make Reads Slower, and Inserting NULL Is a Delete

    coreadvancedcoming soon
  4. 04

    Compaction Strategies — Choosing Which Amplification You Would Rather Pay

    advancedcoming soon
  5. 05

    Secondary Indexes and Materialized Views — Why the Answer Is Another Table

    advancedcoming soon
  6. 06

    BATCH Is Not a Transaction — and Lightweight Transactions Cost Four Round Trips

    coreadvancedcoming soon
  7. 07

    Project — Diagnose a Table That Got Slower Every Month, and Say Why

    coreadvanced#projectcoming soon

Series 3 · Living With a Cluster

wide partitions, repair, and the relatives worth knowing

  1. 01

    Wide Partitions — the Modelling Mistake That Takes Two Years to Show

    coreadvancedcoming soon
  2. 02

    Repair — the Scheduled Job That Stops Deleted Data Coming Back

    coreadvancedcoming soon
  3. 03

    A Time-Series Table, Properly — Buckets, TTLs and the Compaction to Match

    coreadvancedcoming soon
  4. 04

    The Relatives — Where the Partition Key Thinking Transfers Unchanged

    advancedcoming soon
  5. 05

    Project — Design a Model That Is Still Fast After Two Years of Data

    coreadvanced#projectcoming soon

Not here, on purpose

  • Why wide-column at all, and how it differs from the other shapes — covered in NoSQL Concepts, Series 2 · 10, which this course assumes
  • Quorums, CAP and eventual consistency as theory — covered in NoSQL Concepts, Series 3. In this course, Series 2 · 00 is what the consistency levels do in this product specifically
  • SQL itself — covered in Learn SQL. CQL borrows its spelling and almost none of its semantics. In this course, Series 1 · 05 is about that gap rather than about SQL
  • Running the cluster — provisioning, upgrades, monitoring, capacity — covered in Data Ops for the discipline. In this course, Series 3 covers only the maintenance a data person's design decisions create
  • Analytics over the data once it is there — covered in Data Warehousing and Apache Spark. Cassandra answers known questions fast and is a poor place to ask new ones