分析を加速: Bigtable SQL の新機能でリアルタイムの分析情報を導出

Christopher Crosbie
Group Product Manager
Bora Beran
Group Product Manager
※この投稿は米国時間 2025 年 4 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。
数十年にわたり、企業はリアルタイムの運用のためにデータの真の可能性を引き出そうと取り組んできました。Google Cloud の先駆的な NoSQL データベースである Bigtable は、グローバル規模で動作する低レイテンシの大規模なアプリケーションを支えるエンジンとして機能してきました。リアルタイム アプリケーションにおける課題を解決するために構築されたこのデータベースは、YouTube や Google 広告など、Google のインフラストラクチャの重要な要素として今も使用されています。
今週の Google Cloud Next で、Google は Bigtable の SQL 機能を拡張した継続的マテリアライズド ビューを発表しました。Bigtable SQL と継続的マテリアライズド ビューにより、ユーザーは使い慣れた SQL 構文を使用して、フルマネージド型のリアルタイム アプリケーション バックエンドを構築できます。また、リアルタイム アプリケーションに不可欠な Bigtable の柔軟なスキーマを保持するための特殊機能も使用できます。
ストリーミング アプリケーション、リアルタイム集計、継続的なデータストリームでのグローバル AI 分析などの用途において、Bigtable は非常に使いやすくなり、機能も大幅に向上しました。
Bigtable の SQL インターフェースの一般提供を開始
このたび、Bigtable に SQL サポートが追加され、一般提供が開始されたことで、デベロッパー エクスペリエンスが大きく変わりました。SQL サポートにより、開発チームは、Bigtable の柔軟性とスピードをより簡単に活かせるようになります。


Bigtable Studio の Bigtable SQL インターフェース
Bigtable SQL インターフェースは、迅速なトラブルシューティングとデータ分析を容易にすることで、アクセス性を高め、アプリケーション開発を合理化します。これにより、分散カウンタを活用して指標を即座に取得するリアルタイム ダッシュボードや、K 最近傍(KNN)類似検索による商品検索の改善など、新しいユースケースが実現します。革新的な AI スタートアップから伝統的な金融機関に至るまで、幅広いお客様が、デベロッパーによる Bigtable の機能の活用を促進する Bigtable SQL の可能性に注目しています。
「コードベース全体を理解する AI を活用してコーディングすることを想像してみてください。それを実現するのが Augment Code です。Augment Code は、あらゆる機能において背景情報を提供する AI コーディング プラットフォームです。Bigtable の堅牢性とスケーリングにより大規模なコード リポジトリを扱うことができ、その使いやすさのおかげで、お客様の貴重な知的財産を保護するセキュリティ機能を構築できました。エンジニア チームの規模が拡大する中でも、Bigtable SQL によって新しいエンジニアのオンボーディングが容易になります。新しいエンジニアは、使い慣れた SQL インターフェースを使用しながら、構造化データ、半構造化データ、非構造化データへの Bigtable の高速なアクセスを活用してすぐに作業を開始できます」と、Augment の共同創設者 / CTO である Igor Ostrovsky 氏は述べています。
「Equifax は、財務ジャーナルのハイパフォーマンス ストレージのために独自のデータ ファブリック内で Bigtable を活用しています。当社のデータ パイプライン チームは Bigtable の SQL インターフェースを評価し、それが当社のエンタープライズ データに直接アクセスするための有用なツールであり、SQL に精通したチームにとって Bigtable の使いやすさを向上させると判断しました。これにより、より多くのチームメンバーが Bigtable を効率的に使用できるようになり、生産性の向上と統合機能の強化が期待できます」と、データ ファブリック意思決定科学担当バイス プレジデントである Varadarajan Elangadu Raghunathan 氏と Lakshmi Narayanan Veena Subramaniyam 氏は語っています。
Bigtable SQL は、分散 Key-Value アーキテクチャと SQL ベースのクエリ言語を持つデータベース(Cassandra(CQL)や Apache Phoenix を使用した HBase など)からスムーズに移行できる点でも評価されています。
「Pega で構築しているリアルタイム意思決定アプリケーションでは、クライアントがビジネスを推進するためのリアルタイム データを確実に取得できるようにするため、非常に低レイテンシのクエリ レスポンスが必要となります。Bigtable の新しい SQL インターフェースは、既存のデータベースの代替を探している当社にとって魅力的な選択肢です」と、Pega のデータおよびインテグレーション担当主任プロダクト マネージャーである Arjen van der Broek 氏は述べています。
今週、Bigtable の SQL 言語に新しいプレビュー版の機能も追加されます。これには、GROUP BY と集計、タイムスタンプ付きデータを処理するための UNPACK 変換、マルチパート行キーに保存されたデータを処理するための構造化された行キーが含まれます。
継続的マテリアライズド ビュー(プレビュー版)
Bigtable SQL は、Bigtable で最近導入された継続的マテリアライズド ビュー(プレビュー版)と統合され、データの古さやメンテナンスの複雑さといった従来のマテリアライズド ビューの制限に対するソリューションが実現しています。このソリューションにより、メディア ストリーミング、e コマース、広告、ソーシャル メディア、産業モニタリングなどのアプリケーション全体でデータ ストリームをリアルタイムに集計して分析できます。
Bigtable のマテリアライズド ビューはフルマネージドであり、アプリケーションからのユーザーのクエリに影響を与えることなく、段階的に更新されます。また、関数や集計などの豊富な SQL 言語もサポートしています。
「Bigtable の新しいマテリアライズド ビューにより、当社の Customer Data Platform のお客様に、低レイテンシのユースケースによる最大限のメリットを提供できるようになりました。取り込み時に SQL ベースの集計 / 変換を定義することで、時系列データを扱う場合の ETL の複雑さと遅延を解消しています。さらに、取り込み時にデータ変換を行うことで、AI アプリケーションが最小限のレイテンシで完全に準備されたデータを受け取れるようになりました」と、Zeotap の最高技術責任者である Sathish KS 氏は語っています。


継続的マテリアライズド ビューのワークフロー
エコシステムのインテグレーション
有用なリアルタイム分析を行うには、多くの場合、大量のソースから非常に低いレイテンシでデータを取得する必要があります。Bigtable は SQL インターフェースを拡張するとともに、エコシステムとの互換性も拡張し、シンプルなコネクタと SQL を使用してエンドツーエンドのアプリケーションを簡単に構築できるようにしています。
オープンソースの Apache Kafka Bigtable Sink多くのお客様が、Bigtable などの分析システムにデータをストリーミングするパイプラインを構築するために Google Cloud Managed Service for Apache Kafka を利用しています。お客様が高パフォーマンスのデータ パイプラインを構築できるように、Bigtable チームは新しい Bigtable Sink for Apache Kafka をオープンソース化しました。これにより、Kafka から Bigtable にデータを数ミリ秒で送信できるようになります。
Bigtable 用のオープンソース Apache Flink コネクタApache Flink は、リアルタイムでデータを操作できるストリーム処理フレームワークです。最近リリースされた Apache Flink から Bigtable へのコネクタを使用すると、高レベルの Apache Flink Table API とよりきめ細かい Datastream API の両方を使用してストリーミング データを変換し、出力を Bigtable に書き込むパイプラインを構築できます。
BigQuery の継続的クエリ(一般提供開始)BigQuery の継続的クエリは、継続的に実行される SQL ステートメントで、生成された出力行を Bigtable テーブルにエクスポートできます。この機能の一般提供が開始され、Bigtable と BigQuery を組み合わせたリアルタイム分析データベースの構築に利用できるようになりました。
継続的クエリは、BigQuery の Python フレームワークから bigrames.streaming API として利用することもできます。これにより Python デベロッパーは、Bigtable のオンライン データセットと BigQuery のオフライン データセットを同期するフルマネージド ジョブを作成できます。
「BigQuery の継続的クエリにより、SQL ステートメントを記述するだけで、アプリケーションでリアルタイムのストリーム処理と ML 予測を使用できるようになりました。これは、プロダクトを迅速かつ簡単にリリースできる優れたサービスです」と、DMM.com の MLOps エンジニアである Shuntaro Kasai 氏と Ryo Ueda 氏は述べています。


Bigtable のリアルタイム分析の概要
Bigtable CQL クライアント: Bigtable でプレビュー版が公開され、Cassandra に対応
Cassandra クエリ言語(CQL)は、Apache Cassandra のクエリ言語です。Bigtable CQL クライアントのリリースにより、デベロッパーは最小限のコードの変更で、またはコードを変更することなくアプリケーションを Bigtable に移行し、エンタープライズ グレードの高性能な Bigtable で使い慣れた CQL を利用できるようになりました。Bigtable は、CQL シェル(CQLsh)などの Cassandra エコシステムの一般的なツールと、Cassandra からのシームレスな移行を実現する Cassandra 独自のデータ移行ユーティリティもサポートしています。ダウンタイムがないため、運用上のオーバーヘッドが大幅に削減されます。
Bigtable CQL クライアントと移行ユーティリティの使用を開始するには、こちらをご覧ください。
融合: NoSQL が SQL の強みを取り入れる
このブログ投稿では、デベロッパーが Bigtable で SQL を使用できるようにする大きな進歩について説明しました。Bigtable Studio を使用して既存の Bigtable クラスタから柔軟な SQL 言語を簡単に使用できるほか、Kafka や Flink からのデータ ストリームでマテリアライズド ビューの作成を開始できます。
詳細については、Bigtable 用の GoogleSQL の概要をご覧ください。
-グループ プロダクト マネージャー、Christopher Crosbie