CouchDB的线上线下同步(Couchdb online offline synchronisat

2019-09-28 01:51发布

我建立这将对所有数据写入到本地CouchDB实例.NET应用程序,和CouchDB的中央,其中本地的CouchDB同步到。 困难的是,将有多个客户端,这将在不同的点同步数据库(并且可以编辑现有的数据,造成冲突)。 互联网连接将是一致的,所以因此多数数据将被建立/,而离线编辑。

我相信,CouchDB的固有处理这个,但我有困难,搞清楚是否我应该用_changes或_replicator功能一起工作 - 或者组合。 非常感谢对如何处理这种情况的几个三分球。

Answer 1:

CouchDB的将检测冲突给你,但它留下的处理这些冲突给你的责任。 以下是详细信息CouchDB的冲突模型和一些方法来设计您的复制应用程序。

_changes不是复制,因为它仅提供最近的变化给定文件的好方法。 所以,如果您复制使用变化喂到新创建你将失去一些它的较早的更改的数据库。 你将不得不手动执行如更新的文档操作_replication会为你。 _replication也有一些东西像创建目标数据库,如果它不存在的能力。

即使你正在听continuous变化的饲料不是每个更新的文件是保证归还。

返回数据库中的文档制作,在申请的时间顺序变化的排序列表,可以从数据库中的_changes资源获得。 只为给定的文档最近一次修改是保证提供的,例如,如果一个文件已添加字段,然后删除的API客户端检查的变化并不一定会得到补充文件的中间状态。

所以replication是,如果你打算复制在不同设备上的数据的路要走。



文章来源: Couchdb online offline synchronisation