在 CouchDB 和 Cloudant 中,当文档发生更改时,数据库会保留以前的版本。保留什么以及保留多长时间?
最佳答案
Cloudant 和 CouchDB 永久保留文档的元数据(id、rev、已删除和冲突)。文档内容在压缩期间被删除(在 Cloudant 中自动删除,在 CouchDB 中手动删除),但有一个异常(exception):如果发生冲突,我们将保留文档内容直到冲突解决。
对于每个文档,我们保留最后的 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 上产生冲突(因为我们丢失了加入旧文档所需的信息)和新的编辑路径在一起)。
关于couchdb - CouchDB/Cloudant 中保留了多少文档修订版本以及保留多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17901147/