💍 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
- 01
The Ring — No Primary, and the Hash That Chooses Your Machine
coreintermediatecoming soon - 02
CQL Is Not SQL — No Joins, No Groups, and ALLOW FILTERING Is a Confession
coreintermediatecoming soon - 03
Partition Key and Clustering Columns — Two Halves, Two Completely Different Jobs
coreintermediatecoming soon - 04
One Table Per Query — the Schema Describes the Access Patterns, Not the Business
coreintermediatecoming soon - 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
- 01
Consistency Levels — a Dial on Every Statement, Not a Property of the Database
coreadvancedcoming soon - 02
Commit Log, Memtable, SSTable — Why Writes Are Cheap and Nothing Is Modified
coreadvanced#oneil-lsmcoming soon - 03
Tombstones — Deletes Make Reads Slower, and Inserting NULL Is a Delete
coreadvancedcoming soon - 04
Compaction Strategies — Choosing Which Amplification You Would Rather Pay
advancedcoming soon - 05
Secondary Indexes and Materialized Views — Why the Answer Is Another Table
advancedcoming soon - 06
BATCH Is Not a Transaction — and Lightweight Transactions Cost Four Round Trips
coreadvancedcoming soon - 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
- 01
Wide Partitions — the Modelling Mistake That Takes Two Years to Show
coreadvancedcoming soon - 02
Repair — the Scheduled Job That Stops Deleted Data Coming Back
coreadvancedcoming soon - 03
A Time-Series Table, Properly — Buckets, TTLs and the Compaction to Match
coreadvancedcoming soon - 04
The Relatives — Where the Partition Key Thinking Transfers Unchanged
advancedcoming soon - 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