客户端时间戳在 Amazon Keyspaces 中的工作原理 - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

客户端时间戳在 Amazon Keyspaces 中的工作原理

Amazon Keyspaces 客户端时间戳是完全托管的。您不必管理诸如清理和压缩策略之类的低级系统设置。

删除数据时,会使用 Tombstone 标记行来进行删除。Amazon Keyspaces 会自动移除 Tombstoned 数据(通常在 10 天内),而不会影响您的应用程序性能或可用性。Tombstoned 数据不可用于 Data Manipulation Language (DML) 语句。在继续对包含 Tombstoned 数据的行执行读写操作时,Tombstoned 数据将继续计入存储、读取容量单位 (RCU) 和写入容量单位 (WCU),直至从存储中删除。

客户端时间戳在 Amazon Keyspaces 中的工作原理

在 Amazon Keyspaces 中打开客户端时间戳后,每行的每一列都存储一个时间戳。这些时间戳大约占用 20-40 字节(取决于您的数据),并会增加该行的存储和吞吐量成本。这些元数据字节也计入您的 1 MB 行大小配额。要确定存储空间的总体增加情况(确保行大小保持在 1 MB 以内),请考虑表中的列数和每行中集合元素的数量。例如,如果一个表有 20 列,每列存储 40 字节的数据,则该行的大小将从 800 字节增加到 1200 字节。有关如何估计行大小的更多信息,请参阅计算 Amazon Keyspaces 中的行大小。除了额外的 400 字节存储空间外,在本示例中,每次写入消耗的写入容量单位 (WCU) 数量从 1 个 WCU 增加到 2 个 WCU。有关如何计算读取和写入容量的更多信息,请参阅 Amazon Keyspaces 中的读/写容量模式

为表打开客户端时间戳后,您无法将其关闭。此外,时间戳不能是 NULL,如果 CQL 语句或客户端驱动程序未提供客户端时间戳,则系统会自动添加由 Amazon Keyspaces 生成的时间戳。

Amazon Keyspaces 客户端时间戳以及与 Amazon 服务的集成

Amazon CloudWatch 中提供了以下客户端时间戳指标,用于实现持续监控。

  • SystemReconciliationDeletes:删除 Tombstoned 数据所需的删除操作数。

有关如何使用 CloudWatch 指标的更多信息,请参阅 使用亚马逊监控亚马逊密钥空间 CloudWatch