DuckDB ist nicht mehr aufzuhalten...

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

스크립트

00:00:00Jahrelang galt bei uns die Devise: Sobald unsere Daten den Rahmen einer Tabellenkalkulation sprengten, hieß es:
00:00:05Wechsel in ein Cloud-Data-Warehouse wie Snowflake oder BigQuery.
00:00:09Doch es gibt diese kleine, kostenlose Datenbank, die komplett auf deinem Laptop läuft,
00:00:13und während alle in die Cloud starrten, ist sie im Stillen erwachsen geworden.
00:00:16Sie bietet jetzt echte Verschlüsselung, Git-artige Upserts und ihr erstes Release mit Langzeitsupport.
00:00:22Das ist DuckDB. Ich zeige dir genau, wo sie im Jahr 2026 steht,
00:00:26einschließlich der einen großen Sache, die viele immer noch falsch verstehen.
00:00:35Also: DuckDB.
00:00:36Stell dir einfach SQLite für Analysen vor.
00:00:40Du kennst SQLite.
00:00:41Eine Datei, kein Server, direkt in deine App eingebettet.
00:00:45DuckDB folgt genau dieser Idee, nur dass sie nicht für Transaktionen,
00:00:50sondern für das Berechnen von Zahlen optimiert ist.
00:00:52Sie ist darauf ausgelegt, Millionen von Datensätzen extrem schnell zu scannen und zu summieren.
00:00:56Einer der größten Vorteile ist, dass sie Parquet-, CSV- und JSON-Dateien direkt liest.
00:01:02Es gibt keinen Import-Schritt, kein vorheriges Laden der Daten.
00:01:05Du lässt einfach SQL direkt auf die Datei los.
00:01:08Lass mich dir zeigen, wie sich das anfühlt.
00:01:09Wenn du Coding-Tools magst, die deinen Arbeitsablauf beschleunigen, abonniere den Kanal.
00:01:13Wir veröffentlichen ständig neue Videos.
00:01:15Ich gebe jetzt in meinem Terminal “DuckDB” ein und bin sofort in einem SQL-Prompt.
00:01:20Pass auf.
00:01:21Ich mache eine SQL-Abfrage auf eine Parquet-Datei, die irgendwo im Internet liegt.
00:01:27Ich habe sie nicht heruntergeladen.
00:01:28Ich habe nichts konfiguriert oder einen Server gestartet.
00:01:30DuckDB hat zugegriffen, eine Remote-Datei gestreamt und in einer Zeile echten SQL-Code ausgeführt.
00:01:36Genau das ist der Grund, warum die Leute sie lieben.
00:01:40Aber hier liegt das Missverständnis bei vielen.
00:01:43Es gibt zwei Releases, und im Internet werden diese ständig vermischt.
00:01:48Die großen, spannenden Features, von denen alle reden – die vollständige AES-256-Verschlüsselung,
00:01:54ein “Merge-Into”-Befehl für Git-artige Upserts und die Möglichkeit, Apache Iceberg-Tabellen zu schreiben –
00:01:59nichts davon ist in Version 1.5 neu.
00:02:02Das kam alles schon mit DuckDB 1.4 im September, dem ersten Release mit Langzeitsupport.
00:02:08Danach folgte im März 1.5.
00:02:09Dort gab es eine aktualisierte Version.
00:02:14Ein schicker neuer CLI-Client mit Farben und Pager, ein neuer Variant-Typ für unstrukturierte
00:02:20Daten und direkt integrierte Geodaten-Unterstützung.
00:02:24Statt nur einer schnellen Abfrage zeige ich dir, wie sich die aktuelle DuckDB in der Praxis anfühlt,
00:02:30mit den Features aus 1.4 plus den Neuerungen in 1.5.
00:02:34Die Parquet-Abfrage von vorhin habe ich hier immer noch.
00:02:38Jetzt zum neuen Feature in 1.5: der Variant-Typ.
00:02:43Ich erstelle eine Tabelle und füge gemischte Typen ein – Ganzzahlen, Strings, Arrays und Objekte, alles
00:02:50in derselben Spalte.
00:02:51Es braucht kein Schema, kein JSON-Parsing, es funktioniert einfach.
00:02:54Es speichert typisierte Binärdaten, die besser komprimieren und abfragbar sind als einfaches JSON.
00:02:59Das ist das neue “Variant”-Feature.
00:03:02Weiter geht es mit dem Feature, das die Nutzung von DuckDB wirklich verändert hat: “Merge-Into”.
00:03:08Das stammt aus 1.4.
00:03:09Nicht verwechseln.
00:03:10Ein sauberer SQL-Befehl.
00:03:12Keine Anwendungslogik nötig.
00:03:13Früher brauchte man dafür Spark oder eigenen Python-Code.
00:03:17Und dann die Verschlüsselung, da sind wir auch schon.
00:03:21Ich kann normal abfragen, aber versuche ich, dieselbe Datei in einer neuen Sitzung ohne den Schlüssel
00:03:27zu öffnen, schlägt es wie erwartet fehl.
00:03:30AES-256 auf Seitenebene, du bringst den Schlüssel mit.
00:03:33DuckDB speichert oder verwaltet ihn nicht.
00:03:36Das war noch gar nicht alles, auch Iceberg-Schreiben oder Geometrie-Support sind dabei, wobei viele
00:03:41von euch vielleicht eher “Spatial” statt “Geometry” nutzen.
00:03:43Deshalb war 1.4 das große Update.
00:03:45Sie wurde von einer reinen Abfrage-Engine zu etwas, dem man bei echten Daten auf einer einzelnen
00:03:50Maschine vertrauen kann.
00:03:51Sichere Dateien, zuverlässige Upserts und moderne Lakehouse-Formate.
00:03:551.5 hat die Erfahrung durch eine verbesserte CLI und den neuen Variant-Typ noch runder gemacht.
00:04:00Wie unterscheidet sich das nun von anderen Tools auf deinem Rechner?
00:04:04Nehmen wir SQLite.
00:04:05Gleich wie bei uns: eine Datei, kein Server.
00:04:08Aber SQLite ist ein Zeilenspeicher für Transaktionen.
00:04:12DuckDB hingegen ist ein Spaltenspeicher für Analysen.
00:04:15Und Pandas?
00:04:17DuckDB bietet einen echten SQL-Optimizer und Multi-Threaded-Joins.
00:04:21Bei komplexen Group-Bys ist sie daher oft etwas schneller.
00:04:24Snowflake oder BigQuery sind Cloud-Warehouse-Lösungen für ganze Teams und
00:04:30Petabytes an Daten.
00:04:32DuckDB läuft kostenlos auf einer einzigen Maschine in deinem Prozess.
00:04:35Das häufigste Problem ist der Speicherbedarf.
00:04:40Lässt du DuckDB auf eine Milliarde Zeilen los, kann ihr der Speicher ausgehen und sie stürzt ab.
00:04:45Für produktive Umgebungen, in denen Stabilität kritisch ist, kann sie etwas instabil sein.
00:04:49Zweitens ist sie keine transaktionale Datenbank.
00:04:53Es gibt nur einen Writer.
00:04:54Nur ein Prozess schreibt gleichzeitig.
00:04:57Daher ist sie nichts für das Backend deiner App oder als Session-Store.
00:05:01Das ist weiterhin Aufgabe von Postgres oder SQLite für kleine MVPs.
00:05:05Und das mit der Verschlüsselung: Sie ist echt und gründlich, aber du musst den Schlüssel mitbringen.
00:05:10DuckDB speichert ihn nicht.
00:05:12Sie rotiert ihn nicht.
00:05:14Sie überwacht nichts.
00:05:15Verlierst du den Schlüssel,
00:05:16sind deine Daten weg.
00:05:17Und das Iceberg-Schreiben ist ein noch recht neues Extension-Feature.
00:05:22Wenn du Analysen machst, Parquet- und CSV-Daten crunchst, ELT-Transformationen ausführst oder Daten
00:05:28in einem Notebook explorierst, also alles bis zur Skala einer einzelnen Maschine, ist DuckDB eines
00:05:33der besten Werkzeuge, die du installieren kannst.
00:05:35Es ist komplett kostenlos, MIT-lizenziert und ohne Paywall.
00:05:39Aber brauchst du ein transaktionales Backend für eine App oder verarbeitest regelmäßig Milliarden
00:05:44von Zeilen, ohne den Speicher manuell optimieren zu wollen, ist dies das falsche Tool – und das ist okay.
00:05:50Die richtige Datenbank für den richtigen Zweck.
00:05:52Wenn dir Coding-Tipps wie diese gefallen, abonniere den BetterStack-Kanal.
00:05:56Wir sehen uns im nächsten Video.

핵심 요약

DuckDB transformiert die lokale Datenanalyse, indem sie komplexe SQL-Abfragen direkt auf Dateien wie Parquet ermöglicht, ohne dass ein Server oder ein zeitaufwendiger Import nötig ist.

하이라이트

  • DuckDB läuft als serverlose, dateibasierte Datenbank direkt auf dem Laptop und ist auf analytische Berechnungen anstatt auf Transaktionen optimiert.

  • Die Datenbank ermöglicht SQL-Abfragen direkt auf Parquet-, CSV- und JSON-Dateien ohne vorherigen Import- oder Ladevorgang.

  • Mit DuckDB 1.4 wurde eine AES-256-Verschlüsselung auf Seitenebene sowie ein Merge-Into-Befehl für Git-artige Upserts eingeführt.

  • Version 1.5 erweitert die Funktionalität um einen neuen Variant-Datentyp für gemischte, unstrukturierte Daten sowie eine verbesserte CLI.

  • Die Schreiboperationen für Apache Iceberg-Tabellen und Geodaten-Unterstützung machen DuckDB für lokale Machine-Learning-Workflows und Datenanalysen tauglich.

  • Bei einer Verarbeitung von einer Milliarde Zeilen stößt der Arbeitsspeicher auf einem Einzelrechner an seine Grenzen.

타임라인

Konzept und Arbeitsweise von DuckDB

  • DuckDB fungiert als serverloses System, das direkt in Anwendungen eingebettet wird.
  • Der Fokus liegt auf der schnellen Summierung und dem Scannen von Millionen Datensätzen.
  • Dateiformate wie Parquet, CSV und JSON lassen sich ohne Import-Schritt direkt mit SQL abfragen.

Im Gegensatz zu Cloud-Data-Warehouses wie Snowflake oder BigQuery läuft diese Datenbank lokal auf dem Rechner. Die Architektur ist analog zu SQLite für analytische Zwecke konzipiert. Der direkte Zugriff auf Remote-Dateien erfolgt ohne vorherigen Download oder Konfigurationsaufwand.

Neuerungen in den Versionen 1.4 und 1.5

  • Version 1.4 führte die AES-256-Verschlüsselung und Merge-Into-Befehle ein.
  • Version 1.5 integriert einen Variant-Typ für gemischte, unstrukturierte Daten.
  • Die CLI-Erfahrung wurde durch Pager und Farbanzeige in Version 1.5 verbessert.

Die Entwicklung konzentrierte sich ab Version 1.4 auf Stabilität und fortgeschrittene Funktionen wie moderne Lakehouse-Formate. Der neue Variant-Typ erlaubt das Speichern von Ganzzahlen, Strings und Objekten in einer Spalte, was gegenüber klassischem JSON effizienter komprimiert und abfragbar ist.

Abgrenzung und Anwendungsgrenzen

  • DuckDB ist als Spaltenspeicher für Analysen konzipiert und unterscheidet sich damit von Zeilenspeichern wie SQLite.
  • Die Datenbank unterstützt nur einen schreibenden Prozess gleichzeitig und ist daher für transaktionale Backends ungeeignet.
  • Der manuelle Umgang mit Verschlüsselungsschlüsseln erfordert hohe Sorgfalt, da keine interne Schlüsselverwaltung existiert.

Die Stärken liegen in analytischen Aufgaben, Notebook-Exploration und ELT-Transformationen auf Einzelrechnern. Für produktive Umgebungen mit hohen Anforderungen an Stabilität bei massiven Datenmengen über eine Milliarde Zeilen hinweg oder bei Anforderungen an parallele Schreibvorgänge bleibt Postgres die bevorzugte Wahl.

커뮤니티 글

모든 글 보기