cassandra 中的时间戳数据持久化

Timestamp data persistence in cassandra

在我们的爬虫系统中,我们有 5 个节点的 cassandra 集群。我有一个场景,我想在它超过 x 天后立即删除 cassandra 数据。

例如:

编号 |姓名 | created_date

1 | Dan      |  "2017-08-01"             
2 | Monk     |  "2017-08-02" 
3 | Shibuya  |  "2017-08-03"             
4 | Rewa     |  "2017-08-04"             
5 | Himan    |  "2017-08-05"

if x = 3 那么情况应该是这样的:

编号 |姓名 | created_date

1 | Dan      |  "2017-08-01"   --------------> DELETE          
2 | Monk     |  "2017-08-02"   --------------> DELETE
3 | Shibuya  |  "2017-08-03"   -------------->(REMAIN)Latest 3 days data
4 | Rewa     |  "2017-08-04"   -------------->(REMAIN)Latest 3 days data
5 | Himan    |  "2017-08-05"   -------------->(REMAIN)Latest 3 days data

如果添加了新数据,则应删除 id=3。 是否有任何 Cassandra 配置或任何方法可以做到这一点?

Cassandra 具有 TTL 功能,可让您指定每个 CQL 单元格的有效期。 INSERT 文档中提供了详细信息,但它也适用于 UPDATE。

您可以使用 TTL

但要小心墓碑和压缩过程