Zum Inhalt springen

DuckDB

aus Wikipedia, der freien Enzyklopädie
DuckDB
Basisdaten
Entwickler Amazon (ab 2026)[1]
Erscheinungsjahr 2019
Aktuelle Version 1.5.2[2]
(13. April 2026)
Betriebssystem Linux, Windows, MacOS, WebAssembly
Programmier­sprache C++[3]
Kategorie Eingebettetes Datenbanksystem
Lizenz MIT-Lizenz
duckdb.org

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.[4][5] Das Projekt verzeichnete 2025 etwa 20 Millionen Downloads pro Monat.[6]

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,[7] hieß ab Mai 2026 DuckLabs[7] und erhielt im August 2026 ein Übernahmeangebot von Amazon.[8] Die Entwickler sollten ab September 2026 der Sparte Amazon Web Services zugeordnet werden.[1][8]

Eigenschaften und Funktionen

[Bearbeiten | Quelltext bearbeiten]

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.[9]

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.[10] Der DuckDB SQL-Dialekt enthält eine Reihe zusätzlicher Funktionen speziell für analytische Datenauswertungen.[4] Der Funktionsumfang der Basisanwendung lässt sich mit Extensions erweitern.[11]

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.[12][13]

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.[14]

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).

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

[Bearbeiten | Quelltext bearbeiten]
  • ui bietet ein graphisches User-Interface für den Zugriff mittels Web-Browser
    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.[15]

DuckDB Foundation

[Bearbeiten | Quelltext bearbeiten]

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.

Commons: DuckDB – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. 1 2 AWS to acquire DuckLabs, the Amsterdam-based company behind DuckDB. In: AboutAmazon.com. 26. August 2026, abgerufen am 6. September 2026 (englisch).
  2. ↑ Release 1.5.2. 13. April 2026 (abgerufen am 14. April 2026).
  3. ↑ github.com. 6. Juli 2025.
  4. 1 2 DuckDB: SQL Introduction, zugegriffen am 3. Nov. 2025
  5. ↑ Mark Raasveldt, Hannes Mühleisen: DuckDB: an Embeddable Analytical Database. ACM, 25. Juni 2019, S. 1981–1984 (englisch, doi:10.1145/3299869.3320212).
  6. ↑ duckdbstats , zugegriffen am 3. November 2025
  7. 1 2 DuckDB Labs Becomes DuckLabs. In: ducklabs.com. 27. Mai 2026, abgerufen am 6. September 2026 (englisch).
  8. 1 2 Todd Bishop: Amazon to acquire DuckLabs, adding the team behind DuckDB amid broader shakeup in cloud data. In: GeekWire. 26. August 2026, abgerufen am 6. September 2026 (englisch).
  9. ↑ DuckDB: Client Overview, zugegriffen am 7. Nov. 2025
  10. ↑ 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
  11. ↑ DuckDB: Extensions, zugegriffen am 3. November 2025
  12. ↑ DuckDB: Why DuckDB, zugegriffen am 7. November 2025
  13. ↑ Timo 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
  14. ↑ DuckDB: File Formats, zugegriffen am 3. November 2025
  15. ↑ Ducklake Ducklake, zugegriffen am 6. November 2025