Design and Implementation of DuckDB Internals
Torsten Grust (University of Tübingen)
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