Couchbase压缩可用磁盘空间要求

时间:2018-04-30 09:30:54

标签: couchbase

根据old documentation

  

如果可用磁盘空间量小于当前数据库大小的两倍,则不会执行压缩过程,并在日志中发出警告。

假设这仍然与Couchbase 5.x相关(我无法在最新的文档中找到它),我想知道这个要求是否真的适用于整个桶尺寸(甚至是整个数据库) - 或者更确切地说,每个vBucket在给定的时间点被压缩(因为压缩过程发生在每个vBucket,默认情况下只有3个并行工作)。

如果按照vBucket进行压缩,我就不用担心让我的单个磁盘占用超过50%的磁盘大小了,现在我对此保持警惕,所以我保留了一个非常大的磁盘余量未使用。

2 个答案:

答案 0 :(得分:1)

Couchbase forums也提出了这个问题。我从那里复制了我的答案:

  

假设这仍与Couchbase 5.x相关

对于Couchbase Server 5.X,这仍然是正确的。

如您所述,建议是关于整个桶的大小。

每个vBucket完成计算本身以检查压缩是否有足够的空间来成功完成。换句话说,只要有足够的空间让一个vBucket被压缩,压缩就会运行。

  

因为每个vBucket都会发生压缩过程,默认情况下只有3个并行工作。

默认设置已更改为1 - 有关详细信息,请参阅MB-18426

答案 1 :(得分:0)

我似乎无法在5.x中找到文档,但是再次,假设旧文档仍然成立,我认为它可能在你怀疑的vbucket级别(来自Don Pinto in this old blog post的一些注释似乎确认)。但是,虽然文档在vbuckets之间相对均匀地分布,但实际大小可能会有所不同,因此如果您查看磁盘空间,我不会对vbucket大小做任何假设。索引也会占用磁盘空间。

但是请注意,如果您担心遇到磁盘大小限制,可以添加另一个节点,该节点将重新分配vbuckets,并且应该在每个节点上释放更多空间。