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

时间:2015-05-12 19:55:16

标签: compression couchdb

我有一个带有大约16,000个类似文档的couchdb,每个大约500字节。 db报告的统计信息(添加逗号):

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

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

我对此数据库没有任何意见,每个文档都有一个修订版。压实效果很小。

以下是点击数据库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}

1 个答案:

答案 0 :(得分:2)

我认为你得到了正确的结果。 couchdb将文档存储在每个4kb的块中(目前无法找到引用,但您可以通过存储空文档来测试它)。那是文件的最小尺寸是4kb。

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

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

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