データ同期を使用すると、AlloyDB for PostgreSQL クラスタに BigQuery 分析データのマネージド書き込み可能コピーを直接作成できます。この機能は、定義したスケジュールに従って、データ ウェアハウスのデータを運用データベースに自動的かつ定期的に更新します。
テーブルを AlloyDB に直接同期することで、BigQuery から運用データベースに分析データを転送するための複雑なカスタム データ パイプラインを構築、管理、維持する必要がなくなります。
データ同期の仕組み
データ同期では、alloydb_sync 拡張機能を使用してデータ レプリケーションを自動化します。同期テーブルを作成すると、AlloyDB はローカルの読み取り専用テーブルを設定し、BigQuery のソースから更新されたデータを定期的に取得するようにバックグラウンド ワーカーをスケジュールします。
クライアント アプリケーションは、AlloyDB でローカル同期テーブルを直接クエリします。これにより、クエリのレイテンシの短縮、AlloyDB の列エンジン、読み取りプール間の水平方向のスケールアウトというメリットが得られます。クエリをネットワーク経由で BigQuery に送信する必要はありません。
ユースケース
BigQuery から、運用データベースの高スループット、低レイテンシ、インタラクティブなパフォーマンスを必要とするアプリケーションに分析データを提供する必要がある場合は、テーブルを同期します。
一般的なユースケースは次のとおりです。
- 同時実行性の高いアプリケーション サービング: 数千人の同時接続ユーザーに分析情報を提供します。AlloyDB にデータを同期し、読み取りプールでスケールアウトすることで、BigQuery の同時クエリと接続の制限を回避できます。
- パフォーマンスの高速化: AlloyDB カラム型エンジンとローカル バッファ キャッシュを使用してデータを処理し、クエリの応答時間を 1 秒未満にします。
- データ ミラーリングの自動化: バッチ ETL ジョブを手動でオーケストレーションすることなく、BigQuery からの分析データの自動化されたスケジュールされた更新を維持します。
- AI と運用ワークフローの有効化: 分析データを AlloyDB に具体化してベクトル エンベディングを生成し、類似性検索を実行し、AlloyDB AI を使用してエージェント ワークフローを強化します。
アーキテクチャとデータフロー
alloydb_sync 拡張機能は、バックグラウンド ワーカーを使用して、構成されたスケジュールに従って BigQuery から AlloyDB クラスタのローカル テーブルにデータを定期的にストリーミングします。アプリケーションは、低レイテンシでローカル テーブルにクエリを実行します。
次の図は、データ同期アーキテクチャを示しています。
データ型マッピング
BigQuery から AlloyDB にデータを同期すると、AlloyDB は BigQuery のデータ型を対応する PostgreSQL のデータ型にマッピングします。
同期テーブルを作成する前に、ソースの BigQuery 列でサポートされているデータ型が使用されていることを確認します。マッピングとサポートされているタイプの完全なリストについては、サポートされているデータ型のマッピングをご覧ください。
料金
データ同期を使用すると、 Google Cloud は次のコンポーネントに基づいて課金します。詳細については、BigQuery データを AlloyDB に同期するをご覧ください。
- AlloyDB: AlloyDB インスタンスと、ローカルで同期されたテーブルで使用されるストレージには、標準の料金が適用されます。
- BigQuery:
alloydb_sync更新ジョブの実行中に実行されるクエリとデータ ストリームには、BigQuery の標準分析料金と BigQuery Storage API 料金が発生します。 - Cloud Storage: Cloud Storage の Apache Iceberg テーブルからデータを同期する場合、標準のストレージ料金とデータ取得料金が適用されます。
制限事項
データ同期には次の制限があります。
- データの更新速度: 同期されたテーブルのデータには、最後に完了した更新以降のソース BigQuery テーブルの状態が反映されます。
- PostgreSQL のバージョン:
alloydb_sync拡張機能を使用したデータ同期は、PostgreSQL バージョン 18 でのみサポートされています。 - データ型の互換性: ソース列は、サポートされている PostgreSQL データ型にマッピングする必要があります。サポートされていない複合型(
ARRAY、BYTES、VECTOR、GEOGRAPHYなど)の場合は、同期する前に BigQuery ビューで列を変換またはキャストする必要があります。