我可以强制清理旧的墓碑吗?

时间:2014-12-19 12:53:24

标签: cassandra datastax datastax-enterprise tombstone

我最近为CQL表降低了gc_grace_seconds。我正在运行LeveledCompactionStrategy。我是否有可能强行从我的SSTables中清除旧的墓碑?

1 个答案:

答案 0 :(得分:12)

TL; DR

你的墓碑将通过压实位自行消失,确保你正在修理,或者他们可能会从死里复活。

http://www.datastax.com/documentation/cassandra/2.0/cassandra/dml/dml_about_deletes_c.html

添加更多细节:

直到两者都没有立即删除墓碑:

1)gc_grace_seconds已过期

2)它们符合逻辑删除压缩子属性中配置的要求

我需要通过过期的墓碑来释放磁盘,我该如何快速完成?

1)运行修复以确保您的墓碑是一致的

2)减少你的表格的gc_grace_seconds(alter table statement

3)配置compaction sub properties以加快删除墓碑:

减少tombstone_compaction_interval并减少tombstone_threshold,或将unchecked_tombstone_compaction设置为true以忽略这两个条件并仅基于gc grace进行收集。

有效吗?

您可以在nodetool cfstats中查看有关逻辑删除的统计信息,并使用工具目录sstablemetadata <sstable filenames>中的sstable metatdata实用程序。