Amazon Aurora PostgreSQL może w jednym zapytaniu łączyć rekordy operacyjne — w tym niezatwierdzone zapisy — z danymi Apache Iceberg i Apache Parquet w Amazon S3. AWS opisuje DuckDB osadzone w Aurora jako silnik obsługujący skany analityczne. Dzięki temu aplikacja może korzystać z danych bieżących i historycznych bez wcześniejszego kopiowania danych z jeziora do bazy za pomocą potoku ETL.

Aurora łączy dane operacyjne z danymi jeziora

Pojedyncze zapytanie może pobierać dane z Aurora PostgreSQL oraz z tabel Iceberg i plików Parquet przechowywanych w S3, w tym z S3 Tables. AWS wymienia także katalog AWS Glue Data Catalog. Zgodne z Iceberg REST Catalog katalogi zewnętrzne można podłączyć za pośrednictwem AWS Glue.

To funkcja zarządzana w Aurora PostgreSQL, w której — według AWS — DuckDB przetwarza skany analityczne. Zapytanie może uwzględniać zarówno dane już zapisane, jak i niezatwierdzone zmiany w bazie.

Wersje i konfiguracja

Obsługa zaczyna się od Aurora PostgreSQL 17.11 w głównej wersji 17 oraz 18.6 w głównej wersji 18. Konfiguracja wymaga rozszerzenia aurora_analytics i roli IAM z funkcją AuroraAnalytics, która zapewnia dostęp do Amazon S3 i AWS Glue.

W przypadku zewnętrznego katalogu zgodnego z Iceberg REST Catalog AWS opisuje rejestrację katalogu w AWS Glue, a następnie utworzenie tabel obcych wskazujących jego dane.

Jak przebiegają zapytania i kiedy materializować dane

AWS wymienia przekazywanie warunków filtrowania do źródła danych (predicate pushdown), ograniczanie odczytu do potrzebnych kolumn (column pruning) oraz buforowanie. Funkcja aurora_analytics_stat_statements() udostępnia dla zapytań między innymi liczbę przeskanowanych wierszy, ilość danych odczytanych z S3 i liczbę trafień w pamięć podręczną.

Zapytania odczytujące dane mogą działać na instancji zapisującej albo na replice do odczytu. Polecenia materializujące dane w Aurora zapisują je w bazie i działają na instancji zapisującej. Gdy dany wzorzec zapytań wymaga opóźnienia rzędu pojedynczych milisekund, AWS wskazuje materializację wybranych danych z jeziora do natywnych tabel Aurora jako możliwe rozwiązanie.

W przykładzie AWS zapytanie łączy transakcje z ostatnich siedmiu dni w Aurora z pięcioletnią historią w pliku Parquet w S3. Aurora rozpoznaje schemat tabeli obcej na podstawie metadanych pliku. Te okresy opisują przykład, a nie wymagania ani limity funkcji.

Dostępność i koszty

AWS podaje, że funkcja jest dostępna we wszystkich komercyjnych regionach AWS oraz w regionach AWS GovCloud (US). Nie ma osobnej opłaty za samą funkcję, ale korzystanie z niej może zwiększyć koszty obliczeniowe Aurora i opłaty za żądania S3.