Bigtable の新しい変更ストリームを使用して、データをリアルタイムで操作する
Google Cloud Japan Team
※この投稿は米国時間 2023 年 9 月 9 日に、Google Cloud blog に投稿されたものの抄訳です。
Cloud Bigtable は、スケーラビリティに優れたフルマネージド NoSQL データベース サービスで、ミリ秒単位のレイテンシと最高 99.999% の可用性 SLA を実現します。また、リアルタイム分析、ゲーム、通信など、高スループットと低レイテンシを必要とするアプリケーションに適しています。
Cloud Bigtable 変更ストリームは、Bigtable データの変更を追跡し、簡単にこのデータにアクセスして他のシステムと統合できる機能です。変更ストリームを使用すると、Bigtable での変更を BigQuery に複製してリアルタイム分析を行ったり、(イベントベースのデータ パイプライン用に)Pub/Sub を使用してダウンストリーム アプリケーションの動作をトリガーしたりすることができます。また、データベースの変更をキャプチャして、マルチクラウドのシナリオや Bigtable への移行に使用することも可能です。
Cloud Bigtable 変更ストリームは、データから新たな価値を引き出すことができる優れたツールです。
NBCUniversal のストリーミング サービス Peacock では、プラットフォーム全体の ID 管理に Bigtable を使用しています。Bigtable 変更ストリーム機能は、同社のデータ パイプラインの簡素化と最適化に役立ちました。
「Bigtable 変更ストリームでは、Dataflow Beam コネクタを利用して既存のデータ パイプラインと統合し、ダウンストリーム処理の変更に対するアラートを出すことが簡単にできました。このアップデートにより、データ正規化の目標達成にかかる時間と処理が大幅に削減されました。」- Peacock、Baihe Liu 氏
データの変更を操作する
テーブルの変更ストリームの有効化は、Google Cloud コンソール、API、クライアント ライブラリ、または Terraform のような宣言型インフラストラクチャ ツールを介して簡単に行うことができます。
特定のテーブルで有効にすると、そのテーブルに対するすべてのデータ変更がキャプチャされ、最長 7 日間保存されます。これは、経時的なデータの変更を追跡したり、監査目的で使用したりするのに便利です。保持期間は具体的なニーズに合わせてカスタマイズできます。また、Dataflow 用の Bigtable コネクタを使用してカスタムの処理パイプラインを構築できます。これにより、バッチ処理、ストリーム処理、ML など、さまざまな方法で Bigtable のデータを処理できます。また、Bigtable API と直接統合することで、より柔軟なコントロールが可能となります。
Cloud Bigtable 変更ストリームのユースケース
変更ストリームは、さまざまなユースケースやビジネス クリティカルなワークロードで活用できます。
分析と ML
イベントデータを収集し、リアルタイムで分析します。これは、Feature Store のエンベディングを更新してパーソナライズするために顧客の行動を追跡したり、IoT サービスのシステム パフォーマンスをモニタリングして障害を検出したりすることに活用できます。また、セキュリティ脅威の特定やイベントのモニタリングによる不正行為の検出にも使用できます。
BigQuery 側から見ると、変更ストリームを使用することにより、経時的なデータの変更を追跡し、傾向を特定して、レポートを生成できます。変更レコードを BigQuery に送信する主な方法は 2 つあります。変更ログのセットとして送信する方法と、大規模な分析のためにデータを BigQuery 上にミラーリングする方法です。
イベントベースのアプリケーション
変更ストリームを活用して特定のイベントのダウンストリーム処理をトリガーします。たとえば、ゲームの場合、プレーヤーの行動をリアルタイムで追跡します。こうすることで、ゲームの状態を更新したり、プレーヤーにフィードバックを提供したり、不正行為を検出したりすることができます。
小売業のお客様は変更ストリームを活用することで、価格や在庫状況などのカタログの変更をモニタリングし、更新をトリガーして、アラートを受け取ることができます。
移行とマルチクラウド
マルチクラウドやハイブリッド クラウドのシナリオのために、Bigtable の変更をキャプチャします。たとえば、Bigtable HBase レプリケーション ツールと変更ストリームを活用して、クラウドやオンプレミスのデータベース間でデータを複製し続けます。このトポロジを活用すると、サービス提供を中断せずに、Bigtable にオンライン移行することもできます。
コンプライアンス
多くの場合、コンプライアンスとは、HIPAA や PCI DSS など、特定の規制の要件を満たすことを指します。変更ログを保持することにより、データに加えられたすべての変更の記録を提供し、コンプライアンスを示すことができます。これは、監査を受ける場合やセキュリティ インシデントを調査する必要がある場合に役立ちます。
その他のリソース
変更ストリームは、Bigtable 上のデータをさらに操作して、ビジネス要件を満たし、データ パイプラインを最適化できるようにする優れた機能です。まずは、Bigtable 変更ストリームの詳細について、ドキュメントとその他のリソースをご覧ください。
変更ストリームを使用した Bigtable アーキテクチャの拡張
チュートリアル: Bigtable 変更ストリームを処理する
クイックスタート: 変更ストリームが有効になっているテーブルを作成して変更をキャプチャする
Bigtable 変更ストリームのコードサンプル
- シニア プロダクト マネージャー Anton Gething