【问题标题】:How many document revisions are kept in CouchDB / Cloudant, and for how long?CouchDB / Cloudant 中保存了多少文档修订,保存了多长时间?
【发布时间】:2013-07-27 18:38:15
【问题描述】:

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

【问题讨论】:

    标签: couchdb cloudant mvcc


    【解决方案1】:

    Cloudant 和 CouchDB 永久保留文档的元数据(id、rev、deleted 和冲突)。文档内容在压缩过程中被删除(在 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 上产生冲突(因为我们已经丢失了加入旧节点所需的信息和新的编辑路径)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多