1

Cassandra 数据库何时触发次要压缩?似乎无法手动启动它。

我尝试了以下方法: 1. 创建了一个列族gc_grace_seconds= 0 和tombstone_compaction_interval= 1(我猜它以秒为单位) 2. 在一行中写了 1000 条记录,然后删除了 1000 次(总共 1000000 次写入和删除),所以没有记录和1000000个墓碑。3. 读取延迟从约 8 毫秒增加到约 400 毫秒(慢约 50 倍)。

我预计会执行一个小的压缩,但似乎这并没有发生。如果我强制压缩,我会再次获得 8 毫秒的延迟。

如何强制开始一个的压缩?

我使用 Cassandra 1.2.5

4

1 回答 1

1

在您的一个写入/删除阶段之间,发出“nodetool flush”以创建几个不同的 SSTable。只有在 min_compaction_threshold SSTables 存在之后,压缩才符合条件。

请参阅http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/configuration/configStorage_r.html#reference_ds_zyq_zmz_1k__min_compaction_threshold

使用您在上面已有的设置使用 min_compaction_threshold 来查看会发生什么。这应该会使您的结果更符合您的期望。

于 2013-08-21T18:25:45.107 回答