什么是与Couchbase相关的压缩术语

时间:2016-02-13 17:26:08

标签: couchbase

我试图了解Couchbase的压缩功能。我还想知道压缩水桶的最佳时间以及为什么需要压缩水桶。

1 个答案:

答案 0 :(得分:3)

Couchbase使用仅附加文件将数据写入磁盘。由于此文件仅附加,这意味着每次写入文件时文件都会变大。无论您是要添加新数据还是更新现有数据,都会出现这种情况。

如果您只是继续将数据写入仅附加文件,那么最终您将耗尽磁盘空间,除非您通过删除不再使用的文件部分来回收此空间。此过程称为压缩。下面是压缩如何工作的简单示例。

想象一下,只有一个附加文件,并且有一个关键值数据。

key1,value1
key2,value2
key3,value3

如果更新key1,文件将如下所示

key1,value1
key2,value2
key3,value3
key1,value4

正如您所看到的,文件因更新而增长。压缩过程运行后,文件将如下所示:

key2,value2
key3,value3
key1,value4

这是压缩工作原理的一个非常简单的例子,它在仅附加数据存储中要复杂得多。

在Couchbase中,建议您安排压缩以在晚上(或在您的应用程序使用率最低时)运行。原因是压缩是一项磁盘密集型任务。如果你不能在晚上运行压缩,它将自动启动,如果文件中有一定数量的碎片(未使用的数据)。虽然它实际上取决于您的部署和工作负载特征,但是大多数人发现Couchbase默认设置适用于他们。