需要具有本地数据库的客户端同步的移动数据库

时间:2018-10-16 02:26:48

标签: database mobile data-synchronization

我正在构建具有以下业务需求的移动应用程序:

  1. Db将与设备断开连接时本地存储在设备上以供使用 云。

  2. 需要NoSQL类型存储来提供将来的更改,而无需复杂的数据库重建和数据迁移。

  3. 使用SQL查询语言进行简单编程。
  4. 在所有目标平台上运行-Windows,Android,iOS

  5. 没有中央数据库服务器-通过匹配db文件的两个本地副本来同步数据。

我已经检查了许多移动数据库,除了Couchbase Lite 2.1 Enterprise Edition以外,没有一个提供所有这些功能。缺点是,在我的用例中,EE许可证价格过高。
[编辑:是的,对于<= 1000台设备而言,EE许可证的价格为3.5万美元,对我来说,这个选项可惜了。]

还有其他可以让我指向的此类产品吗?

1 个答案:

答案 0 :(得分:0)

由Couchbase Lite完成的本地数据库的客户端同步是一种将数据从一个移动设备复制到另一个移动设备的方法。虽然是一项有限的功能,因为它适用于P2P。以最快,最有效的P2P协议BitTorrent为例。它仍然存在缺陷,数据损坏的风险和部分数据丢失。仅当在同一移动设备上的两个不同应用程序之间运行时,P2P同步才是安全的。

如果两个数据库都在同一台移动设备中,并且由相同应用程序管理,则将更加简单。您可以自己读取一个数据并保存另一个数据,然后根据需要处理冲突。

我很好奇,为什么没有中央数据库服务器的要求?您可以微调共享哪些数据以及共享哪些用户。运作方式如下:

在服务器端用户注册表上,为每个用户分配了一个通道名称列表。同时,添加或更新的每个JSON文档也链接到通道名称列表。对于每对至少有一个通道名相同的用户x文档,服务器允许进行推/拉复制。

祝你好运!