在我们的爬行系统中,我们有5个节点的Cassandra集群。我有一个场景,我想在 cassandra 数据超过 x 天时立即删除它。
前任:
身份证 | 姓名 |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
那么应该是以下情况:
身份证 | 姓名 |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 单元的有效期。详细信息可在插入文档中找到,但它也适用于更新。
您可以使用TTL。
但要小心墓葬和压实程序