我对 Datastax 页面中关于调整 cassandra 压缩的以下几行有点不清楚。他们特别提到:
“管理员还可以通过 nodetool compact 启动主要压缩,它将所有 SSTables 合并为一个。虽然主要压缩可以释放累积的 SSTables 使用的磁盘空间,但在运行时它会暂时使磁盘空间使用量翻倍,并且是 I/O 和 CPU 密集型的。另外,一旦你运行了一次major compaction,自动的minor compactions 不再频繁触发,迫使你在例行的基础上手动运行major compactions。因此,虽然在major compaction 之后立即读取性能会很好,但它会持续降低直到下一次major compaction手动调用。因此,DataStax 不建议进行主要压缩。” (http://www.datastax.com/docs/1.0/operations/tuning)
读完这篇文章后,我想更好地理解的两个问题是:
- 为什么手动触发的主要压缩会更改次要压缩间隔/频率?我不太确定我是否遵循这背后的根本原因。
- 如果我确实需要使用 nodetool 手动运行主要压缩,是否有可能?如果可以,我如何恢复以确保次要压缩间隔不会因此受到影响并重置为默认行为。
谢谢。