1. DuckDB 2.0.0: Neues LTS-Release bringt Performanceschub und KI-Agent-Erkennung

DuckDB liegt in der neuen Version 2.0.0 vor, die den Codenamen „Cinnamon Teal“ trägt. Gegenüber dem Vorgänger bietet das Datenbankwerkzeug einen ausgereifteren Servermodus, liest Daten jetzt asynchron und erkennt, wenn KI-Agenten es ansteuern. Ebenfalls neu sind Trigger und ein eigener SQL-Parser.

Bei DuckDB 2.0.0, das am 21. Oktober erschien, handelt es sich um das bisher größte Feature-Release, in das knapp 20.000 Commits seit DuckDB 1.5 eingeflossen sind, schreibt das DuckDB-Team in seinem Blog. Als LTS-Release (Long-term Service) erhält DuckDB 2.0.0 Support bis mindestens Oktober 2027.

Mehr Serverfunktionen

Erweitert wurde das seit DuckDB 1.5.3 bekannte Quack-Protokoll, über das sich die Datenbank in einem traditionellen Client-Server-Setup ausführen lässt. Mit Version 2.0.0 läuft das Protokoll schneller und stabiler, so die Entwickler.

Neu ist zudem die Anweisung CONNECT. Mit ihr binden Nutzer eine entfernte Datenbank mit einem einzigen Befehl ein und können direkt zu ihr wechseln. CONNECT funktioniert mit jeder Datenbank, die Remote-Ausführung unterstützt, was neben Quack auch PostgreSQL und MySQL einschließt. Für diese beiden schickt ein neuer Remote Pushdown Optimizer die Abfragen direkt an den entfernten Server, statt ganze Tabellen über das Netz zu laden. Im CLI starten die neuen Parameter -serve und -connect einen Quack-Server beziehungsweise verbinden sich direkt mit einem.

Höhere Performance durch asynchrones I/O

DuckDB 2.0.0 bringt asynchrones I/O für Parquet, unkomprimierte CSV-Dateien in UTF-8 und sein hauseigenes Speicherformat mit. Dabei skaliert die I/O-Schicht jetzt unabhängig von der Schicht für die Abfrageverarbeitung, stößt Lesevorgänge im Hintergrund an und hält mehrere Anfragen gleichzeitig offen. Das soll für deutlich mehr Parallelität beim Lesen entfernter Daten und drastisch schnellere Abfragen auf Object Storage wie s3:// sorgen. Wie asynchrones I/O in DuckDB im Detail funktioniert, beschreibt DuckLabs in einem separaten Blogpost.

Den Datentyp VARIANT für semistrukturierte Daten wie JSON gab es schon in DuckDB 1.5, jetzt ist er voll integriert. Gemeinsame Strukturen in den Daten zerlegt DuckDB nun in Spalten („Shredding“), wodurch sie sich besser komprimieren und schneller verarbeiten lassen.

KI-Agent-Erkennung

Neu ist ein Agent-Modus in der Kommandozeile. Die Datenbank wechselt automatisch in diesen Modus, sobald sie erkennt, dass Coding-Agenten wie Claude Code, Codex oder Cursor sie ansteuern. Dann gibt DuckDB kompakte Markdown-Tabellen aus, weist auf abgeschnittene Ergebnisse hin, bricht ausufernde Abfragen früh ab und meldet Fehler als JSON. Lange Abfragen kündigen vorab ihre erwarteten Kosten an. Mit den Parametern -agent und -no-agent lässt sich der Modus auch manuell ein- oder ausschalten.

Im TPC-H-Test sank die Menge der DuckDB-Ausgaben, die das KI-Modell lesen musste, durch den Agent-Modus um 59 Prozent von 123.600 auf 50.800 Token, sagen die DuckDB-Entwickler. Dafür beantwortete Claude Code die 22 Benchmark-Fragen auf einem Datensatz mit Skalierungsfaktor 100, jeweils dreimal mit und ohne Agent-Modus. Auf Gesamtkosten und Laufzeit wirkte sich das allerdings kaum aus, weil der Systemprompt des Agenten den Großteil der Eingabe ausmacht. Die eingesparten Token entsprechen nur etwa 0,5 Prozent der gesamten Eingabe.

SQL-Trigger und neuer Parser

Trigger gehören jetzt zu den SQL-Werkzeugen von DuckDB 2.0.0. Mit ihnen lassen sich unter anderem Audit-Tabellen oder schrittweise aktualisierte Materialized Views bauen. Parallel dazu löst DuckDB den bisher genutzten, von PostgreSQL abgeleiteten SQL-Parser durch einen eigenen PEG-basierten Parser ab, der bereits seit Version 1.5 optional verfügbar war.

Extensions können mit dem Parser neue SQL-Syntax hinzufügen, und Fehlermeldungen zeigen die genaue Stelle in der Abfrage. Ebenfalls integriert sind eigene Extension-Repositories, über die Organisationen selbst signierte Extensions bereitstellen können, sowie eine überarbeitete C API v2, die aber noch nicht als stabil gilt.

Umzug auf Version 2.0

Da DuckDB 2.0.0 nur wenige Breaking Changes mitbringt, sollte die Migration für die meisten Nutzerinnen und Nutzer unkompliziert verlaufen. Allerdings können ältere DuckDB-Versionen keine Datenbankdateien lesen, die mit Version 2.0 geschrieben wurden. Die DuckDB-Entwickler empfehlen, Version 2.0.0 zunächst auf einem Schattensystem zu testen und erst danach die Produktion umzustellen. Wer geschäftskritische Workloads auf DuckDB ausführt, könnte erwägen, auf das erste Patch-Release zu warten, das für den 18. November geplant ist.

Das vorige LTS-Release 1.4 wird bis 17. November 2026 unterstützt, Version 1.5 bis März 2027. Zusammengefasst sind alle Termine im Release-Kalender. Die vollständigen Release Notes zu DuckDB 2.0.0 stehen auf GitHub. Weitere kleinere Neuerungen stellt das Team in einem Folgebeitrag vor. Benannt wurde die neue Version nach der Zimtente alias Spatula cyanoptera, einer im Westen Nord- und Südamerikas verbreiteten Entenart mit rotbraunem Gefieder.

(mro)

Source: Heise · Manuel Masiero

At a glance

Topic
Technology
Country
🇩🇪 DE
Publisher language
DE
Added to Allnira