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

Zty*_*tyx 12 cassandra tombstone datastax-enterprise datastax

我最近降级gc_grace_seconds了一个CQL表.我运行LeveledCompactionStrategy.我有可能强行从我的SSTables中清除旧的墓碑吗?

pha*_*act 13

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语句)

3)配置压缩子属性以加速逻辑删除:

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

它有效吗?

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

  • Nodetool garbagecollect在现代版本中很有用. (5认同)