我在 Cassandra 中做一些简单的操作,为了简单起见,我使用的是单个节点。我有一行,我添加了 10,000 列,接下来我去删除这 10,000 列,过了一会儿我再添加 10,000 列,然后在一段时间后删除它们等等......删除将删除所有该行中的列。
这是我不明白的事情,即使我删除它们我看到数据库的大小增加了,我的GCGracePeriod设置为 0 并且我正在使用Leveled Compaction Strategy。
如果我正确理解了墓碑,它们应该在第一次重大压缩后被删除,看起来它们没有被删除,即使在运行 nodetool compact 命令之后也是如此。
我在一些邮件列表中读到这些是滚动墓碑(如果您经常更新和删除同一行)并且不由主要压缩处理。所以我的问题是它们什么时候被删除?如果不是,那么数据只会增长,我个人认为这是不好的。更糟糕的是,我找不到任何关于这种特殊效果的文档。