Cassandra表数据与ttl exipired但磁盘空间不释放

时间:2017-12-13 09:17:49

标签: cassandra ttl

我正在使用cassandra(DSE4.8),并在表上将default_time_to_live设置为86400(1day),gc_grace_seconds设置为180(3min),压缩策略为STCS。

这个表的一天数据量大约是100GB,每秒都会在表中写入数据,5天后我得到了大约382GB的数据。 (我使用" nodetool cfstats"命令来获取表数据量)

enter image description here

谁能告诉我为什么ttl不起作用?

1 个答案:

答案 0 :(得分:1)

TTL会创建逻辑删除,就像“正常”删除一样。墓碑(以及之前删除的数据)将一直保留到gc_grace_seconds中的设置已经过去。

一旦该时间过去,下次压缩运行时将回收该空间。从它的外观来看,你的表后面有16个sstable文件,所以它的压缩还没有被触发。