

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

# Amazon Keyspaces でのクライアント側のタイムスタンプ
<a name="client-side-timestamps"></a>

Amazon Keyspaces では、クライアントサイドのタイムスタンプは Cassandra 互換のタイムスタンプです。テーブル内の各セルに保存されます。クライアントアプリケーションがクライアントサイドのタイムスタンプで書き込みの順序を決定できるようにして競合を解決します。たとえば、グローバルに分散しているアプリケーションのクライアントが同じデータを更新する場合、クライアントサイドのタイムスタンプにはクライアントサイドで更新が行われた順序が残ります。Amazon Keyspaces はこれらのタイムスタンプを使用して書き込みを処理します。

Amazon Keyspaces のクライアント側のタイムスタンプは全面的に管理されています。コンパクション戦略やクリーンアップ戦略などの低レベルのシステム設定は管理する必要はありません。

データを削除すると、行は削除対象としてトゥームストーンのマークが付きます。Amazon Keyspaces では、アプリケーションのパフォーマンスや可用性に影響を与えることなく、トゥームストーン化されたデータは (通常は 10 日以内に) 自動的に削除されます。トゥームストーン化されたデータは、データ操作言語 (DML) ステートメントでは使用できなくなります。トゥームストーン化されたデータがある行に対して引き続き読み取りと書き込みを実行すると、トゥームストーン化されたデータは、ストレージから削除されるまで、ストレージ、読み取りキャパシティユニット (RCU) および書き込みキャパシティユニット (WCU) にカウントされ続けます。

テーブルのクライアントサイドのタイムスタンプを有効にすると、データ操作言語 (DML) CQL クエリの `USING TIMESTAMP` 句でタイムスタンプを指定できます。詳細については、「[Amazon Keyspaces のクエリでクライアント側のタイムスタンプを使用する](client-side-timestamps-how-to-queries.md)」を参照してください。CQL クエリでタイムスタンプを指定しない場合、Amazon Keyspaces はクライアントドライバーによって渡されたタイムスタンプを使用します。クライアントドライバーでタイムスタンプが提供されない場合、タイムスタンプを `NULL` にすることはできないため、Amazon Keyspaces はセルごとにタイムスタンプを自動的に割り当てます。タイムスタンプをクエリするには、DML ステートメント内の `WRITETIME` 関数を使用できます。

Amazon Keyspaces では、クライアントサイドのタイムスタンプを有効にしても追加料金はかかりません。ただし、クライアントサイドのタイムスタンプでは、行内の値ごとに追加のデータを保存して書き込みます。これにより、ストレージの使用量が増え、場合によってはスループットの使用量が増える可能性があります。料金の詳細については、「[Amazon Keyspaces (Apache Cassandra 向け) の料金](https://aws.amazon.com/keyspaces/pricing)」を参照してください。

Amazon Keyspaces でクライアント側のタイムスタンプをオンにすると、すべての行のすべての列にタイムスタンプが格納されます。これらのタイムスタンプで約 20 ～ 40 バイト (データによって異なります) が使用され、行のストレージとスループットのコストに影響します。これらのメタデータバイトはまた、1 MB の行サイズクォータにカウントされます。(行のサイズが 1 MB 未満になるように) ストレージスペース全体の増加量を決定するときは、テーブルの列数と各行のコレクション要素の数を考慮してください。たとえば、テーブルに 20 列あり、各列に 40 バイトのデータが格納されている場合、行のサイズは 800 バイトから 1200 バイトに増加します。行のサイズを見積もる方法の詳細については、「[Amazon Keyspaces で行のサイズを推定する](calculating-row-size.md)」を参照してください。この例では、ストレージ用の余分な 400 バイトに加えて、1 回の書き込みで消費される書き込みキャパシティーユニット (WCU) の数が 1 WCU から 2 WCU に増えます。読み取りキャパシティと書き込みキャパシティの計算方法の詳細については、「[Amazon Keyspaces で読み取り/書き込みのキャパシティモードを設定する](ReadWriteCapacityMode.md)」を参照してください。

テーブルのクライアント側のタイムスタンプをオンにすると、オフにすることはできません。

クエリでクライアント側のタイムスタンプを使用する方法については、「[Amazon Keyspaces のクエリでクライアント側のタイムスタンプを使用する](client-side-timestamps-how-to-queries.md)」を参照してください。

**Topics**
+ [Amazon Keyspaces クライアント側のタイムスタンプと AWS サービスとの統合方法](#client-side-timestamps_integration)
+ [クライアント側のタイムスタンプが有効な新規テーブルを Amazon Keyspaces で作成する](client-side-timestamps-create-new-table.md)
+ [Amazon Keyspaces でテーブルに対してクライアント側のタイムスタンプを設定する](client-side-timestamps-existing-table.md)
+ [Amazon Keyspaces のクエリでクライアント側のタイムスタンプを使用する](client-side-timestamps-how-to-queries.md)

## Amazon Keyspaces クライアント側のタイムスタンプと AWS サービスとの統合方法
<a name="client-side-timestamps_integration"></a>

次のクライアント側のメトリクスは Amazon CloudWatch で継続的モニタリングを有効にするために使用できます。
+ `SystemReconciliationDeletes` — トゥームストーン化したデータを削除するために必要な削除操作の数。

CloudWatch のメトリクスのモニタリング方法については、「[Amazon CloudWatch による Amazon Keyspaces のモニタリング](monitoring-cloudwatch.md)」を参照してください。

を使用すると CloudFormation、Amazon Keyspaces テーブルの作成時にクライアント側のタイムスタンプを有効にできます。詳細については、「[AWS CloudFormation ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html)」を参照してください。