CouchDB数据同步/下载

问题描述 投票:1回答:1

我正在构建一个新的移动应用程序,并打算使用Apache CouchDB和Couchbase Lite来实现离线/在线数据同步模型。基本的CRUD已完成并正常工作。

我的问题是有多少数据被同步。例:

集中式数据库具有3个用户的数据。让我们说每个用户创建在服务器中同步的100Mb数据。

由每个用户创建的数据对于其他用户是无法访问的,并且从移动客户端创建的查询从不包括其他用户的数据。

如果用户只查询并创建自己的数据,他会在他的设备中拥有300Mb的数据还是只有他自己的100Mb?

android couchdb couchbase-lite
1个回答
1
投票

我假设您在CouchDB服务器中有一个数据库,其中3个用户正在复制其本地数据库。在这种情况下:

  • 如果从移动设备执行推送复制到服务器,则只有其自己的数据位于本地Couchbase lite数据库中。
  • 如果您还执行从服务器到移动设备的拉复制,则本地Couchbase lite数据库将具有完整的服务器数据库(3个用户的数据)

CouchDB可以为您提供帮助,因为它支持过滤复制。在这种情况下,您可以使用参数化过滤器功能,该功能允许您将自己的数据复制到每个用户的设备。

我不确定Couchbase Lite是否支持过滤复制,因为它专注于Couchbase Sync Gateway。

我可以确认Cloudant Sync支持基于过滤器函数和芒果查询的过滤复制。

如果数据库增长,过滤器功能可能会导致性能问题。芒果查询选择器是数据库过滤的更加性能的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.