主なコンセプトと機能

動作とユースケース

Datastream を使用すると、リレーショナル データベース管理システム(RDBMS)やその他のソースのソースデータを BigQuery、BigLake Iceberg テーブル、Cloud Storage などの宛先に準リアルタイムで移行できます。これにより、ダウンストリームのユースケース(データ ウェアハウジングと分析のためにデータを BigQuery に読み込む、人工知能や機械学習のユースケースに対してデータに対して Spark ジョブを実行する、など)に対応できます。

コンセプト

このセクションでは、Datastream を効果的に使用するために理解しておく必要がある主なコンセプトについて説明します。

変更データ キャプチャ

変更データ キャプチャ(CDC)は、変更されたデータを使用してアクションを実行できるように、変更されたデータを特定(および追跡)するために使用されるソフトウェア設計パターンのセットです。CDC は、エンタープライズ データソースに加えられた変更の識別、キャプチャ、配信に基づくデータ統合のアプローチでもあります。

イベント ソーシング

2005 年に導入された イベント ソーシングは、アプリケーションの状態の変化がすべてイベント オブジェクトでキャプチャされる設計 パターンです。イベント ソーシングを活用することで、アプリケーションでは、状態を再構築する、 ポイントインタイム リカバリ を(その時点までにイベントを処理することで)実行する、ロジックが 変更された場合は状態を再計算する、または コマンドクエリ責務分離 (CQRS)設計を有効にすることが可能になります。リアルタイム イベント処理ツールの進化に伴い、多くのアプリケーションがイベント ソーシング モデルに移行しています。これまで、トランザクション データベースは、 アトミック性、整合性、独立性、永続性 (ACID)の要件により常にイベント指向でした。

トランザクション データベース

トランザクション データベースでは、データベースが行う一連のオペレーションは通常、ストレージ エンジンでオペレーションが実行される前に先行書き込みログ(WAL)に書き込まれます。オペレーションがストレージ エンジンで実行され、WAL にコミットされると、そのオペレーションは成功したとみなされます。WAL を使用するとアトミック性と耐久性が可能になり、データベースの忠実性の高いレプリケーションも可能です。一部のデータベースでは、ストレージ レベルで発生する正確なオペレーション(例: write 0x41 on location 20)がログに書き込まれるため、これらのアクションは同じストレージ エンジンでのみ複製(またはやり直し)できます。他のデータベースでは、別のストレージ エンジンで再実行できる完全な論理ステートメント(または行)がログに記録されます。

イベントとストリーム

Datastream は、さまざまなソースからほぼリアルタイムで大量のデータを取り込んで、データを移行先で利用できるようにします。Datastream では、データはイベント単位で保存されます。ストリームは、ソースからのイベントの継続的な取り込みと、宛先への書き込みを表します。

統合型

データソースには独自のタイプがあり、中にはデータベース自体に固有のものもあれば、汎用的で、データベース間で共有されるものもあります。統合された転送先へのストリームを生成する多くの異なるソースがあるため、すべてのソースで元のソースタイプを表す標準的で、統合された方法が必要です。統合型は、すべてのソースでデータ型を表現する一般的かつロスレスな方法であり、統合された方法で使用できるようになります。Datastream でサポートされている統合型は、サポートされているすべてのソースシステムにまたがる正規化されたすべての型のスーパーセットを表すため、すべての型をロスレスでサポートできます。

エンティティのコンテキスト

Datastream には 5 つのエンティティがあります。

  • プライベート接続構成 により、Datastream は安全なプライベート ネットワーク接続を介してデータソースと通信できます。 この通信は、Virtual Private Cloud(VPC)ピアリングを介して行われます。
  • 接続プロファイル は、特定のソースまたは転送先データベースへの接続情報を表します。
  • ストリーム は、ソースと転送先の接続プロファイルのペアとストリーム固有の設定を表します。
  • オブジェクト は、ストリームの副次的な部分を表します。たとえば、データベース ストリームにはすべてのテーブルに対してストリーミングされるデータ オブジェクトがあります。
  • イベント は、特定のオブジェクトに対するデータ操作言語(DML)のすべての変更を表します。

プライベート接続構成を作成したら、プライベート通信チャネルを介して または他の場所でホストされているソースに接続できます。 Google Cloud プライベート接続は省略可能です。Datastream は、パブリック ネットワーク経由の他の接続モードもサポートしています。

ソースと 転送先の接続プロファイルを作成したら、接続プロファイルに保存されている情報を使用して、ソースから転送先にデータを転送するストリームを作成できます。

ストリームを作成すると、Datastream はソースに直接接続し、コンテンツを消費した後、イベント構造に基づいてイベントを処理して転送先に書き込みます。

プライベート接続の構成と接続プロファイルは、再利用できるように、ストリームとは別に管理できます。

機能

Datastream の機能は次のとおりです。

  • サーバーレス: ストリームを構成すると、データが移動し始めます。インストール、リソースの割り当て、メンテナンス オーバーヘッドは発生しません。データ量は増減するため、Datastream の自動スケーリング機能により、データがニア リアルタイムで自動的に移動し続けるようにリソースが割り当てられます。
  • 統合 Avro ベース型スキーマ: Datastream は、すべてのソース固有のデータ型を Avro 型に基づいて統合 Datastream 型スキーマに変換することで、ソースに依存しない処理を実現します。
  • 履歴データと CDC データのストリーミング: Datastream は、履歴と CDC の両方のソースデータを同時に準リアルタイムでストリーミングします。
  • 追加ライセンスのない Oracle CDC: Datastream は、Oracle ソースのバージョン 11.2g 以降の LogMiner ベースの CDC ストリーミングを提供します。追加ライセンスやソフトウェアのインストールに追加料金はかかりません。

  • BigQuery の宛先: ソースの変更は、ニア リアルタイムで BigQuery テーブルに継続的に複製されます。BigQuery のデータは、ほぼすぐに分析に利用できます。

  • Cloud Storage の転送先: CDC データは、Cloud Storage の自己記述型 Avro ファイルまたは JSON ファイルに継続的に書き込まれます。この情報は、所定の場所での直接の追加処理や、ダウンストリームの別の転送先(Spanner など)への読み込みによって、追加の処理を行うために簡単に利用できます。

  • Knowledge Catalog による一元的なメタデータ管理: ストリーム、接続プロファイル、接続構成などの Datastream リソースは、Knowledge Catalog と自動的に同期されます。これにより、Knowledge Catalog ユーザー インターフェースでこれらのアセットを直接検索して参照できます。

ユースケース

Datastream の使用には、主に次の 3 つのシナリオがあります。

  • データ統合: データベースと Software as a Service(SaaS)クラウド サービスからのデータ ストリームは、BigQuery にデータを読み込むことで、ニア リアルタイムのデータ統合パイプラインにデータをフィードできます。
  • ストリーミング分析: データベースの変更は、Dataflow などのストリーミング パイプラインに取り込まれ、不正検出、セキュリティ イベント処理、異常検出に使用されます。
  • ほぼリアルタイムのデータ変更の利用可能性: ほぼリアルタイムでのデータ変更の利用可能性により、人工知能と機械学習アプリケーションが強化され、チャーンの防止や、マーケティング活動や本番システムへのフィードバックを活用したエンゲージメントの拡大ができます。

行動サマリー

Datastream を使用すると、お客様は複数のデータソースからの継続的な変更を Google Cloudに直接ストリーミングできます。

ソース

  • 認証や追加の構成オプションなど、Datastream で使用するソースの設定作業が必要です。
  • 各ソースは、すべてのデータ操作言語(DML)の変更を反映するイベントを生成します。
  • 各ストリームでは、過去のデータをバックフィルするほか、進行中の変更を転送先にストリーミングできます。

宛先

Datastream は、宛先として BigQuery、BigLake Iceberg テーブル、Cloud Storage をサポートしています。ストリームが作成されると、その宛先構成が定義されます。

イベント配信

  • イベントの順序は保証されません。イベント メタデータ には、イベントの順序を決めるために使用できる情報が含まれます。
  • イベント配信は 少なくとも 1 回行われます。イベント メタデータには、転送先で重複するデータを削除するために使用できるデータが含まれています。
  • イベントサイズは、BigQuery の宛先の場合は 1 イベントあたり 20 MB、Cloud Storage の宛先の場合は 1 イベントあたり 100 MB に制限されます。

イベントについて詳しくは、イベントとストリームをご覧ください。

高可用性と障害復旧

このセクションでは、高可用性と障害復旧に関連するシナリオを Datastream がどのように扱うかについて説明します。

  • 高可用性: Datastream はリージョン サービスであり、各リージョンの 複数のゾーンで実行されます。いずれかのリージョンで単一ゾーンの障害が発生しても、他のゾーンでのサービスの可用性や品質には影響しません。

  • 障害復旧: リージョンに障害が発生した場合、そのリージョンで実行されているストリームはすべて停止している間中断します。サービス停止が解決した後、Datastream は中断したところから再開され、宛先に書き込まれていないデータはソースから再び取得されます。この場合、移行先ではデータの重複が発生する可能性があります。重複するデータの削除について詳しくは、イベント配信をご覧ください。

初期データと CDC データ

データソースには、ソースがストリームに接続される前に存在していたデータ(履歴データ)が含まれるため、Datastream は、履歴データとイベントをリアルタイムで発生するイベントの両方を生成します。

迅速なデータアクセスを確保するため、履歴データとリアルタイムのデータ変更を同時に転送先に複製します。イベント メタデータは、イベントがバックフィルのものか、CDC からのものかを示しています。

次のステップ