【发布时间】:2012-02-17 05:08:24
【问题描述】:
能否将 CouchDB 的过滤复制设置为不仅复制每个文档的最新版本,还复制每个文档的最后 100 个修订版?
我想要这个功能,因为我打算让每个应用实例选择最准确的最新版本(修订将来自多个来源,每个来源都有不同的准确性/可信度),所以我需要更多每个数据库实例中都有一个可用的修订版本。
具体用例如下:
CouchApp 1 包含一个关于一个改革宗教派所有教会的数据数据库。
CouchApp 2 包含一个数据库,其中包含全球所有改革宗教派中所有教会的数据。
CouchApp 1 和 2 设置为双向复制以保持彼此同步,但 CouchApp 1 仅从 CouchApp 2 的面额复制过滤器请求一个面额的数据。
用户 1 是匿名的,因此相对不受信任,而用户 2 是 CouchApp2 的管理员,因此具有较高的权限/可信度。两个 CouchApp 都设置为对近期数据的信任度比权威数据高 2/3。
首先(按时间顺序),权威用户 2 将有关会众 1 的 10 次修订会众数据输入 CouchApp 2(所有教派)。 其次(按时间顺序),匿名用户 1 将关于会众 1 的会众数据的 10 次修订输入 CouchApp 1(一种面额)。
发生双向复制。
CouchApp 2(所有面额)默认显示用户 1 的数据,因为该数据更新。但是,因为用户 1 只输入了会众 1 数据的一些(但不是全部)字段,所以 CouchApp 2 会显示用户 2 的所有其他字段的数据。
有人告诉我,应用复制多个修订版,或者在复制后评估用户输入的准确性(可以在复制之前完成),或者在全部。
【问题讨论】:
标签: couchdb replication