← All courses

🏛️ Data Warehousing

OLTP vs. OLAP, facts and grain, columnar engines (DuckDB and ClickHouse), cubes and pre-aggregation.

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 2. Everything here is a GROUP BY over a join, then the same query made to read less data. Series 2 is where multi-table joins and CTEs stop being an obstacle.

Short on time? The 23 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 · Warehousing Fundamentals

build a warehouse, load it, and prove it matches the source

  1. 01

    OLTP vs OLAP — Two Workloads That Need Different Table Designs

    corebeginner#kimballcoming soon
  2. 02

    Warehouse, Lake & Lakehouse — What Each One Actually Is

    corebeginner#kimball#inmoncoming soon
  3. 03

    The Star Schema from the Query Side — Why Analysts Like It

    corebeginner#kimballcoming soon
  4. 04

    Facts, Dimensions & Grain in Practice — Reading Someone Else's Warehouse

    corebeginner#kimballcoming soon
  5. 05

    Loading the Warehouse — From Northwind OLTP to fact_sales

    corebeginner#kimballcoming soon
  6. 06

    Reconciling With the Source — Proving the Warehouse Agrees With the App

    corebeginnercoming soon
  7. 07

    Slice, Dice, Roll-Up & Drill-Down — The Four Analytical Moves

    corebeginner#kimballcoming soon
  8. 08

    ROLLUP, CUBE & GROUPING SETS — Subtotals the Standard Way

    corebeginnercoming soon
  9. 09

    Pre-Aggregation — Summary Tables and Materialized Views

    corebeginner#kimballcoming soon
  10. 10

    Time-Based Analysis — The Date Dimension Doing Real Work

    corebeginner#kimballcoming soon
  11. 11

    Project — One Star Schema, Loaded and Queried

    corebeginner#projectcoming soon

Series 2 · Columnar Engines & Cubes

make queries fast with columnar engines and cubes

  1. 01

    Columnar Storage — Why Analytics Loves Columns

    coreintermediate#stonebrakercoming soon
  2. 02

    Inside a Parquet File — Row Groups, Encodings and Why Skipping Works

    coreintermediate#melnik-dremelcoming soon
  3. 03

    DuckDB — An Analytical Warehouse That Runs Inside Your Process

    coreintermediatecoming soon
  4. 04

    ClickHouse & MergeTree — Columnar Storage on a Server, at Scale

    coreintermediatecoming soon
  5. 05

    Partitioning, Sort Keys & Data Skipping — Read Less, Answer Sooner

    coreintermediatecoming soon
  6. 06

    Storage and Compute, Separated — Reads Cross a Network, Compute Can Sleep

    coreintermediatecoming soon
  7. 07

    The Semantic Layer — Dimensions, Measures and Hierarchies, Declared Once

    coreintermediatecoming soon
  8. 08

    Kinds of Semantic Layer — In the BI Tool, Standalone, or in Your Project

    intermediatecoming soon
  9. 09

    Reading Cubes Somebody Else Built — Sales, Inventory, Customers and HR

    intermediatecoming soon
  10. 10

    Querying a Cube — Pick the Fields, Then Read the SQL It Wrote for You

    intermediatecoming soon
  11. 11

    Materialized Views & Incremental Aggregation — Compute Once, Read Often

    coreintermediatecoming soon
  12. 12

    Star vs One Big Table on Columnar Engines — Measured on the Same Data

    intermediatecoming soon
  13. 13

    Compression & Encoding — Why the Same Table Is Ten Times Smaller Here

    intermediatecoming soon
  14. 14

    Project — The Same Question, Reading a Tenth of the Data

    coreintermediate#projectcoming soon

Series 3 · Advanced Warehousing

billions of rows, streaming loads, and controlling the cost

  1. 01

    Query Performance on Columnar Engines — Reading the Plan Again

    coreadvancedcoming soon
  2. 02

    Aggregating Materialized Views & Projections — ClickHouse Computing the Total at Insert Time

    advancedcoming soon
  3. 03

    Slowly Changing Dimensions in the Warehouse — Querying History Correctly

    coreadvanced#kimballcoming soon
  4. 04

    Billions of Rows — Partitions, Sharding & Distribution

    advancedcoming soon
  5. 05

    Lakehouse — Parquet, Iceberg and DuckDB Straight on Files

    advanced#armbrust-lakehousecoming soon
  6. 06

    Querying Across Databases — Federation, and Where the Join Actually Runs

    advancedcoming soon
  7. 07

    Streaming Ingestion — Minutes Behind Instead of a Day

    advancedcoming soon
  8. 08

    Cost & Storage — Compression, TTL and Tiering

    advancedcoming soon
  9. 09

    Benchmark — The Same Star Schema on DuckDB vs ClickHouse

    advancedcoming soon
  10. 10

    From Warehouse to BI — Feeding Dashboards, Cubes and Extracts

    advancedcoming soon
  11. 11

    Project — The Whole Northwind Warehouse, on Two Engines, Reconciled

    coreadvanced#projectcoming soon

Where this leads


Not here, on purpose

  • Designing the dimensional model — grain, SCD type, star vs snowflake — covered in Data Modeling; here you build and query the model
  • The pipelines that load it — covered in ETL & Data Pipelines and Analytics Engineering with dbt
  • Dashboards, metric definitions and delivery to business users — covered in BI & Data Visualization
  • Writing the analytical queries themselves — window functions, CTEs, tuning — covered in Learn SQL — here the query is given and the question is how much data it had to read
  • Running the server — backups, replication, upgrades, on-call — covered in Data Ops
  • Reading a cube from a dashboard, and the charts built on it — covered in BI & Data Visualization, which consumes a cube. In this course, Series 2 designs and builds one
  • Deciding the star's grain, its SCD type and star vs snowflake — covered in Data Modeling, Series 3. In this course, Series 1 · 20 loads a design somebody has already made and Series 1 · 10 queries it