← All courses

⚖️ Database X vs Database Y

One pairwise comparison at a time, decided on evidence rather than folklore — Postgres against MySQL, row-store against columnar, embedded against server. What each pair genuinely differs on, what turns out to be the same, and which question actually decides it.

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

Before you start: Learn SQL — Series 1 and Series 2. Every comparison here is made by running the same query on both engines and reading what comes back. You do not need to know either engine in advance — each episode teaches what it needs — but you do need to be able to read the query and know the right answer.

Short on time? The 8 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 · Row-Store vs Row-Store

the arguments teams actually have, settled on evidence

  1. 01

    MySQL vs PostgreSQL — Strictness, Index Kinds, and What Actually Differs

    coreintermediatecoming soon
  2. 02

    Oracle vs PostgreSQL — Where the Difference Is Technical and Where It Is the Licence

    intermediatecoming soon
  3. 03

    SQL Server vs PostgreSQL — Plan Caching, Clustered Indexes and Ecosystem Gravity

    intermediatecoming soon
  4. 04

    What a Migration Actually Costs — the Schema Is the Easy Part

    coreintermediatecoming soon

Series 2 · Row vs Columnar

when the storage model is the whole answer

  1. 01

    The Storage Model — What Rows and Columns Each Make Cheap

    coreadvancedcoming soon
  2. 02

    ClickHouse vs PostgreSQL — Batched Inserts, No Foreign Keys, and Scans That Fly

    coreadvancedcoming soon
  3. 03

    DuckDB vs PostgreSQL — A Library With One Writer Against a Server With Hundreds

    coreadvancedcoming soon
  4. 04

    DuckDB vs ClickHouse — Both Columnar, and Almost Nothing Else in Common

    coreadvancedcoming soon

Series 3 · Same Engine, Different Clothes

the comparisons where the surprise is the sameness

  1. 01

    SQLite vs PostgreSQL — What You Actually Give Up Without a Server

    coreadvancedcoming soon
  2. 02

    SQLite vs DuckDB — Both Embedded, Built for Opposite Questions

    advancedcoming soon
  3. 03

    TimescaleDB vs Plain PostgreSQL — What the Extension Adds That Partitioning Does Not

    advancedcoming soon
  4. 04

    Supabase vs Self-Hosted PostgreSQL — What Changes When the Schema Is the API

    advancedcoming soon
  5. 05

    Project — Run a Comparison This Course Never Wrote

    coreadvanced#projectcoming soon

Not here, on purpose

  • Learning either engine properly — covered in that engine's own course in this catalogue — PostgreSQL, MySQL & MariaDB, DuckDB, ClickHouse and the rest. Here you only meet as much of each as the comparison needs
  • Which cloud to run it on, and what it costs there — not covered. Pricing changes faster than we could keep it true, and it is a procurement question rather than an engineering one
  • Migrating between two engines once you have chosen — not covered as a project. Series 1 · 20 covers what a migration between two row-stores actually costs, which is the part that belongs in a decision
  • Designing the schema you will put in whichever one you pick — covered in Data Modeling