継続的クエリの概要

このドキュメントでは、BigQuery の継続的クエリについて説明します。

BigQuery の継続的クエリは、継続的に実行される SQL ステートメントです。継続的クエリを使用すると、BigQuery で受信データをリアルタイムで分析できます。継続的クエリによって生成された出力行を BigQuery テーブルに挿入することも、Pub/Sub、Bigtable、または Spanner にエクスポートすることもできます。継続的クエリは、次のいずれかの方法で標準の BigQuery テーブルに書き込まれたデータを処理できます。

継続的クエリを使用すると、分析情報の作成と即時実行、リアルタイムの機械学習(ML)推論の適用、他のプラットフォームへのデータのレプリケーションなど、時間的制約のあるタスクを実行できます。これにより、アプリケーションの判断ロジックでイベント ドリブンのデータ処理エンジンとして BigQuery を使用できます。

次の図は、一般的な継続的クエリのワークフローを示しています。

データの取り込み、処理、Bigtable や Pub/Sub といった宛先へのエクスポートなど、一般的な BigQuery 継続的クエリ ワークフローを示す図。

ユースケース

継続的クエリを使用する一般的なユースケースは次のとおりです。

  • カスタマイズされた顧客対応: 生成 AI を使用して、顧客対応ごとにカスタマイズされたメッセージを作成します。
  • 異常検出: 複雑なデータに対して異常と脅威をリアルタイムで検出できるソリューションを構築し、問題に迅速に対応できるようにします。
  • カスタマイズ可能なイベント ドリブン パイプライン: Pub/Sub と継続的クエリを統合して、受信データに基づいてダウンストリーム アプリケーションをトリガーします。
  • データの拡充とエンティティの抽出: 継続的クエリを使用して、SQL 関数と ML モデルを使用してリアルタイムでデータの拡充と変換を行います。
  • リバース ETL(抽出 / 変換 / 読み込み): 低レイテンシのアプリケーション サービングに適した他のストレージ システムにリアルタイムのリバース ETL を実行します。たとえば、BigQuery に書き込まれたイベントデータを分析または拡充し、Bigtable または Spanner にストリーミングしてアプリケーション サービングを行うことができます。

サポートされているオペレーション

継続的クエリでは、次のオペレーションがサポートされています。

認可

継続的クエリジョブの実行時に使用される Google Cloud アクセス トークンは、ユーザー アカウントによって生成された場合、有効期間(TTL)が 2 日間になります。そのため、このようなジョブは 2 日後に実行を停止します。サービス アカウントによって生成されたアクセス トークンはより長く実行できますが、それでも最大クエリ実行時間は遵守する必要があります。詳細については、サービス アカウントを使用して継続的クエリを実行するをご覧ください。

ロケーション

継続的クエリは、次のロケーションでサポートされています。

リージョンの説明 リージョン名 詳細
南北アメリカ
米国(マルチリージョン) us
ダラス us-south1 リーフアイコン 低 CO2
アイオワ us-central1 リーフアイコン 低 CO2
ロサンゼルス us-west2
メキシコ northamerica-south1
モントリオール northamerica-northeast1 リーフアイコン 低 CO2
バージニア州北部 us-east4
オレゴン us-west1 リーフアイコン 低 CO2
ソルトレイクシティ us-west3
サンパウロ southamerica-east1 リーフアイコン 低 CO2
サウスカロライナ州 us-east1
トロント northamerica-northeast2 リーフアイコン 低 CO2
アジア太平洋
デリー asia-south2
香港 asia-east2
ジャカルタ asia-southeast2
メルボルン australia-southeast2
ムンバイ asia-south1
大阪 asia-northeast2
ソウル asia-northeast3
シンガポール asia-southeast1
シドニー australia-southeast1
台湾 asia-east1
東京 asia-northeast1
ヨーロッパ
EU(マルチリージョン) eu
ベルギー europe-west1 リーフアイコン 低 CO2
ベルリン europe-west10 リーフアイコン 低 CO2
フィンランド europe-north1 リーフアイコン 低 CO2
フランクフルト europe-west3
ロンドン europe-west2 リーフアイコン 低 CO2
マドリード europe-southwest1 リーフアイコン 低 CO2
ミラノ europe-west8
オランダ europe-west4 リーフアイコン 低 CO2
パリ europe-west9 リーフアイコン 低 CO2
ストックホルム europe-north2 リーフアイコン 低 CO2
トリノ europe-west12
ワルシャワ europe-central2
チューリッヒ europe-west6 リーフアイコン 低 CO2
中東
ドーハ me-central1
ダンマーム me-central2
テルアビブ me-west1
アフリカ
ヨハネスブルグ africa-south1

制限事項

継続的クエリには、次の制限があります。

予約の制限事項

  • 継続的クエリを実行するには、Enterprise エディションまたは Enterprise Plus エディションの予約を作成する必要があります。継続的クエリは、オンデマンド コンピューティングの課金モデルをサポートしていません。
  • CONTINUOUS 予約の割り当てを作成すると、関連する予約は最大 500 スロットに制限されます。この上限の引き上げをリクエストするには、bq-continuous-queries-feedback@google.com 宛てにメールをお送りください。
  • 継続的クエリの予約の割り当てでは、予約が共有するように構成されている場合でも、アイドル スロットは共有されません。
  • 継続的クエリの予約割り当てと同じ予約で、異なるジョブタイプを使用する予約割り当てを作成することはできません。
  • 継続的クエリの同時実行を構成することはできません。BigQuery は、CONTINUOUS ジョブタイプを使用する使用可能な予約割り当てに基づいて、同時に実行できる継続的クエリの数を自動的に決定します。
  • 同じ予約を使用して複数の継続的クエリを実行すると、個々のジョブで使用可能なリソースが公平に分割されない場合があります(BigQuery の公平性を参照)。

スロットの自動スケーリング

継続的クエリでは、スロットの自動スケーリングを使用して、割り当てられた容量をワークロードに合わせて動的にスケーリングできます。継続的クエリのワークロードが増減すると、BigQuery はスロットを動的に調整します。

継続的クエリが実行を開始すると、受信データを積極的にリッスンし、スロット リソースが消費されます。継続的クエリが実行されている予約はゼロスロットにスケールダウンされませんが、主に受信データをリッスンしているアイドル状態の継続的クエリは、通常 1 スロット程度の最小限のスロットを消費します。

料金

継続的クエリでは、スロットで測定される BigQuery 容量コンピューティングの料金が使用されます。継続的クエリを実行するには、Enterprise エディションまたは Enterprise Plus エディションを使用する予約と、CONTINUOUS ジョブタイプを使用する予約割り当てが必要です。

データの取り込みやストレージなど、他の BigQuery リソースの使用量は、BigQuery の料金に記載されている料金で課金されます。

継続的クエリの結果を受け取るサービス、または継続的クエリの処理中に呼び出されるサービスの使用量は、そのサービスに公開されている料金で課金されます。継続的クエリで使用される他の Google Cloud サービスの料金については、次のトピックをご覧ください。

次のステップ

継続的クエリを作成してみる。