cassandra

时间:2017-08-07 06:36:57

标签: cassandra cassandra-3.0 nosql

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

前:

id |名字| 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"

如果x = 3那么下面应该是场景:

id |名字| 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配置或任何方法来执行此操作?

2 个答案:

答案 0 :(得分:2)

Cassandra具有TTL功能,允许您指定每个CQL单元的有效时间。详细信息可在INSERT文档中找到,但也适用于UPDATE。

答案 1 :(得分:1)

您可以使用TTL

但要小心tombstouns和压实程序