我们可以使用“ NullCompactionStrategy”吗?

时间:2019-08-02 05:02:29

标签: cassandra nosql datastax scylla

我们知道,在apache cassandra和ScyllaDB及其用例中,我们有不同类型的压缩策略。我们可以使用'NullCompactionStrategy'吗?如果是,对Scylla / Cassandra集群有什么影响?

1 个答案:

答案 0 :(得分:1)

使用NullCompactionStrategy将有效地禁用表的压缩。如果您要进行一些数据迁移,或者您打算在短时间内写入大量数据,但长时间不建议这样做,则在短期内可以使用。

Cassandra写操作被刷新到不可变的SSTables中。因此,每次刷新到磁盘的内存都会创建一个新的SSTable文件。如果禁用压缩,则服务器将继续创建越来越多的文件。因此,如果您更新列的值,则它可能存在于多个文件中。现在,您的读取将必须经过许多文件才能处理请求。

压缩过程将SSTables合并在一起。如果有更新或删除,则通过压缩保留该字段的最新值,并将其写入新的SSTable中,而旧版本则被丢弃。这意味着读取将在较少数量的文件上进行。

禁用压缩将减少写入期间的CPU使用率,但同时也意味着稍后读取速度慢。因此,要么启用压缩,要么在完成迁移后启用它。