🐼

Google Cloud NEXT'24 Las Vegasセッション BigQuery continuous queries レポート

2024/04/16に公開

はじめに

こんにちは!
クラウドエース データソリューション部所属の伊藤です。
Google Cloud NEXT'24 in Las Vegas から、「Build continuous data and AI pipelines with BigQuery continuous queries」というセッションを聞いてきたので、その内容のレポートをお届けします。

このセッションは Google Cloud NEXT'24 で発表があった BigQuery continuous queries について、より詳細な内容を紹介するものでした。
筆者は普段 BigQuery や Vertex AI、それと Dataflow も使っているので、このセッションは非常に気になっていたセッションの一つでした。
それでは内容を確認していきましょう。

BigQuery でストリーム処理が可能に?


リアルタイムにデータを処理することができることは非常に大きなメリットがあります。
例えば、不正検出や異常検知などはリアルタイムでデータを処理することが求められることが多いです。
また、意思決定を正確に早く行えるほどビジネスでは大きなメリットになってきます。

そのためにも前後のデータと比べつつ、その内容をリアルタイムに処理、判定できることが求められます。
その需要に応えるために今回発表されたのが BigQuery continuous queries です。
これは BigQuery にストリーム挿入されたデータに対して継続的にクエリを実行することができる機能です。

BigQuery continuous queries とは


繰り返しになりますが、ストリーム挿入されたデータに対して継続的にクエリを実行できる機能になります。

クエリとしては基本的な SQL 構文を使用することができ、もちろん生成 AI や Vertex AI などの機械学習モデルを呼び出すことも可能です。
リアルタイムでのデータの拡張(エンリッチメント)、データ生成、異常検知に非常に有用です。

クエリ結果は Pub/Sub へ送信したり、BigQuery、Bigtable などに書き込むことができます。

具体的な利用とユースケース

従来であれば Dataflow でリアルタイムに処理を行ったり、定期的にスケジュールドクエリを実行したりなど、リアルタイム処理を行う際のハードルは高く、学習コストも非常に高いです。


BigQuery continuous queries では特別なクエリを記述する必要はなく、非常に簡単にリアルタイム処理を実現することができます。
データをエクスポートをする場合は、通常のクエリに加えて EXPORT DATA ステートメントを記述するだけです。

ここで(新規だと思いますが) Pub/Sub の EXPORT DATA ステートメントもさらっと紹介されていました。

continuous queries として実行するにはクエリ設定の項目で continuous query のチェックボックスをオンにするだけです。非常に簡単です。

会場のデモでは、 continuous queries が1時間以上実行し続ける BigQuery のテーブルに対してデータ挿入をし、クエリ処理後のデータが Bigtable に書き込まれていることを確認するデモが行われました。


こちらのユースケースでは、オンラインショッピングを行っているユーザーの動向を収集し、coniuous queries でリアルタイムに分析を行い、その結果を Pub/Sub に送信しています。
Pub/Sub 送信後は 別のサービス(Cloud Functinos など)を挟んで、そのユーザーに対してリアルタイムにメール送信、クーポンの配信などを行うことができます。


もちろん JOIN 操作をすることも可能です。
片方はストリームで挿入されるテーブルを指定し、それとは別のテーブルを JOIN することができます。

ストリームに慣れている方にとってはストリーム同士の JOIN の場合や、ウインドウとかが気になるかと思いますが、これに関してはまた後日アナウンスされるでしょう。

おわりに

「Build continuous data and AI pipelines with BigQuery continuous queries」のセッションレポートでした。
BigQuery continuous queries は非常に簡単にリアルタイムデータ処理を行うことができる機能であり、今後の BigQuery の進化に期待が高まります。

料金に関しては言及されていませんでしたが、Googler に確認したところ、データの処理量(オンデマンドの場合)、もしくはスロットの利用量(Editions の場合)に依存して課金がなされるようです。
このあたりは正式にリリースしてから再度確認したいと思います。

既存の機能である Pub/Sub の BigQuery Subscription とこの BigQuery continuous queries の組み合わせはリアルタイム処理の黄金パターンになりそうです。この組み合わせにより、SQL のみでリアルタイム処理を実現することができるのは非常に強力です。

パブリックプレビューの開始通知を受け取りたい方はこちらのGoogle Formから登録することができます。
非常に楽しみですね!

Discussion