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

标签 couchdb cloudant mvcc

在 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/

相关文章:

postgresql - 数据库内容版本控制

CouchDb 和数据写入

amazon-web-services - 无法使用 URL 访问 AWS 实例上的 CouchDB

couchdb - 基于对象属性值在 Cloudant (CouchDB) 中创建 View

Heroku 和 Iris 沙发 vs Cloudant

postgresql - 数组的重复 Postgres 更新导致膨胀?

transactions - Marklogic MVCC :contemporaneous vs non-blocking

mysql - 驱动占用大量空间的 NoSQL 数据库

authentication - Cloudant身份验证:缺少_users数据库

couchdb - 如何触发或检查链式映射缩减(dbcopy)的状态