卡桑德拉滚动墓碑

时间:2013-01-30 20:39:20

标签: cassandra

我正在Cassandra做一些简单的操作,为了简单起见,我使用单节点。我有一行,我添加10,000列,然后我去删除这些10,000列,过了一段时间我再添加10,000列,然后在一段时间后删除它们等等...删除将删除所有那一行中的列。

这是我不明白的事情,即使我删除了它,我看到数据库的大小增加,我的 GCGracePeriod 设置为0我正在使用 Leveled Compaction Strategy

如果我正确理解了墓碑,那么在第一次主要压缩后它们应该被删除,即使在运行nodetool compact命令之后它们似乎也没有被删除。

我在一些邮件列表上看到这些是滚动的墓碑(如果你经常更新和删除同一行),并且没有通过主要压缩来处理。所以我的问题是他们什么时候删除?如果不是那么数据会增长,我个人认为这是不好的。最糟糕的是,我找不到任何关于这种特殊效果的文档。

1 个答案:

答案 0 :(得分:3)

首先,正如您所发现的那样,这不是一个好主意。至少应该使用行级删除,而不是单个列删除。

第二,没有与LCS进行重大压缩的事情; nodetool compact是无操作。

最后,Cassandra 1.2为生成大量逻辑删除的工作负载提高了压缩效率:https://issues.apache.org/jira/browse/CASSANDRA-3442