AWS hat Aurora PostgreSQL um DuckDB-gestützte Abfragen erweitert: Eine einzelne Abfrage kann operative Datensätze mit Apache-Iceberg- und Apache-Parquet-Daten in Amazon S3 verbinden – auch mit noch nicht committeten Schreibvorgängen. AWS zufolge soll das Anwendungen den Zugriff auf Daten im Data Lake ermöglichen, ohne diese dafür zunächst per ETL in Aurora zu kopieren.

Aurora fragt operative Daten und Data-Lake-Daten gemeinsam ab

DuckDB verarbeitet laut AWS die analytischen Scans innerhalb von Aurora PostgreSQL. So lassen sich Live-Daten aus der Datenbank zusammen mit Iceberg-Tabellen und Parquet-Daten in S3 abfragen; dazu zählen auch S3 Tables. Eine Abfrage kann damit aktuelle und historische Datensätze zusammenführen.

AWS beschreibt die Funktion als verwaltete Aurora-Funktion. Sie ist nicht mit dem separaten PostgreSQL-Projekt pg_duckdb gleichzusetzen.

DuckDB, Datenformate und Kataloge

AWS unterstützt Iceberg-Tabellen über den AWS Glue Data Catalog. Auch externe Kataloge, die mit dem Iceberg REST Catalog kompatibel sind, lassen sich über Glue einbinden. Für ihre Daten können anschließend Fremdtabellen angelegt werden.

Bei der Abfrageverarbeitung nennt AWS Prädikats-Pushdown, also das möglichst frühe Anwenden von Filtern, Spaltenauswahl und Zwischenspeicherung. Die Funktion aurora_analytics_stat_statements() liefert je Abfrage Angaben zu den gescannten Zeilen, den aus S3 gelesenen Bytes und Cache-Treffern.

Versionen und Einrichtung

Die Unterstützung beginnt bei Aurora PostgreSQL 17.11 für Hauptversion 17 und bei 18.6 für Hauptversion 18. Für den Zugriff sind die Erweiterung aurora_analytics und eine IAM-Rolle mit der Funktion AuroraAnalytics erforderlich. Die Rolle gewährt Aurora Zugriff auf S3 und AWS Glue.

Abfrageverhalten und Materialisierung

Leseabfragen können laut AWS auf der Writer-Instanz oder einem Lesereplikat laufen. Befehle, die Daten in native Aurora-Tabellen materialisieren, werden dagegen auf der Writer-Instanz ausgeführt. Für Abfragemuster, die eine Latenz im einstelligen Millisekundenbereich benötigen, können ausgewählte Data-Lake-Daten materialisiert werden.

Ein Beispiel von AWS verbindet Transaktionen aus den vergangenen sieben Tagen mit fünf Jahren historischer Daten in einer Parquet-Datei in S3. Aurora leitete dabei das Schema der Fremdtabelle aus den Dateimetadaten ab. Diese Zeiträume beschreiben das Beispiel.

Verfügbarkeit und Kosten

AWS gibt die Funktion für alle kommerziellen AWS-Regionen sowie AWS GovCloud (US) an. Für die Funktion selbst fällt keine zusätzliche Gebühr an. Zusätzliche Aurora-Rechenleistung und S3-Anfragen verursachen weiterhin Kosten.