Design and implementation of DuckDB internals

A comprehensive 15-week course by Professor Torsten Grust explores the internal design and implementation of DuckDB, covering topics from vectorized execution to query optimization.
Design and Implementation of DuckDB Internals
A DuckDB-based course on the Design and Implementation of Database System Internals (“DiDi”).
The slides and auxiliary material are available in the GitHub repository.
This lecture material has been developed by Torsten Grust to support a 15-week course for undergraduate students of the Database Research Group at University of Tübingen (Germany).
The course treads on a path through selected internals of the DuckDB relational database system. 15 weeks do not suffice to exhaustively discuss all interesting bits and pieces of the DuckDB kernel. As of March 2026, the chapter layout reads as follows:
- Welcome & Setup
- The Query Performance Spectrum
- Managing Memory + Grouped Aggregation
- Sorting Large Tables
- The ART of Indexing
- Query Execution Plans and Pipelining
- Vectorized Query Execution
- Query Rewriting and Optimization
You will need basic SQL skills to follow the course's red thread and auxiliary material. There are few queries that go beyond the core SELECT-FROM-WHERE-GROUP BY-HAVING block, however. Should you require an introduction to the tabular data model and its query language SQL, you may find the companion course Tabular Database Systems helpful.
Source: Hacker News














