CouchDb如何处理碎片?

时间:2012-11-09 22:54:15

标签: database nosql couchdb

CouchDb如何处理最终用完连续磁盘空间的增长文档?而且CouchDb为文档分配磁盘空间的策略是什么,它不知道它们最终会有多大?

1 个答案:

答案 0 :(得分:1)

CouchDB使用仅附加策略来编写新数据。这意味着每个新文档“修订版”(注意,这不是VCS的实际修订版)将写在文件末尾,并且之间没有重新分配。当您运行数据库压缩操作时,它会将所有实际修订写入剥离旧数据库的新数据库文件,并将删除文档作为严重的标记符号。当所有文档都被压缩时,它会透明地将旧数据库文件替换为压缩文件。

您可以在Riyad Kalla篇关于CouchDB database format的文章中阅读更详细的解释。此外,您可能对他在邮件列表中的discussion感兴趣。