Couchdb 磁盘大小 10 倍聚合文档大小

Couchdb disk size 10x aggregrate document size

我有一个 couchdb,其中包含约 16,000 个类似文档,每个文档约 500 字节。数据库报告的统计数据(添加逗号):

"disk_size":73,134,193,"data_size":7,369,551

为什么磁盘大小是 data_size 的 10 倍?我希望,如果有的话,磁盘大小会更小,因为我使用的是默认的(活泼的)压缩,而且这个数据应该是相当可压缩的。

我对这个数据库没有意见,每个文档只有一个修订版。压缩效果很小。

这是点击数据库 URI 的完整输出:

{"db_name":"xxxx","doc_count":17193,"doc_del_count":2,"update_seq":17197,"purge_seq":0,"compact_running":false,"disk_size":78119025,"data_size":7871518,"instance_start_time":"1429132835572299","disk_format_version":6,"committed_update_seq":17197}

我认为您得到的结果是正确的。 couchdb 以每个 4kb 的块存储文档(目前找不到参考,但您可以通过存储一个空文档来测试它)。即文档的最小大小为 4kb。

这意味着即使每个文档存储 500 字节的数据,couchdb 也会将其保存为每个 4kb 的块。所以粗略算了一下

17193*4*1024+(2*4*1024)= 70430720

这似乎在 78119025 的范围内,但仍然少了一点,但这可能是由于文件在磁盘上的存储方式所致。