cassandra - TTL 过期后移动记录

标签 cassandra ttl

我有两个表,一个普通表和一个存档版本。当普通表中的行的 TTL 过期后,需要将其移至归档版本。我怎样才能做到这一点?

Cassandra 中是否有 native 触发器功能,我可以使用该功能将记录移至审核表?

我知道如何使用代码来做到这一点,但我认为批处理甚至事件驱动的过程来移动它是不必要的复杂。

最佳答案

简短的回答,不,如果不编写代码就无法实现这一目标。

当 TTL 过期并且在此之后读取记录时,该记录将被标记为逻辑删除,并且一旦 gc 宽限期结束,就会从磁盘中删除。无法控制这些操作/事件,因此无法(包括触发器)指示 cassandra 将此行插入到其他表中。

关于cassandra - TTL 过期后移动记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61764785/

相关文章:

cassandra - CQLSH : NoHostAvailable error Cassandra update fails update

ttl - 如何正确设置Rocks DB上的TTL?

java - 如何使用 spring-data-couchbase 为特定 Couchbase 文档设置 TTL?

java - cassandra UTF8 或 LongType 中的 key 验证类类型?

cassandra - 连接到两个节点集群时出现 astyanax TokenRangeOfflineException

windows - 如何在windows机器上用docker搭建cassandra集群?

cassandra - Cassandra 中范围查询的数据建模

node.js - 如何在NodeJS的SNS的发布方法中设置TTL属性?

icmp - scapy:修改嗅探流量的 TTL 的正确方法

java - Spring消息TTL不起作用