継続的クエリの概要

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

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

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

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

継続的クエリの一般的なワークフローを示す図。

ユースケース

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

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

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

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

認可

長時間実行の継続的クエリを実行するには、ユーザー アカウントではなく、サービス アカウントを使用します。

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

ロケーション

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

  • US
  • EU
  • asia-northeast1
  • asia-south1
  • europe-west1
  • europe-west2
  • europe-west4
  • us-central1
  • us-east1
  • us-east4
  • us-west1

制限事項

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

予約の制限事項

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

料金

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

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

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

次のステップ

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