2

在 CouchDB 和 Cloudant 中,当文档发生更改时,数据库会保留以前的版本。保留什么,保留多长时间?

4

1 回答 1

3

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

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

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

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

于 2013-07-27T18:38:15.787 回答