【製品解説】Postgres Analytics Accelerator(PGAA)1.10.0
Postgresからデータレイクを直接高速分析 〜ETL不要のデータ融合基盤として、EPAS関数拡張、Iceberg RESTカタログ、複合型サポートを統合:Postgresからデータレイク上の大容量データを直接・高速クエリできるPGAAが最新化!EPAS(Oracle互換)関数の大幅拡充やMinIO AIStor連携に加え、Struct/Map型の読み込みに対応。ETL不要でデータベースとデータレイクの統合をさらに強力に推進します。
1. PGAAとは?
Postgres Analytics Accelerator(PGAA)は、PostgreSQLディストリビューション(標準のPostgreSQL、EDB Postgres Extended Server、およびEDB Postgres Advanced Serverを含む)向けの高性能な拡張機能です。オブジェクトストレージ上に Delta Lake、Apache Iceberg、Parquet などのオープンなテーブルフォーマットで保存されている大規模データに対して、Postgresから直接クエリを実行できるようにすることで、運用データベース(OLTP)とデータレイク(OLAP)のギャップを埋める役割を果たします。
2. 主なメリット
- コンピュートとストレージの分離: ローカルデータベースの容量に縛られず、分析用コンピュートリソースを個別にスケール可能です。
- コスト効率の高いデータ階層化: ホットデータはローカルSSDに、コールドデータは安価なクラウドオブジェクトストレージに配置して効率的に階層管理できます。
- ベクトル化によるクエリ高速化: 列指向のバッチ(ベクトル)処理により、大規模分析クエリを大幅に高速化します。
- シームレスな統合とETL削減: 面倒なETL処理なしで、標準SQLを使ってデータレイクを直接クエリできます。
- フェデレーション(連携)クエリ: 1つのクエリ内でローカルテーブルとリモートのデータレイクテーブルを結合処理できます。
3. PGAAの仕組み
PGAAは以下の技術的アプローチにより、最適化されたデータアクセスとクエリ実行を実現しています。
- TAM(テーブルアクセスメソッド): Postgresのクエリプランナーにフックしてカスタムストレージエンジンとして動作し、リモートストレージをローカルテーブルとして扱えます。
- PGFSストレージ抽象化レイヤー: AWS S3、GCS、Azure Blob、ローカルファイルシステムとの接続、認証、ファイル転送、メタデータ・スキーマキャッシュを一元管理します。
- 2つのベクトル化実行エンジン: Apache DataFusionベースでSIMD/Arrow Flightを用いる「Seafowl(デフォルト)」と、超大容量データ用にSparkクラスタへオフロードする「Spark Connect」に対応。
- 2つのクエリ実行モード: 処理を丸ごと実行エンジンへオフロードする「DirectScan」と、未対応機能やローカル結合用のハイブリッドモード「CompatScan」を備えています。
- コンピュートプッシュダウン: 結合処理や集計処理をリモートエンジン側へ押し出し、ネットワーク転送量を最小化します。
- マルチティアキャッシュ: ネットワーク遅延低減のため、Parquetファイル、メタデータ、テーブルサイズ統計情報をローカルにキャッシュします。
- PGD連携による自動階層化: PGD AutoPartition等と連携し、経過した古いデータを自動的にオブジェクトストレージへ移行・解放します。
4. バージョン1.10.0 新機能
【新機能および機能強化】
- EPAS(Oracle互換)関数のサポート拡張: 日付演算(
last_day,sysdate等)、文字列検索(INSTR等)、数値・条件ロジック(to_number,decode等)がSeafowlエンジンで直接実行可能になりました。 - MinIO AIStor Iceberg REST カタログ対応: Iceberg RESTカタログのバックエンドとして MinIO AIStor を正式サポートしました。
- Struct および Map 型のサポート: Iceberg、Delta Lake、Parquetから複合的な構造体(Struct)やマップ(Map)型データを読み込み、Postgres側でJSONデータとして扱えるようになりました。
- Apache DataFusion 54 統合: 内部ベクトル化エンジンのApache DataFusionをバージョン54にアップグレードしました。
- オブジェクトストレージキャッシュの強化:
offset型およびsuffix型GETリクエストへのキャッシュ処理に対応しました。
【主な不具合修正】
- CTAS実行時、出力先パスやアクセス権不備に対して明確なエラーを返すよう改善。
- 一部列指定で作成されたPGAAテーブルに対する
SELECT *実行時の不具合を修正。 gprestore実行時、すでにメタデータが存在するデータベースへのリストア処理を安全にスキップ・継続可能に修正。- マルチプライマリキーレプリケーションでのNULL値解析エラーや、
TIMESTAMPTZ列の精度損失を解消。
5. 日本語マニュアル
Postgres Analytics Accelerator(PGAA)1.10.0 日本語マニュアル
機能の詳細な設定方法やパラメータ仕様、導入手順については日本語マニュアルをご覧ください。