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

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

  2. 需要 NoSQL 类型的存储来为 future 的变化提供支持,而无需复杂的数据库重建和数据迁移。

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

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

我检查了很多移动数据库,除了 Couchbase Lite 2.1 Enterprise Edition 之外,没有一个提供所有这些功能。缺点是 EE 许可证在我的用例中可能价格过高。
[编辑:是的,<= 1000 台设备的 EE 许可证为 35,000 美元,遗憾的是,该选项不适合我。]

还有其他类似的产品可以推荐给我吗?

请您参考如下方法:

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

如果两个数据库都在同一个移动设备上并由同一个应用程序管理,那就简单多了。您可以自己进行同步,方法是从一个读取数据并保存在另一个中,并在需要时处理冲突。

我很好奇,为什么不需要中央数据库服务器?您可以微调共享哪些数据以及在哪些用户之间共享。这是它的工作原理:

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

祝你好运!


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!