Module Number

INFO-4143
Module Title

Design and Implementation of Database System Internals
Lecture Type(s)

Lecture, Tutorial
ECTS 6
Work load
- Contact time
- Self study
Workload:
180 h
Class time:
60 h / 4 SWS
Self study:
120 h
Duration 1 Semester
Frequency Irregular
Language of instruction German and English
Type of Exam

Written exam

Content

- 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

Objectives

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.

Allocation of credits / grading
Type of Class
Status
SWS
Credits
Type of Exam
Exam duration
Evaluation
Calculation
of Module (%)
Lecture
V
o
2
4.0
wt
90
g
100
Tutorial
Ü
o
2
2.0
ug
Prerequisite for participation There are no specific prerequisites.
Lecturer / Other Grust
Literature

Teilnahmevoraussetzungen (optimal, aber optional):
- Vorlesung "Tabular Database Systems" (INF 3132)
- Grundlegende Kenntnisse in C oder C++
- Grundlegende Kenntnisse in Python

---

Prerequisites (ideal, but optional):
- Lecture "Tabular Database Systems" (INF 3132)
- Basic knowledge of C or C++
- Basic knowledge of Python

Last offered unknown
Planned for Wintersemester 2025
Assigned Study Areas INFO-INFO, INFO-PRAK, MEDI-APPL, MEDI-INFO, ML-CS