Android CouchDB数据同步/下载

Android CouchDB数据同步/下载,android,couchdb,couchbase-lite,Android,Couchdb,Couchbase Lite,我正在构建一个新的移动应用程序,并打算使用ApacheCouchDB和Couchbase Lite来实现离线/在线数据同步模型。基本积垢已完成并开始工作 我的问题是有多少数据是同步的。例如: 集中数据库有3个用户的数据。假设每个用户创建100Mb的数据,并在服务器中同步 每个用户创建的数据对于其他用户来说是不可访问的,并且从移动客户端进行的查询从不包括其他用户的数据 如果用户只查询和创建自己的数据,那么他的设备中会有300Mb的数据还是只有100Mb的数据?我假设CouchDB服务器中有一个数据

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

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

集中数据库有3个用户的数据。假设每个用户创建100Mb的数据,并在服务器中同步

每个用户创建的数据对于其他用户来说是不可访问的,并且从移动客户端进行的查询从不包括其他用户的数据


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

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

  • 如果执行从移动设备到服务器的推送复制,则本地Couchbase lite数据库中仅存在其自身的数据

  • 如果您还执行从服务器到移动设备的拉式复制,则本地Couchbase lite数据库将具有完整的服务器数据库(3个用户的数据)

CouchDB可以帮助您实现这一点,因为它支持过滤复制。在这种情况下,您可以使用一个参数化的过滤器函数,它允许您将自己的数据复制到每个用户的设备上

我不确定Couchbase Lite是否支持过滤复制,因为它主要关注Couchbase同步网关

我可以确认它支持基于筛选函数和mango查询的筛选复制


如果db增长,则筛选器函数可能会导致性能问题。Mango查询选择器是一种更适合数据库过滤的解决方案。

感谢您的回答!如果我只启用推送复制,我可以查询我没有创建的内容吗?与其他用户创建的文档一样,这些文档没有在我的设备中复制?不,您将只拥有用户在本地创建的文档。哦,好吧,之前与firebase合作过,这让我很难过。谢谢你的回答!CouchDB筛选器不适用于Couchbase Lite。您可以使用Couchbase服务器、同步网关和Couchbase Lite做任何您想做的事情。Couchbase服务器有一个开源的免费社区版,如果考虑到这一点的话。我不是Firebase专家,但我不知道如何对其他数据进行查询,除非您已连接。因此,您可以使用Couchbase获得相同的功能,也可以通过细粒度的方式控制同步内容,以便在设备上拥有适当的数据。