このページでは、AlloyDB for PostgreSQL の Lakehouse Federation について説明します。これは、AlloyDB のクエリ機能を拡張する統合データ管理ソリューションです。 この統合により、次のものを含むさまざまな BigQuery リソースに対してシームレスにクエリを実行できます。
- ネイティブ テーブルとマテリアライズド ビュー。
- BigQuery ビュー(論理ビュー)。
- BigLake 外部テーブル( Apache Iceberg マネージド テーブル用のものを含む)。
- 標準の外部テーブル。
Lakehouse Federation を使用すると、AlloyDB のクエリエンジンを利用して、同じインターフェース内でアプリケーションのトランザクション ワークロードと分析ワークロードを強化できます。さらに、このデータを AlloyDB で具体化またはインポートして、アプリケーションで使用する際のアクセスを高速化し、 AlloyDB AI および カラム型エンジンを使用できるようになります。
AlloyDB の Lakehouse Federation を使用すると、BigQuery または Iceberg から AlloyDB にデータを読み込んで変換し、運用アプリケーションをサポートすることや、履歴データとリアルタイムのトランザクション データを結合することが可能です。このユースケースは、統合分析と、アプリケーション コンテキストでのビジネスの完全なビューをサポートします。
AlloyDB をトランザクション データベースとして使用しつつ、BigQuery または BigLake に大量のデータを保存できます。通常、アプリケーションは、こうした異なる Google Cloud サービスにまたがるデータにアクセスするために 両システムとは個別に統合されます。Lakehouse Federation を使用すると、外部データラッパーとして実装された AlloyDB の連携クエリサポートを利用して、AlloyDB の SQL インターフェースを通じて BigQuery と AlloyDB のデータにアクセスできます。
プッシュダウン
フィルタと集計のプッシュダウン手法を使用すると、BigQuery でデータをフィルタまたは集計してから AlloyDB に移動または処理することで、クエリを高速化し、コストを削減できます。このアプローチでは、ネットワーク トラフィックとメモリ使用量を最小限に抑え、リソース上限を超過することなく、大規模なデータセットを迅速かつ効率的に分析できます。
フィルタ プッシュダウン
フィルタ プッシュダウン(述語プッシュダウンとも呼ばれます)は、データのフィルタリングをストレージ レイヤにできるだけ近づける最適化手法です。大規模なテーブルをメモリに読み込んでから不要な行を破棄するのではなく、データベースはフィルタ(WHERE
句を使用)を最初のデータ スキャンに「プッシュ」します。
フィルタ プッシュダウンを使用すると、WHERE 句を含む SQL クエリを使用して、リモート テーブルからデータのサブセットにアクセスできます。このデータは、ローカル
テーブルで具体化することも、PostgreSQL テーブルにローカル パーティションとしてアタッチすることもできます。
サポートされているフィルタ
PostgreSQL クエリのフィルタリング(WHERE)句の式に次の比較演算と算術演算が含まれている場合、BigQuery API を使用して BigQuery にプッシュダウンされます。
比較演算子
=、>、<、>=、<=、<>、~~、!~~
算術演算子
+、-、*、/
集計プッシュダウン
集計プッシュダウン は、SUM、COUNT、AVG、GROUP BY などの計算をストレージ
レイヤにできるだけ近づけて実行する高度なデータベース最適化です。フィルタ プッシュダウンは不要な行を削除しますが、集計プッシュダウンは、データベース
エンジンがさらに処理する前に必要な行を要約します。
サポート対象の集計
次の集計関数は、サポートされているデータ型に適用可能な場合、BigQuery API を使用して BigQuery にプッシュダウンされます。
- SUM
- AVG
- MIN
- MAX
- COUNT
BigQuery の費用と請求
BigQuery 外部データラッパーは、次のものに依存します。
- BigQuery コンピューティングの料金
- BigQuery Storage API の料金
詳細については、BigQuery の料金をご覧ください。
制限事項
- AlloyDB と BigQuery では照合順序が異なる場合があり、 2 つのシステム間でデータの並べ替えが異なることがあります。BigQuery でリモートで実行されるクエリの 部分では、照合順序は BigQuery の設定に従います。
- プッシュダウン後に BigQuery から非常に大量のデータを返すクエリは最適化されません。
次のステップ
- AlloyDB から BigQuery データにアクセスする。
- BigQuery と Iceberg のデータを AlloyDB に同期する。
- サポートされている BigQuery のデータ型と列のマッピングについて確認する。