コンテンツに移動
データ分析

BigQuery プレビュー版の検索機能であらゆるサイズのデータから特定の要素を簡単に特定

2022年4月19日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Blog-Banner_2880x1200_v12x-1.max-2600x2600.jpg
Google Cloud Japan Team

※この投稿は米国時間 2022 年 4 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。

今回の投稿では、BigQuery の検索インデックスと、関連する SQL SEARCH 関数の公開プレビュー版がご利用いただけるようになったことをお知らせいたします。この検索インデックスは、BigQuery の標準 SQL を使用し、非構造化テキストや半構造化データ(JSON)から個々のデータ要素を簡単に見つけられるようにするものであり、テーブル スキーマが事前にわからない場合にも対応できるのが特徴です。これにより、BigQuery の行のルックアップが効率化され、単一のデータ プラットフォームにおけるカラムストアやテキスト検索が強化されます。この方法は、集計ではなくデータ行を検索したいような場合に、費用を抑えつつパフォーマンスを向上できるというメリットがあり、GDPR 報告書のユーザーに関するデータ行を特定する場合や、テキスト ペイロード内の特定のエラーコードを検索する場合などに利用できます。  このような検索インデックスが、完全にサーバーレスで、また BigQuery によるフルマネージドで可能になります。BigQuery でデータが利用可能になるとすぐに、SEARCH 関数を使用して検索できるようになります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/1_BigQuery_search.max-2000x2000.jpg

BigQuery で検索関数とインデックスを使用する他の事例をいくつか見てみましょう。

https://storage.googleapis.com/gweb-cloudblog-publish/images/2_BigQuery_search.max-800x800.jpg

BigQuery は、テキスト内の検索が可能で、重いテーブル スキャンをトリガーしないため、すでにパートナーは顧客に提供できる新しいアプリケーションの検討を始めています。

そういったパートナーの 1 社が、サイバー セキュリティのリーダーである Exabeam です。同社は、顧客に最新のセキュリティ分析プラットフォームを提供することで、分析主導のインサイトをチームが活用できるようにして、古くなったツールが見逃している脅威を発見、調査、解決しています。同じデータ プラットフォーム内からさまざまな種類のクエリパターンに対応する検索などの BigQuery 機能を利用すれば、多様なストレージ タイプ(ホット、ウォーム、検出)に BigQuery を使えるようになります。Exabbeam のプロダクト担当バイス プレジデントである Sanjay Chaudhary 氏は、次のように説明します。「Exabbeam は 500 以上のセキュリティ ベンダーからデータを取り込み、非構造化データをセキュリティ イベントに変換し、費用対効果の高い方法で保存する共通のプラットフォームを作ることができます。Google のデータクラウドのスケールと性能のおかげで、お客様は、数年分のデータの検索と脅威の検出を数秒で行えるようになりました」。  

BigQuery で既存のセキュリティ分析ツールをモダナイズする手段を見出した事例もあります。たとえば、Mach5 は、BigQuery をバックエンド データストアとして活用し、BigQuery のスケールを活かしつつ TCO を抑えながら OpenSearch のダッシュボードおよび API 互換性を顧客に提供するという、OpenSearch の新しい実行方法を実現しています。「クラウド以前のアーキテクチャ向けに設計された従来の検索システムは、もはや大規模なメンテナンスに対応できず、経済的でもありません。私たちは BigQuery の性能を活用して、クラウドの検索ベースの分析をモダナイズしています」と、Mach5 の CEO、Vinayak Borgar 氏は話します。

BigQuery での検索の仕組み

検索インデックスとは、BigQuery の主なデータに付随する転置インデックスで、ポイント検索(たとえば、干し草の中から針を探すような)を高速化する効果があります。これは検索インデックスにより、データの特定の要素がテーブルの基盤となるストレージのどこにあるかという分析情報が BigQuery に提供されるからです。データはトークン化プロセスを経るので、大文字と小文字の区別などのテキスト検索のニュアンスに関しては、SQL よりも柔軟性が高くなります。

では、この機能の利点とその仕組みについて詳しく見ていきましょう。

  • 大規模な検索 - ペタバイト規模でリアルタイム ログと履歴ログを保存します。セキュリティ分析の場合、脅威はシステムだけにとどまらず、オンプレミス、複数のクラウド、Kubernetes からも発生します。たとえば、ハッカーが GCP に侵入すると、おそらくソリューションの他のコンポーネントにも侵入していることになります。そのため、1 つの場所での確認と追跡が望まれます。ユーザーはデータを保存する一元的な場所を必要としています。BigQuery を使用すると、無限のスケーラビリティと超高速なクエリ パフォーマンスを実現できます。ユーザーは複数の列を同時に検索することも可能で、探している要素がどこに保存されているかを気にする必要はありません。

  • 新たな価格モデルはなし - 必要なインデックス ストレージの料金のみかかります。BigQuery は費用対効果の高いソリューションを提供します。インデックスに必要な追加のストレージに対してのみ請求が発生し、すべてのメンテナンス コストは無料です。 クエリを効果的に利用すれば、スキャンされるデータが大幅に減少し、コストの削減につながります。例を見ていきましょう。たとえば、GDPR を遵守するために、ペタバイトのデータの 10 個の レコードにのみ表示される「Bob」というユーザーのデータをすべて削除する必要があるとします。従来は、テーブル全体をスキャンして料金を支払う必要がありました。この処理は数テラバイト分にもなります。BigQuery テーブルにインデックスを追加すれば、データを含む行のサブセットのみが処理されるため、コストが大幅に削減されます。

  • フルマネージド - 手動のメンテナンスは不要です。BigQuery の他の機能のように、検索インデックスはフルマネージドです。つまりインデックスを一度作成すれば、BigQuery により残りがバックグラウンドで処理されるため、コストのかかるメンテナンスが軽減されます。さらに、データへの増分変更は自動的に更新され、結果は常に正確で最新の状態になります。

  • JSON とのインテグレーションで半構造化データを検索 -  セキュリティ ログには、可変のスキーマや型があり、複数のソースから取得されているため、データを予測できません。このインテグレーションにより、企業はデータを JSON として保存する柔軟性を持ちながら、クエリに SQL を簡単に使えるようになります。データを変換して維持するための複雑なパイプラインが不要になるので、コストとリソースを節約できます。

検索を利用して BigQuery のログ分析を改善

これらの検索機能は、BigQuery でログ分析の性能が改善された数多くの事例の一部です。デジタル サービス、SaaS アプリケーション、IoT デバイスの急増により、蓄積されたペタバイト単位のログを分析することが非常に困難になっています。ログからセキュリティの脅威を特定するのが難しく、費用もかかるようになります。検索は、BigQuery がログ分析や一元化したセキュリティ分析に最適なソリューションであることを示す機能の一つです。

BigQuery を一元化した分析プラットフォームとして使用することで、さまざまなトラブルシューティングのシナリオに役立つことが認識されつつあります。最近、Google Cloud では、コミュニティ セキュリティ分析(CSA)がリリースされました。これは、オープンソースのクエリおよびルールのセットで、BigQuery を活用して一般的なクラウドベースの脅威を検出できるようにすることを目的として設計されています。

Log Analytics は、BigQuery を使用したログ分析をすぐに始めたいユーザー向けの Cloud Logging の新機能で、現在はプレビュー版(登録)が提供されています。この新しいインターフェースでは、ログで BigQuery と SQL の性能が発揮されます。Log Analytics のログ分析用に最適化されたユーザー インターフェースで、Cloud Logging でのログの集約および分析をシームレスに行えるようになります。  

BigQuery でのセキュリティ分析プラットフォームの構築に関する概要は、最近行われた Google Data Cloud Summit のこちらのセッションをご覧ください。

使ってみる

この機能は現在、公開プレビュー版でご利用いただけます。  以下に示すように、既存のテーブルに検索インデックスを追加して、SQL ステートメントを使ってクエリを実行するだけで利用できます。

読み込んでいます...

詳細については、ドキュメントで概要、補足説明、技術的な詳細情報をご確認ください。半構造化データの高速検索をお試しになる場合は、JSON の公開プレビュー版にご登録ください。

- Google Cloud、ソフトウェア エンジニア Srinidhi Raghavan
- Google Cloud、プロダクト マネージャー Christopher Crosbie

投稿先