在CouchDB / Cloudant中保留了多少文档修订版,以及保留多长时间?

时间:2013-07-27 18:38:16

标签: couchdb cloudant mvcc

在CouchDB和Cloudant中,当文档发生变化时,数据库会保留以前的版本。什么得到保留,持续多久?

1 个答案:

答案 0 :(得分:3)

Cloudant和CouchDB永远保留文档的元数据(id,rev,deleted和conflict)。在压缩期间删除文档内容(在Cloudant中自动删除,在CouchDB中手动),但有一个例外:在发生冲突的情况下,我们将保留文档内容,直到冲突得到解决。

对于每个文档,我们保留最后的X个修订版,其中X是{username}.cloudant.com/{db}/_revs_limit返回的数字,默认为1000.比过去1000更新的修订版被删除。您可以通过向该端点发出带有新值的PUT请求来更改_revs_limit。例如:

curl -X PUT -d "1500" https://username.cloudant.com/test/_revs_limit

因此,如果将文档复制到两个节点,在节点A上编辑1001次,然后再次复制到节点B,则会在节点B上生成冲突(因为我们丢失了加入旧节点所需的信息和新的编辑路径一起)。