新しいサーバーレスの Datastream で、変更データのキャプチャとレプリケーションを最大限に活用
Google Cloud Japan Team
※この投稿は米国時間 2021 年 5 月 26 日に、Google Cloud blog に投稿されたものの抄訳です。
このたび、Datastream のプレビュー版がリリースされたことをお知らせいたします。Datastream は、サーバーレスの変更データ キャプチャ(CDC)とレプリケーションのサービスです。Datastream を使用すると、企業は異種のデータベース、ストレージ システム、アプリケーションの間でデータを確実に、かつ最小限のレイテンシで同期して、リアルタイム分析、データベース レプリケーション、イベント ドリブン アーキテクチャをサポートできます。また、Oracle や MySQL のデータベースの変更ストリームを BigQuery、Cloud SQL、Google Cloud Storage、Cloud Spanner などの Google Cloud サービスに簡単かつシームレスに配信できるようになったため、時間とリソースを節約し、データを正確かつ最新の状態に保てます。
Datastream は、CDC レプリケーションのユースケースのために、カスタムのソースと宛先による統合ソリューションを提供します。*サポートされているすべてのソースと宛先については、ドキュメント ページをご確認ください。
IDC のデータ統合およびインテリジェンス ソフトウェア リサーチ担当ディレクターである Stewart Bond 氏は、次のように述べています。
「グローバル企業は、さまざまなデータソースの間でレプリケーション機能を提供し、リアルタイムの分析や事業運営のためのリアルタイムのストリーミング データソースを提供するために、変更データのキャプチャを求めています。」
しかし、企業はこうした機能を実現するのが困難であると気付きはじめています。なぜなら、一般的に使用されるデータ レプリケーション サービスは費用が高く、設定に手間がかかり、柔軟にまたは大規模に実行するにはかなりの管理とモニタリングのオーバーヘッドを必要とするためです。その結果、アーキテクチャは断片化され、管理は難しくなっています。
Datastream の独自のアプローチ
Datastream は、これらの課題に独自のアプローチで取り組んでいます。Datastream のサーバーレス アーキテクチャは、データ量のリアルタイムの変化にともなってシームレスかつ透過的にスケールアップまたはスケールダウンするため、チームはインフラストラクチャを管理する代わりに、最新の分析情報の提供に注力できるようなります。また、Google Cloud ならではの合理的なユーザー エクスペリエンス、使いやすさ、セキュリティが提供されるだけでなく、ガイド付きの設定エクスペリエンスにはプライベート接続オプションが組み込まれています。
Datastream は専用の拡張可能な Dataflowテンプレートと統合して、Cloud Storage に書き込まれた変更ストリームを pull し、分析のために BigQuery に最新の複製されたテーブルを作成します。また、Dataflow テンプレートを活用してデータベースを複製し、Cloud SQL や Cloud Spanner に同期して、データベースの移行とハイブリッド クラウド構成を実現します。
Datastream は、Cloud Data Fusion の新しいレプリケーション機能で Google ネイティブの Oracle コネクタを強化し、ETL / ELT パイプライン作成を容易にします。また、変更ストリームを Cloud Storage に直接配信することで、お客様は Datastream を活用して最新のイベント ドリブン アーキテクチャを実装できます。
お客様に Datastream を使用することで見つけたメリットを伺ったのでご紹介します。まずは Schnuck Markets, Inc. の例です。
「Datastream を活用すれば、オンプレミス データベースから BigQuery にデータを確実に複製でき、本番環境のワークロードに対する影響はほとんどありません。この新しい方法はバッチ処理の代わりになり、BigQuery からの分析情報をより迅速に活用できるようになりました」と、Schnuck Markets のプリンシパル テクノロジストである Caleb Carr 氏は述べています。「さらに、Datastream を実装することで、分析グループは作業の実施やビジネス ユーザーのサポートのためにオンプレミス データベースを参照する必要がなくなりました。」
また、Cogeco Communications, Inc. は Datastream を使用することで、低レイテンシ データアクセスの価値も実現しました。Cogeco Communications, Inc. のエンタープライズ アーキテクチャ担当シニア ディレクターである Jean-Lou Dupont 氏は、次のように述べています。
「Datastream は BigQuery で Oracle の運用データへの低レイテンシ アクセスを可能にすることで、これまで不可能だった新しいお客様とやり取りする機会を実現しました。この合理化された統合プロセスにより、何百ものさまざまな Oracle テーブルのデータがデータハブに統合されます。Datastream のおかげで、10 分の 1 の時間と労力でこれを達成することができました。」
さらに、メジャーリーグ ベースボール(MLB)は Datastream のレプリケーション機能を使用し、データを Oracle から Cloud SQL for PostgreSQL に移行しました。MLB のテクノロジー担当マネージャーである Shawn O’Rourke 氏は、次のように述べています。
「アプリケーションのモダナイズにともない、データベース データを Oracle から Cloud SQL for PostgreSQL に確実に複製することは、そのプロセスの重要なコンポーネントになります。Datastream の CDC 機能を使用して、データベースを安全かつ低レイテンシで複製でき、アプリケーションのダウンタイムを最小限に抑えられました。このプロセスを標準化し、規模に関係なく次のデータベースで繰り返せるようになりました。」
Google のパートナーである HCL は、データをさらに活用し将来の計画を立てようとしている数多くの組織と協力してきました。
「HCL のあらゆる業界のお客様は、膨大な量のデータからより多くの価値を引き出す方法を探しています」と、HCL Google Business Unit のデータ分析担当グローバル ヘッドである Siva G. Subramanian 氏は述べています。「CDC は、私たちが Google Cloud を使用してお客様に提供するソリューションの中で大きな役割を演じています。Datastream を使用することで、設定も保守も簡単で、安全かつ信頼性の高いソリューションをお客様にお届けできています。CDC は Google Cloud のデータ ソリューションに欠かせない統合された機能です。」
IDC のデータ統合およびインテリジェンス ソフトウェア リサーチ担当ディレクターである Stewart Bond 氏は、次のように述べています。
「Google Cloud の新しい CDC サービスである Datastream は、他のハイパースケール クラウド サービス プロバイダと一線を画す Google の差別化要因です。サーバーレス クラウドネイティブ アーキテクチャを使用して Oracle や MySQL データベースから Google Cloud 環境へのデータの複製をサポートしているため、インフラストラクチャ管理の負担を取り除き、リアルタイムのワークロードを処理する柔軟なスケーラビリティが得られます。」
内部のデータストリーム
Datastream はソース データベースから CDC イベント(挿入、更新、削除)を読み取り、それらのイベントをデータ宛先に最小限のレイテンシで書き込みます。これは、各データ ベースソースが独自の内部レプリケーションと一貫性のために使用する独自の CDC ログ(MySQL の場合は binlog、Oracle の場合は LogMiner)を備えているという事実を利用しています。Google ネイティブでエージェントレスの高スケールログ読み取り技術を使用することで、Datastream はデータベースの CDC ログに基づいてイベントによって入力された変更ストリームをすばやく効率的に生成できます。同時に、ソース データベースへのパフォーマンスの影響を最小限に抑えられます。
生成された各イベントには、データベースからのデータの行全体と、各列のデータ型や値が含まれます。Oracle の NUMBER 型や MySQL の NUMERIC 型など、元のソースデータ型は、Datastream 統合型に正規化されます。統合型とは、使用可能なすべてのソース型のロスレスのスーパーセットを表し、正規化とは、さまざまなソースのデータをダウンストリームでソースに依存しない方法で簡単に処理およびクエリできることを意味します。ダウンストリーム システムで元のソースデータ型を把握する必要がある場合は、Datastream のスキーマ レジストリへのクイック API 呼び出しを実行できます。このレジストリには、すべてのデータソースの最新スキーマがバージョン管理された状態で保存されています。これにより、ソース データベース スキーマの変更に応じて、処理中のダウンストリームでのスキーマ ドリフト(ソースデータの構造の変化による問題)を解決することもできます。
生成されたイベント ストリームは「変更ストリーム」と呼ばれ、プレビュー中に JSON 形式か Avro 形式で、または将来的には Parquet などの他の形式で、ソーステーブルとイベント時間で編成された Cloud Storage バケットにファイルとして書き込まれます。ファイルのローテーションは、構成ファイルのサイズやローテーション頻度の設定だけでなく、テーブル スキーマの変更に応じて行うことで、1 つのファイル内のイベントが常に同じスキーマを使用するようにすることもできます。そのため、お客様はデータの可用性の速度とファイルサイズとの間で、ビジネス ユースケースに最適なバランスを見つけられます。
Dataflow との統合により、Datastream は BigQuery を通じた分析や、Cloud SQL と Spanner へのデータのレプリケーションと同期のために、複製された最新のテーブルを強化します。Datastream では、このように絶えず更新されるテーブルを「マテリアライズド ビュー」と呼びます。これらのテーブルは、Cloud SQL や Spanner への Dataflow テンプレート ベースの upsert か、BigQuery への統合を通じて最新の状態に維持されます。Dataflow テンプレートの一部として実行される統合は、BigQuery のログテーブルに書き込まれる変更ストリームを取得し、ソースのテーブルをミラーリングする最終的なテーブルに変更内容を push します。
Datastream は、最新のマテリアライズド ビューに Dataflow を利用して、変更ストリームを Cloud Storage に正規化します。
Datastream には、ソースへの安全な接続方法が各種揃っているため、転送中もデータは常に安全です。また、サーバーレス アーキテクチャにより、Datastream は読み取り能力と処理能力をスケールアップ、スケールダウンして、データの速度にシームレスに対応し、エンドツーエンドのレイテンシを最小限に抑えることができます。データ量が減ると、Datastream は自動的にスケールダウンします。そのため、料金は従量課金制であり、アイドル状態のマシンに料金を支払ったり、データピーク時のボトルネックやレイテンシを心配したりする必要はありません。
Datastream を使ってみる
プレビュー版として提供を開始された Datastream は、オンプレミスやクラウドでホストされている Oracle や MySQL のソースから Cloud Storage に変更データをストリーミングできます。Datastream で処理されるデータ 1 GB につき $2 で、データのストリーミングをすぐに開始できます。
開始するには、Google Cloud Console の [ビッグデータ] の下にある Datastream 領域に移動し、[ストリームの作成] をクリックします。次の操作が可能です。
ストリームの作成を開始し、ソースと宛先を設定してストリーミングを成功させるために必要なアクションを確認する。
ソースと宛先を定義する。これらの接続情報は、他のストリームで再利用できる接続プロファイルとして保存されます。ソースは複数の接続オプションをサポートしており、ビジネスニーズにあわせてプライベート接続オプションとパブリック接続オプションの両方が用意されています。
ストリーミングするソースデータと除外するソースデータを選択する。
ストリームをテストし、準備ができたときに正しく動作することを確認する。
ストリームを開始すると、データベースの CDC データが Cloud Storage バケットに流れ始めます。そこから Dataflow テンプレートと統合し、BigQuery、Spanner、Cloud SQL にデータを読み込むことができます。プレビュー版の Datastream は us-central1、europe-west1、asia-east1 でサポートされています。今後さらに提供リージョンが追加される予定です。
Datastream は今年後半に一般提供される予定であり、まもなくサポートが拡張され、ソースとして PostgreSQL と SQL Server が含まれるようになります。また、BigQuery とすぐに統合できるため、分析向けのレプリケートされた最新のテーブルや、リアルタイムの変更ストリーム アクセス向けの Pub/Sub のようなメッセージ キューを簡単に配信できるようになります。
変更ストリーミングの開始に役立つ他のリソースについては、Datastream のドキュメントをご確認ください。
- データベース エンジニアリング担当ゼネラル マネージャー兼バイス プレジデント Andi Gutmans
- データベース担当プロダクト マネージャー Noaa Cohn