【问题标题】:CouchDB Versioning / AuditingCouchDB 版本控制/审计
【发布时间】:2010-05-13 08:51:15
【问题描述】:

我正在尝试将 CouchDB 用于需要对所有数据操作进行全面审核的系统。由于其内置的修订跟踪功能,沙发似乎是一个理想的选择。但后来我在the O'Reilly textbook 中读到“CouchDB 不保证保留旧版本”。

我似乎找不到更多关于这一点的文档,或者 couch 如何在内部处理其修订跟踪。有没有办法在每个数据库或每个文档级别上配置沙发以永久保留所有版本?如果是这样,怎么做?

【问题讨论】:

    标签: versioning couchdb revision


    【解决方案1】:

    CouchDB 中的修订不是您想象中的修订。它们是将更新的数据附加到数据库的方式的产物,并在压缩时被清理。这是一个常见的误解。

    您需要在应用程序的架构/文档设计中实施修订跟踪。

    【讨论】:

      【解决方案2】:

      couch 正在存储所有版本,但是如果您在“紧凑型数据库”链接上单击蒲团,则所有以前的版本都将被删除。因此,如果不点击压缩数据库,我认为所有版本都将被保留:)

      【讨论】:

        【解决方案3】:

        CouchDB中旧版本文档被删除有两种情况:

        1. 复制
        2. 压缩

        因此,如果您不想存储大量数据,即 TB,那么您可能不需要复制。无论如何,CouchDB 中的 master to master 复制是它最重要的特性之一。磁盘上 CouchDB 的大小比传统数据库要大,因此将来您可能需要compaction

        如前所述:您需要在应用程序的架构/文档设计中实施修订跟踪。

        【讨论】:

          猜你喜欢
          • 2017-06-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-27
          • 2011-03-12
          相关资源
          最近更新 更多