← All courses

🪳 CockroachDB

The category running on your laptop — three nodes, a console where you can watch a range split, the hot node you create on purpose and then fix, a retry error you catch, regions declared in DDL, and a migration from PostgreSQL that lists everything the compatibility page did not mention.

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

Before you start: Distributed SQL — Series 1, and Series 2. Why a commit is a conversation, why the primary key is now a placement decision, and why transactions become retryable are taught there once, for the whole category. This track shows them running and does not re-derive them.

Before you start: PostgreSQL — Series 1, and Series 2. This is PostgreSQL's dialect and PostgreSQL's client. You need to be able to read a plan and reason about an index on one machine before the interesting part — what changes when the rows are on three.

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 · Running a Cluster, and Seeing It

three nodes on a laptop, the console, and where the rows went

  1. 01

    Three Nodes and the Console — Watching a Range Split for the First Time

    coreintermediatecoming soon
  2. 02

    PostgreSQL Compatibility — a Wire Protocol, Not a Promise of Behaviour

    coreintermediatecoming soon
  3. 03

    Ranges, Replicas and Leaseholders — Finding Out Which Nodes Answered

    coreintermediatecoming soon
  4. 04

    EXPLAIN Here — Distribution, and the Round Trips the SQL Does Not Mention

    coreintermediatecoming soon
  5. 05

    Project — Run Northwind on Three Nodes and Say Where Every Table Lives

    coreintermediate#projectcoming soon

Series 2 · Schema and Transactions

keys that spread, regions in DDL, and the retry loop

  1. 01

    Making the Hot Node Happen, Then Fixing It — Hash-Sharded Indexes and UUIDs

    coreadvancedcoming soon
  2. 02

    Regions and Survival Goals as DDL — Data Residency in a Schema Line

    coreadvancedcoming soon
  3. 03

    Retry Errors — Causing One on Purpose, and Writing the Loop That Handles It

    coreadvancedcoming soon
  4. 04

    STORING and Covering — Paying for a Second Hop, or Not

    coreadvancedcoming soon
  5. 05

    Distributed Joins — Reading Which Side Moved, and Co-locating So Neither Does

    advancedcoming soon
  6. 06

    Project — Diagnose a Schema Whose Inserts All Land on One Node, Then Fix It

    coreadvanced#projectcoming soon

Series 3 · Operating It, and Moving Onto It

schema changes, backups, upgrades, and a migration that tells the truth

  1. 01

    Kill a Node and Watch — What You Stop Having to Do at Three in the Morning

    coreadvancedcoming soon
  2. 02

    Online Schema Changes, Backups and Changefeeds — the Parts You Still Own

    coreadvancedcoming soon
  3. 03

    Rolling Upgrades and Finalisation — the Step After Which There Is No Way Back

    advancedcoming soon
  4. 04

    Migrating From PostgreSQL — What the Compatibility Page Will Not Tell You

    coreadvancedcoming soon
  5. 05

    Project — Migrate a Postgres Schema and List Everything That Had to Change

    coreadvanced#projectcoming soon

Not here, on purpose

  • Whether to adopt distributed SQL at all, and which product — covered in Distributed SQL, which is the concepts track this one assumes. In this course, Series 1 · 00 gets a cluster running and takes the decision as already made
  • The other products in the category — covered in Distributed SQL, Series 3 · 00. Named here where a difference matters and never compared at length
  • SQL itself — covered in Learn SQL. In this course, Series 1 · 05 covers only where the dialect and the behaviour differ from what a PostgreSQL client expects
  • Operating the cluster — provisioning, monitoring, capacity, on-call — covered in Data Ops for the discipline. In this course, Series 3 covers only what a schema author owns
  • Analytical workloads over the data — covered in Data Warehousing. In this course, Series 3 · 05 covers changefeeds, which is how the data leaves for a warehouse