DuckPGQ: Bringing SQL/PGQ to DuckDB

|—––|—––| | Paper | DuckPGQ: Bringing SQL/PGQ to DuckDB (PDF) | | Konferenz | VLDB 2023 |

Zusammenfassung

Wir demonstrieren die wichtigste neue Funktion von SQL:2023, nämlich SQL/PGQ. Sie erleichtert Graphabfragen mit SQL durch neue Syntax für Mustererkennung und (kürzeste) Pfadsuche. Wir zeigen, wie sich SQL/PGQ-Unterstützung in ein RDBMS integrieren lässt, konkret in DuckDB, über ein Extension-Modul namens DuckPGQ. Damit demonstrieren wir zugleich den Erweiterungsmechanismus von DuckDB, mit dem sich neue Funktionen, Datentypen, Operatoren, Optimiererregeln, Speichersysteme und sogar Parser hinzufügen lassen. Außerdem beschreiben wir die neuen Datenstrukturen und Algorithmen, auf denen das DuckPGQ-Modul basiert, und wie sie in SQL-Pläne eingespeist werden. Das gezeigte DuckPGQ-Extension-Modul ist schlank und effizient; wir skizzieren eine Roadmap, um (i) die Leistung durch neue Algorithmen (faktorisiert und WCOJ) sowie bessere Parallelität zu verbessern und (ii) die Funktionalität über SQL hinaus zu erweitern, etwa für den Aufbau und die Analyse von Graph Neural Networks.

Implementierung

DuckPGQ wurde als Community Extension implementiert. Einzelheiten zur Nutzung der Extension finden Sie in der Dokumentation.