Marcel Moré berichtete von aktuellen Neuerungen in DuckDB.

Einfache Installation

Unter anderem gibt es seit Version 1.2 einen sehr einfachen Installations-Mechanismus auf MacOS und Linux Systemen per CURL Aufruf. Unter einer eigens dafür eingerichteten Domain liegt ein Installer-Script, welches sich ohne sudo-Rechte ausführen lässt:

curl https://install.duckdb.org | sh

Damit lässt sich eine aktuelle DuckDB Version blitzschnell auf dem eigenen Laptop oder einem Server installieren.

Zugriff auf Excel-Dateien integriert

Eine weitere Neuerung besteht in der Integration der Excel Extension. Zuvor war dies nur per Nachladen der Spatial Extension möglich, die einen Excel-Treiber beinhaltete. Nun kann man also direkt mit der DuckDB Installation per SQL-Query auf Excel-Dateien zu greifen.

Dazu reicht ein einfacher Query in der Form:

SELECT * FROM 'MyFile.xlsx';

DuckUI

Ein echtes Highlight der neuen Version ist der eingebaute lokale HTTP Server, welcher eine mächtige Web-basierte Benutzeroberfläche im Browser für den Einsatz von DuckDB als Analyse-Tool bereit stellt.

Ruft man in der Shell das Kommando duckdb -ui auf, so öffnet sich im Browser eine lokale Workbench, in der sich beliebig viele Notebooks anlegen lassen. Diese werden persistent gespeichert und stehen so auch beim nächsten Aufruf oder in einem anderen Browser auf dem selben Rechner zur Verfügung.

Die Workbench gliedert sich in drei Bereiche: Ein Schema-Browser, in den sich interne und externe Datenbanken einbinden lassen. Tabellen und Feldnamen lassen sich hierarchisch per Drilldown untersuchen. In der Mitte steht ein großer Arbeitsbereich für frei editierbare Queries bereit. Ein Klick aufs “Ausführen” Symbol erzeugt direkt darunter eine Tabellenansicht des Ergebnis mit der Möglichkeit, dieses zu sortieren, zu filtern oder die Ergebniswerte zu kopieren oder zu exportieren. Auf der rechten Seite lässt sich ein Analyse-Tool einblenden, welches ein Summary der Ergebniswerte aufschlüsselt mit Min-, Max-, Median- und Durchschnitts-Werten sowie kleinen Graphen hinter jeder Spalte mit einer Darstellung der Werteverteilung.

Durch die Verwendung von Web-Assembly werden die SQL-Queries blitzschnell ausgeführt. Auch die Darstellung der Benutzeroberfläche ist selbst bei umfangreichen Ergebnissen mit tausenden von Zellen extrem schnell und responsive.

Ebenfalls eindrucksvoll ist der sogenannte “Instant SQL” Mode, in dem Queries schon während der Eingabe ausgeführt werden und das Ergebnis in Echzeit angezeigt wird. Insbesondere beim Debuggen von Queries kann das eine große Hilfe sein.

Einsatzmöglichkeiten

Marcel zeigte einen sehr einfachen Anwendungsfall. Für den Import umfangreicher Preislisten in ein FileMaker ERP-System werden von den Lieferanten oft Excel-Dateien bereit gestellt. Um sich hier einen schnellen Überblick zu verschaffen, sowie Aufbau, Umfang und Gültigkeit der enthaltenen Daten zu prüfen, lassen sich diese mit Hilfe von DuckUI blitzschnell per SQL Query anzeigen, durchsuchen und bereinigen. Sogar große Dateien mit hunderttausenden von Daten werden damit schneller angezeigt als in Excel selbst.

Sofern für den Import der Preistabellen in das FileMaker System vorab Anpassungen und Bereinigungen erforderlich sind, lassen auch diese sich meist mit passenden SQL-Queries schnell umsetzen. DuckDB bietet eine sehr einfache Logik, um in einem Durchgang Daten aus der Excel-Datei zu lesen, Spalten auszuwählen, Daten zu bereinigen und das Ergebnis in einer Tab-separierten CSV-Datei zu speichern, die sich anschließend in FileMaker einlesen lässt.

In einem DuckUI Notebook werden die erprobten Queries als Schablone gespeichert und stehen beim nächsten Datenupdate schnell wieder zur Verfügung.

Weitere Infos

Link: Gems of DuckDB 1.2
https://duckdb.org/2025/03/06/gems-of-duckdb-1-2.html

Link: The DuckDB Local UI
https://duckdb.org/2025/03/12/duckdb-ui.html