Historische Daten in S3? AWS Aurora holt sie jetzt direkt
Amazon Aurora PostgreSQL kann Daten aus einem Data Lake nun gemeinsam mit Daten aus der laufenden Datenbank abfragen. Die neue Funktion greift auf Apache-Iceberg-Tabellen und Parquet-Dateien zu, ohne sie zuvor nach Aurora zu kopieren. Anwendungen können dafür ihre bestehenden PostgreSQL-Verbindungen und SQL-Abfragen nutzen.
Aurora ist AWS’ verwalteter relationaler Datenbankdienst, den es unter anderem in einer PostgreSQL-kompatiblen Variante gibt. Er richtet sich an Betreiber von Cloud-Anwendungen, die eine Datenbank nicht selbst verwalten wollen.
Eine Abfrage über Datenbank und Data Lake
Wie AWS im Ankündigungsbeitrag zur neuen Aurora-Funktion erklärt, übernimmt die in Aurora eingebettete DuckDB-Engine die analytischen Zugriffe auf die Data-Lake-Daten. Duck Labs, dessen Team das DuckDB-Projekt betreut, wurde kürzlich von Amazon gekauft. Eine Abfrage kann so etwa aktuelle Transaktionen aus Aurora mit älteren, als Parquet-Dateien in Amazon S3 abgelegten Transaktionen zusammenführen. Bisher mussten Anwendungen solche historischen Daten für diesen Zweck häufig erst in die Datenbank laden und anschließend mit dem Bestand synchron halten.
Aurora unterstützt Iceberg-Tabellen im AWS Glue Data Catalog sowie Iceberg- und Parquet-Daten in S3 und S3 Tables. Externe Kataloge mit Iceberg-REST-Catalog-Schnittstelle lassen sich über eine Föderation mit Glue einbinden. Für die Abfragen legt man in Aurora Foreign Tables an, die auf die externen Daten verweisen. Bei Parquet kann Aurora das Schema aus den Dateimetadaten lesen; IMPORT FOREIGN SCHEMA legt bei Bedarf mehrere Foreign Tables auf einmal an.
Einrichtung, Leistung und Kosten
Voraussetzung sind Aurora PostgreSQL 17 ab Version 17.11 oder Aurora PostgreSQL 18 ab Version 18.6; unterstützt wird auch Aurora Serverless v2. Administratoren müssen dem Cluster eine IAM-Rolle mit dem Feature AuroraAnalytics zuweisen und die Erweiterung aurora_analytics aktivieren. Die Rolle regelt den Zugriff auf S3 und den Glue Data Catalog.
Um unnötige Lesezugriffe zu vermeiden, schränkt Aurora die gelesenen Spalten und Daten anhand der Abfrage ein. Häufig genutzte Daten hält die Instanz zudem im Cache. Kennzahlen zu gelesenen S3-Bytes und Cache-Treffern liefert aurora_analytics_stat_statements(). Leseabfragen können sowohl auf der Writer-Instanz als auch auf Read Replicas laufen. Wer Daten für besonders kurze Antwortzeiten dauerhaft in Aurora benötigt, kann sie weiterhin in eine reguläre Tabelle übernehmen; die dafür nötigen Schreibbefehle laufen auf dem Writer.
Die Funktion ist in allen kommerziellen AWS-Regionen und den GovCloud-US-Regionen verfügbar. Einen Aufpreis erhebt AWS dafür nicht. Zusätzliche Rechenlast in Aurora und S3-Anfragen für das Lesen der Dateien werden jedoch berechnet.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.