让我们假设复制前所有键空间的磁盘总使用量为100GB。复制因子为3。使物理磁盘总使用量= 100GB x 3 = 300GB。
我们使用默认的压缩策略(按大小分层),并假设更糟的情况是Cassandra需要与数据一样多的可用空间来完成压缩。 Cassandra是否需要100GB(复制前)或300GB(100GB x3,带复制)?
换句话说,当Cassandra需要可用磁盘空间来执行压缩时,复制因子会产生影响吗?
答案 0 :(得分:3)
Cassandra中的压缩对于节点是本地的。
现在,假设您有一个3节点群集,复制因子也为3,原始数据大小为100GB。这意味着每个节点都有100GB的数据量。
因此,在每个节点上,我将需要100GB的可用空间来压缩该节点上存在的数据。
TLDR;压缩所需的可用空间等于节点上存在的总数据。
答案 1 :(得分:2)
由于数据是在节点之间复制的,因此每个节点将需要最多100Gb的可用空间-因此总共是300Gb,但不能在一个节点上...