DuckDB ist eine quelloffene relationale Datenbank. DuckDB wurde als eingebettete Datenbank mit spaltenorientierter Architektur und dem Fokus auf einfache Handhabung für OLAP-Workflows entwickelt.DuckDB: SQL Introduction, zugegriffen am 3. Nov. 2025 Das Projekt verzeichnete 2025 etwa 20 Millionen Downloads pro Monat.duckdbstats , zugegriffen am 3. November 2025

Geschichte DuckDB wurde ursprünglich in den Niederlanden von dem Doktoranden Mark Raasveldt und seinem Betreuer Hannes Mühleisen am Centrum Wiskunde & Informatica (CWI) entwickelt. Die Erstveröffentlichung erfolgte 2019, die erste stabile Version folgte 1.0.0 am 2. Juni 2024.

Die Entwicklerfirma war in Amsterdam ansässig, wurde 2021 als DuckDB Labs gegründet, hieß ab Mai 2026 DuckLabs und erhielt im August 2026 ein Übernahmeangebot von Amazon. Die Entwickler sollten ab September 2026 der Sparte Amazon Web Services zugeordnet werden.

Eigenschaften und Funktionen DuckDB ist analog zu SQLite als eingebettete Datenbank konzipiert, weist keine externen Abhängigkeit auf und kann mit einem C++11-Compiler aus dem Quelltext erstellt werden. Installationspakete werden für die Programmiersprachen C/C++, Rust, Python, R, Java, Go und Node.js angeboten. Zusätzlich werden tertiäre Bibliotheken zur Einbindung der Datenbank für weitere Programmiersprachen angeboten.DuckDB: Client Overview, zugegriffen am 7. Nov. 2025

Zusätzlich zur Verwendung als eingebettete Datenbank, steht auch eine Commandline-Anwendung für die Betriebssysteme Linux, macOS und Windows zur Verfügung.

Der von DuckDB verwendete SQL-Dialekt baut auf PostgreSQL auf. Der SQL-Parser entstand auf Basis der von Lukas Fittl erstellten pg_query Bibliothek.Marco Slot: How We Fused DuckDB into Postgres with Crunchy Bridge for AnalyticsHow We Fused DuckDB into Postgres with Crunchy Bridge for Analytics, 24. Mai 2024, zugegriffen am 3. November 2025 Der DuckDB SQL-Dialekt enthält eine Reihe zusätzlicher Funktionen speziell für analytische Datenauswertungen. Der Funktionsumfang der Basisanwendung lässt sich mit Extensions erweitern.DuckDB: Extensions, zugegriffen am 3. November 2025

DuckDB verwendet eine spaltenorientierte, vektorisierte Abfrage-Ausführung, bei der Abfragen weiterhin interpretiert werden, aber eine große Menge von Werten als Vektor in einem einzigen Vorgang verarbeitet werden. Der reduzierte Overhead gegenüber OLTP-Datenbanken führt zu einer deutlich besseren Leistung bei OLAP-Abfragen bei gleichzeitig sparsamen Speicher-Einsatz im Vergleich zu just-in-Time kompilierenden Ausführungs-Engines.DuckDB: Why DuckDB, zugegriffen am 7. November 2025Timo Kersten et al.: Everything you always wanted to know about compiled and vectorized queries but were afraid to ask in Proceedings of the VLDB Endowment, Vol. 11, No. 13 ISSN 2150-8097. DOI:10.14778/3275366.3275370

DuckDB verwendet ein Einzel-File-Speicherformat, erlaubt aber auch die direkte Abfrage von anderen Datenquellen, wie beispielsweise CSV, Apache Parquet, JSON, SQLite, PostgreSQL, Data Lake, Apache Arrow oder Apache Iceberg.DuckDB: File Formats, zugegriffen am 3. November 2025

Während SQLite optimiert für kleine bis mittelgroße Datensätze ist, wertet DuckDB auch Daten aus, die größer als der Arbeitsspeicher sind (Out-of-Core-Ausführung).

Extensions

DuckDB verfügt über einen flexiblen Erweiterungsmechanismus. DuckDB liefert eine Reihe an Core-Extensions automatisch mit, die mit dem INSTALL-Befehl aktiviert werden. Mit Extensions können zusätzliche File-Formate verwendet werden, zusätzliche Datentypen verwendet, der Funktionsumfang erweitert werden.

Beispiele zu Core-Extensions ui bietet ein graphisches User-Interface für den Zugriff mittels Web-Browser mini|Screenshot zu DuckDB UI geöffnet in Mozilla Firefox postgres, mysql, sqlite erlauben die Zugriff auf externe Datenbanken ducklack erstellt eine offene und eigenständige Data Lake Anwendung des DuckDB-Projektes. DuckLake bietet Data-Lake-Funktionen ohne die Komplexität herkömmlicher Lakehouses. Es verwendet Parquet-Dateien für die Datenspeicherung. Die Metadaten-Verwaltung erfolgt in einer zentralen SQL-Datenbank wie PostgreSQL. Für einfache Use Case reicht auch DuckDB selbst als Metadaten-Datenbank.Ducklake Ducklake, zugegriffen am 6. November 2025

DuckDB Foundation

Die DuckDB Foundation ist eine unabhängige gemeinnützige Stiftung zur langfristigen Wartung und Weiterentwicklung von DuckDB. Die spendenfinanzierte Stiftung besitzt einen Großteil der geistigen Eigentumsrechte des Projekts. Die Satzung der DuckDB Foundation garantiert, dass DuckDB unter der MIT-Lizenz als Open Source verfügbar bleibt.

Weblinks

Mark Raasveldt: In-Process Analytical Database System (Youtube) Slides (PDF) Kurs an der Carnegie Mellon University

Einzelnachweise

Kategorie:Freies Datenbankmanagementsystem Kategorie:Relationales Datenbankmanagementsystem Kategorie:Data-Warehousing Kategorie:C++-Bibliothek