Amazon Keyspaces での変更データキャプチャ (CDC) ストリームの仕組み - Amazon Keyspaces (Apache Cassandra 向け)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Keyspaces での変更データキャプチャ (CDC) ストリームの仕組み

このセクションでは、Amazon Keyspaces での変更データキャプチャ (CDC) ストリームの仕組みの概要を説明します。

Amazon Keyspaces 変更データキャプチャ (CDC) は、行レベルの変更の順序付けられたシーケンスを Amazon Keyspaces テーブルに記録し、この情報をストリームと呼ばれるログに最大 24 時間保存します。行レベルを変更するたびに、プライマリキー列情報と、すべての列を含む行の「前」状態と「後」状態を保持する新しい CDC レコードが生成されます。アプリケーションはストリームにアクセスし、ミューテーションをほぼリアルタイムで表示できます。

テーブルで CDC を有効にすると、Amazon Keyspaces は新しい CDC ストリームを作成し、テーブル内のすべての変更に関する情報をキャプチャし始めます。CDC ストリームには、次の形式の Amazon リソースネーム (ARN) があります。

arn:${Partition}:cassandra:{Region}:${Account}:/keyspace/${keyspaceName}/table/${tableName}/stream/${streamLabel}

最初に CDC ストリームを有効にするときに、CDC ストリームが各レコードに対して収集する情報のタイプまたはビュータイプを選択できます。その後、ストリームのビュータイプを変更することはできません。Amazon Keyspaces では、次のビュータイプがサポートされています。

  • NEW_AND_OLD_IMAGES – ミューテーションの前と後に行のバージョンをキャプチャします。これがデフォルトです。

  • NEW_IMAGE – ミューテーション後の行のバージョンをキャプチャします。

  • OLD_IMAGE – ミューテーションの前に行のバージョンをキャプチャします。

  • KEYS_ONLY – 変更された行のパーティションキーとクラスタリングキーをキャプチャします。

すべての CDC ストリームはレコードで構成されます。各レコードは、Amazon Keyspaces テーブルの 1 行の変更を表します。レコードは、シャードと呼ばれるグループに論理的に整理されます。これらのグループは、プライマリキーの範囲 (パーティションキーとクラスタリングキーの範囲の組み合わせ) によって論理的に整理され、Amazon Keyspaces の内部構造です。各シャードは複数のレコードのコンテナとして機能し、これらのレコードにアクセスして反復するために必要な情報が含まれています。

Amazon Keyspaces CDC ストリームは、行ミューテーションの集合の CDC レコードを表すシャードで構成されます。

各 CDC レコードには、シャード内でレコードが発行された順序を反映したシーケンス番号が割り当てられます。シーケンス番号は、各シャード内で増加し、一意であることが保証されます。

Amazon Keyspaces はシャードを自動的に作成および削除します。トラフィック負荷に基づいて、Amazon Keyspaces は時間の経過とともにシャードを分割またはマージすることもできます。例えば、Amazon Keyspaces は 1 つのシャードを複数の新しいシャードに分割したり、シャードを新しい 1 つのシャードにマージしたりできます。Amazon Keyspaces APIsシャードと CDC ストリーム情報を公開し、シャードの系統グラフ全体にアクセスして、消費するアプリケーションが正しい順序でレコードを処理できるようにします。

Amazon Keyspaces CDC は、アプリケーションを構築するときに信頼できる以下の原則に基づいています。

  • 各行レベルのミューテーションレコードは、CDC ストリームに 1 回だけ表示されます。

  • 系統順にシャードを使用すると、各行レベルのミューテーションレコードは、プライマリキーの実際のミューテーション順序と同じ順序で表示されます。

Amazon Keyspaces の CDC ストリームのデータ保持の仕組み

Amazon Keyspaces は、CDC ストリームのレコードを 24 時間保持します。保持期間を変更することはできません。テーブルで CDC を無効にすると、ストリーム内のデータは 24 時間読み取ることができます。この時間が経過すると、データの有効期限が切れ、レコードは自動的に削除されます。

Amazon Keyspaces の CDC ストリームで有効期限 (TTL) データの有効期限がどのように機能するか

Amazon Keyspaces は、CDC 変更レコードexpirationTimeの というメタデータフィールドの列/セルレベルでの有効期限と行レベルを表示します。Amazon Keyspaces TTL がセルの有効期限を検出すると、CDC は TTL を変更のオリジンとして表示する新しい変更レコードを作成します。TTL の詳細については、「Amazon Keyspaces (Apache Cassandra 向け) で有効期限 (TTL) を使用してデータを期限切れにする」を参照してください。

Amazon Keyspaces での CDC ストリームのバッチオペレーションの仕組み

バッチオペレーションは、内部的に個々の行レベルの変更に分割されます。Amazon Keyspaces は、変更がバッチオペレーションで発生した場合でも、CDC ストリーム内のすべてのレコードを行レベルで保持します。Amazon Keyspaces は、CDC ストリーム内のレコードの順序を、行レベルまたはプライマリキーで発生したミューテーション順序と同じ順序で維持します。

Amazon Keyspaces の CDC ストリームでの静的列の仕組み

静的列値は、Cassandra のパーティション内のすべての行間で共有されます。この動作により、Amazon Keyspaces は静的列への更新を CDC ストリーム内の別のレコードとしてキャプチャします。次の例は、静的列ミューテーションの動作をまとめたものです。

  • 静的列のみが更新されると、CDC ストリームには、静的列の行変更が行内の唯一の列として含まれます。

  • 静的列を変更せずに行が更新されると、CDC ストリームには静的列を除くすべての列を含む行変更が含まれます。

  • 行が静的列とともに更新されると、CDC ストリームには 2 つの個別の行変更が含まれます。1 つは静的列用、もう 1 つは残りの行用です。

Amazon Keyspaces の CDC ストリームの保管時の暗号化の仕組み

CDC 順序付きログに保管中のデータを暗号化するために、Amazon Keyspaces はテーブルに既に使用されているのと同じ暗号化キーを使用します。保管時の暗号化の詳細については、「Amazon Keyspaces の保管データ暗号化」を参照してください。

Amazon Keyspaces の CDC ストリームでのマルチリージョンレプリケーションの仕組み

update-table API または CQL コマンドを使用して、マルチリージョンテーブルの個々のレプリカの CDC ALTER TABLE ストリームを有効または無効にできます。非同期レプリケーションと競合の解決により、マルチリージョンテーブルの CDC ストリームは全体で一貫性がありません AWS リージョン。したがって、Amazon Keyspaces がストリームでキャプチャするレコードは、異なるリージョンで異なる順序で表示される可能性があります。

マルチリージョンレプリケーションの詳細については、「」を参照してくださいAmazon Keyspaces のマルチリージョンレプリケーション (Apache Cassandra 用)

CDC ストリームと AWS サービスとの統合

Amazon Keyspaces で CDC ストリームの VPC エンドポイントを操作する方法

VPC エンドポイントを使用して Amazon Keyspaces CDC ストリームにアクセスできます。ストリームの VPC エンドポイントを作成してアクセスする方法については、「」を参照してくださいインターフェイス VPC エンドポイントでの Amazon Keyspaces CDC ストリームの使用

Amazon Keyspaces の CDC ストリームに対する CloudWatch によるモニタリングの仕組み

Amazon CloudWatch を使用して、Amazon Keyspaces CDC エンドポイントに対して行われた API コールをモニタリングできます。使用可能なメトリクスの詳細については、「」を参照してくださいAmazon Keyspaces 変更データキャプチャ (CDC) のメトリクス

Amazon Keyspaces の CDC ストリームでの CloudTrail を使用したログ記録の仕組み

Amazon Keyspaces CDC は AWS CloudTrail、Amazon Keyspaces のユーザー、ロール、または のサービスによって実行されたアクションを記録する AWS サービスである と統合されています。CloudTrail では Amazon Keyspaces のデータ定義言語 (DDL) API コールとデータ操作言語 (DML) API コールがイベントとしてキャプチャされます。キャプチャされたコールには、Amazon Keyspaces コンソールからのコールと、Amazon Keyspaces API オペレーションへのプログラムによるコールが含まれます。

CloudTrail でキャプチャされた CDC イベントの詳細については、「」を参照してくださいを使用した Amazon Keyspaces API コールのログ記録 AWS CloudTrail

Amazon Keyspaces の CDC ストリームでのタグ付けの仕組み

Amazon Keyspaces CDC ストリームはタグ付け可能なリソースです。CQL、 AWS SDK、または を使用してプログラムでテーブルを作成するときに、ストリームにタグを付けることができます AWS CLI。既存のストリームにタグ付けしたり、タグを削除したり、ストリームのタグを表示したりすることもできます。詳細については、「Amazon Keyspaces のキースペース、テーブル、ストリームにタグを付ける」を参照してください。