似乎具有同步功能的移动本地数据库正在移动领域中获得一定的发展势头。这种方法可以将数据从后端复制到应用程序(反之亦然)。您无需在应用程序和后端中编写所有代码即可交换信息。听起来很棒,对吗?
但是,我想知道在哪种情况下复制效率不高。这种方法的优缺点是什么?我特别担心移动端的数据消耗过多,并搜索不在本地数据库中的信息。
最佳答案
我认为CouchDB,Couchbase Mobile,PouchDB等可用的复制方法实际上节省了数据消耗,因为复制的每一端都有一个本地数据库。同步方法不是将数据存储在可能会导致时间无效的缓存中,而是在每一侧查找差异并找出丢失的内容并发送出去。
但是,同步方法并不适合所有用例。如果我们想象一个基于位置的移动应用程序的示例。可能有一项功能可以搜索用户所在位置附近的内容。将整个服务器端数据库复制到设备以进行查询是没有意义的。您可以对这些类型的查询使用REST API调用。并且,一旦用户将位置添加了“书签”,就可以使用同步方法使所有登录的设备都可以访问它们。
对于Couchbase Mobile,过滤的同步由Sync Function处理,并且REST API可用于服务器端数据库上的查询。