DuckDB

DuckDB

Basisdaten

Entwickler DuckDB Labs
Erscheinungsjahr 2019
Aktuelle Version 1.5.2[1]
(13. April 2026)
Betriebssystem Linux, Windows, MacOS, WebAssembly
Programmier­sprache C++[2]
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.[3][4] Das Projekt verzeichnet etwa 20 Millionen Downloads pro Monat.[5]

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.

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

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

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

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

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

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.

Commons: DuckDB – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. Release 1.5.2. 13. April 2026 (abgerufen am 14. April 2026).
  2. github.com. 6. Juli 2025.
  3. a b DuckDB: SQL Introduction, zugegriffen am 3. Nov. 2025
  4. Mark Raasveldt, Hannes Mühleisen: DuckDB: an Embeddable Analytical Database. ACM, 25. Juni 2019, S. 1981–1984; (englisch, doi:10.1145/3299869.3320212).
  5. duckdbstats , zugegriffen am 3. November 2025
  6. DuckDB: Client Overview, zugegriffen am 7. Nov. 2025
  7. 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
  8. DuckDB: Extensions, zugegriffen am 3. November 2025
  9. DuckDB: Why DuckDB, zugegriffen am 7. November 2025
  10. 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
  11. DuckDB: File Formats, zugegriffen am 3. November 2025
  12. Ducklake Ducklake, zugegriffen am 6. November 2025

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.