使用 Amazon Keyspaces 生存时间 (TTL) 让数据过期 - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon Keyspaces 生存时间 (TTL) 让数据过期

Amazon Keyspaces(Apache Cassandra 兼容)生存时间 (TTL) 可自动让表中的数据过期,帮助您简化应用程序逻辑并优化存储价格。系统会根据您设置的“存活时间”值自动从表中删除不再需要的数据。这样就能更容易地遵守基于业务、行业或监管要求的数据留存政策,这些政策规定了数据需要保留的时间或必须删除数据的时间。

例如,您可以在 AdTech 应用程序中使用 TTL 来安排特定广告的数据何时过期,也就是对客户不再可见。您还可以使用 TTL 自动停用旧数据,节省存储成本。您可以为整个表设置默认 TTL 值,也可以为单个行和列覆盖该值。TTL 操作不会影响应用程序的性能。此外,用 TTL 标记为过期的行和列的数量不会影响表的可用性。

Amazon Keyspaces 会自动筛选出过期的数据,这样查询结果中就不会返回过期的数据,也不会在数据操作语言 (DML) 语句中使用。Amazon Keyspaces 通常会在过期日期后的 10 天内从存储空间中删除过期的数据。在极少数情况下,如果底层存储分区持续存在活动,Amazon Keyspaces 可能无法在 10 天内删除数据,以保护可用性。对于这些情况,一旦分区上的流量减少,Amazon Keyspaces 会继续尝试删除过期数据。从存储中永久删除数据后,就不再产生存储费用。有关更多信息,请参阅工作原理:Amazon Keyspaces 生存时间 (TTL)

您可以使用控制台或 Cassandra 查询语言 (CQL) 设置、修改或禁用新表和现有表的默认 TTL 设置。在配置了默认 TTL 的表上,您可以使用 Cassandra 查询语言 (CQL) 来覆盖默认 TTL 设置,并将自定义 TTL 值应用于行和列。有关更多信息,请参阅如何使用生存时间 (TL)

TTL 定价基于使用“生存时间”删除或更新的行的大小。TTL 操作的计量单位是 TTL deletes。每删除或更新一行数据,将消耗每 KB 数据一次 TTL 删除操作。例如,要更新一个存储了 2.5 KB 数据的行并同时删除该行内的一个或多个列,将需要三次 TTL 删除操作。或者,要删除一个包含 3.5 KB 数据的完整行,将需要四次 TTL 删除操作。每删除一行中的每 KB 数据,将消耗一次 TTL 删除操作。有关定价的更多信息,请参阅 Amazon Keyspaces(Apache Cassandra 兼容)定价