我知道Cassandra中的列上有TTL。但是,是否也可以在一行上设置TTL?在每列上设置TTL并不能解决我的问题,这可以在以下用例中看到:Cassandra ttl on row
某个进程想要删除一个带有TTL的完整行(假设行“A”,TTL为1周)。它可以通过替换具有相同内容的所有现有列来实现,但TTL为1周。
但有可能是该行“A”这将插入新的列或替换现有的不带TTL因为这个过程会不知道这行要被删除的同时运行的另一个进程(它同时运行! )。因此,在1周之后,除了这些新插入的列以外,“A”行的所有列将被删除,因为TTL。我也希望他们被删除。
那么是否会有Cassandra支持这个用例,还是我必须自己实现一些东西?
亲切的问候
斯特凡
作为一个答案理查德提到的TTL设置为一排,我们并不真正需要在行上的所有数据的TTL。从我们的讨论中可以看出,在将来(即1周)删除所有达到给定时间戳的数据并且在一列上具有ttl就足够了。 – std 2013-05-16 14:28:39