- Instant SQL ist ein Tool, das beim Schreiben von SQL-Abfragen eine Echtzeit-Vorschau der Ergebnisse liefert und so das Erstellen und Debuggen von Queries beschleunigt
- Komplexe CTEs oder Spaltenausdrücke lassen sich leicht zerlegen und analysieren, und KI-basierte Bearbeitungsvorschläge können sofort in der Vorschau angezeigt werden, wodurch das Schreiben und Anpassen von Queries effizienter wird
- Verfügbar in MotherDuck und der DuckDB Local UI; ermöglicht auf Basis von DuckDB auch die Echtzeit-Erkundung verschiedenster externer Datenquellen
- Möglich wird dies durch die Kombination fortschrittlicher Techniken wie DuckDBs lokalem First-Design, Performance-Optimierung, Caching-Strategien und AST-basiertem Cursor-Mapping
- MotherDuck ist ein verwalteter DuckDB-Cloud-Service, der verschiedene Werkzeuge für die Datenanalyse bereitstellt
Einführung in Instant SQL
- Instant SQL ist eine neue Funktion, die die Ergebnisse von SQL-Abfragen während des Tippens in Echtzeit aktualisiert
- Ohne separaten Run-Button lassen sich Ergebnisse mit Null-Wartezeit (zero latency) vorab prüfen
- Derzeit in der MotherDuck-Plattform und der DuckDB Local UI verfügbar
Warum Instant SQL gebraucht wird
- Beim Schreiben von SQL geht es nicht primär um Syntax, sondern um den Prozess, Daten zu verstehen und Fragen zu formulieren
- Bisher war man auf einen langsamen Zyklus angewiesen: Query im Texteditor schreiben, auf Ausführen klicken und auf Ergebnisse warten
- Instant SQL verwandelt diesen Ablauf in einen unmittelbaren und natürlichen Explorations-Workflow
Hauptfunktionen
-
Ergebnisse beim Schreiben in Echtzeit vorab anzeigen
- Bei jedem Tippen einer SQL-Abfrage wird die Vorschau des Result Sets in Echtzeit aktualisiert
- Von einfachen Transformationen bis zu komplexen Aggregationen ist eine unterbrechungsfreie Datenexploration möglich
-
CTEs (Common Table Expressions) in Echtzeit debuggen
- CTEs lassen sich anklicken und sofort visualisieren
- Änderungen werden umgehend in allen abhängigen Knoten übernommen, was das Debuggen von CTEs stark vereinfacht
-
Komplexe Spaltenausdrücke zerlegen
- Um Fehler in Spaltenausdrücken schnell zu finden, können Ausdrücke direkt in der Ergebnistabelle aufgeschlüsselt werden
- Dadurch lassen sich Probleme in der Logik oder in den Daten sofort identifizieren
-
Unterstützung für verschiedene Datenquellen
- Für alle von DuckDB unterstützten Quellen (DuckDB-Tabellen, Parquet-Dateien auf S3, Postgres, SQLite, MySQL, Iceberg, Delta usw.) ist eine Vorschau möglich
- Externe Datenmodellierung und Exploration werden dadurch sehr schnell
-
Schnelle Query-Prüfung vor der finalen Ausführung
- Nach dem Feinschliff der Query in der Vorschau kann sie bei Zufriedenheit final ausgeführt werden
- Der Zyklus aus SQL schreiben, ausführen und warten wird radikal verkürzt
-
Kombination mit KI-Funktionen
- Für ausgewählten Text können natürlichsprachliche Befehle eingegeben werden, woraufhin die KI Änderungsvorschläge macht
- Da sich die vorgeschlagenen Ergebnisse sofort in der Vorschau anzeigen lassen, können Änderungen ohne Fehlerrisiko übernommen werden
Wie das möglich wurde
-
Technologie für extrem latenzarme Query-Ausführung
- Dank DuckDBs lokalem First-Design lassen sich direkt auf dem PC schnelle Ergebnisse erzielen
- Die Dual-Execution-Architektur von MotherDuck unterstützt auch große Datenmengen mit geringer Latenz
-
Technologie zur Query-Umschreibung
- Mithilfe der DuckDB-JSON-Erweiterung wird der AST (Syntaxbaum) von SELECT-Abfragen extrahiert und genutzt
- Teile der Query werden durch lokal zwischengespeicherte Beispieldaten ersetzt, um schnelle Vorschauen zu ermöglichen
-
Intelligentes Caching-System
- Mithilfe eines vorausberechneten Datencaches werden Ergebnisse direkt bei jedem Tastendruck gerendert
- Durch verschiedene Caching-Strategien erscheinen Ergebnisse, noch bevor die Nutzenden die Finger von der Tastatur nehmen
-
Cursor-Syntaxbaum-Mapping
- Es wurde eine Funktion entwickelt, die die Cursor-Position der Nutzenden im AST präzise einem bestimmten SELECT-Knoten zuordnet
- So kann selbst in komplexen Queries gezielt nur die SELECT-Anweisung in der Vorschau angezeigt werden, an der gerade gearbeitet wird
So nutzt man Instant SQL
- In MotherDuck oder der DuckDB Local UI als „öffentliche Preview“ verfügbar
- Eine neue promptbasierte Bearbeitungsfunktion steht ebenfalls für MotherDuck-Nutzende bereit
2 Kommentare
Das ist wirklich faszinierend.
Hacker-News-Kommentare
select * from table limit 10;auszuführen und füge dann Spalten und Joins hinzu