我知道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