Design and Implementation of Database Systems Internals
- Readers
- Torsten Grust • Denis Hirn
- Lecture
- Mon 10:15-11:45, Hörsaal TTR2 (Cyber Valley Campus, MVL6)
- Tutorial
- Thu 14:15-15:45, Hörsaal TTR2 (Cyber Valley Campus, MVL6)
- Exam
- February 2, 2026
Mon 10:00-12:00, Hörsaal TTR2 (Cyber Valley Campus, MVL6)
This course studies selected internals of DuckDB, a modern database system engineed to efficiently process tabular (or: relational) data. Students will understand how DuckDB represents sizable data volumes on secondary storage (SSDs, say) as well as in RAM in compressed form. The course discusses complex SQL queries and how their plans can be simplified and optimized. To evaluate these plans in parallel, DuckDB maintains pipelines of query operators which process entire vectors of data at a time. The course studies these pipelines as well as the implementation of selected operators like join, sorting, and index-based data access using radix trees. DuckDB maintains data integrity in the face of concurrent access and system outages—students get to know the basic principles that enable the system to keep this promise.
Topics
- Introduction to internals of the DuckDB database system
- Compressed table storage
- Reading and understanding of complex query plans
- Decorrelation of nested queries
- Vectorized query execution
- Pipelining and multi-threading
- Indexing tables (radix trees)
- Implementing query operators (join, sort)
- Persistence
- Transactions
Signup and Registration
You do not need to register for the lecture in advance. Just turn up to the first lecture. You will be given all the information you need.
Organization of the exercise and Discord
In the context of the lecture and exercise, we will use our Discord Server for organization, i.e. for official announcements, questions and discussions. Registration and regular attendance on Discord is not optional, but required for participation in the event.
Semesterwochenstunden / Credits / Audience
- 2 SWS lecture + 2 SWS exercise
- 6 ECTS
- For students in computer science bachelor’s and master’s programs
Prerequisites—Recommended but not Required
- Lecture “Tabular Database Systems” (INF 3132)
- Basic knowledge of
Python - Basic knowledge of
CorC++
Questions?
For further questions please contact the teaching assistant Denis Hirn.