主なコンセプトと機能

動作とユースケース

Datastream を使用すると、リレーショナル データベース管理システム(RDBMS)やその他のソースのソースデータを BigQuery、Apache 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 はソースに直接接続し、コンテンツを消費した後、イベント構造に基づいてイベントを処理して転送先に書き込みます。

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

機能