是否可以在 Android 上使用 SQLite 并在服务器上使用像 MongoDB 这样的 NoSQL 数据库,两者之间有 2 路数据复制/同步?或者最好是两端都使用SQL,或者两端都使用NoSQL,但不能混合使用?
问问题
7237 次
2 回答
3
有几种不同的方法需要考虑:
1)使用实现多主机或MVCC(多版本并发控制)并在Android +您的服务器上运行的数据库产品。MVCC 维基百科页面上有一些示例,其中 CouchDB 是一种常见的解决方案。有一个TouchDB-Android端口经过优化,可在 Android 上运行并支持复制到 CouchDB。
2)您的要求可能很简单(或独特),足以保证推出您自己的解决方案。一个常见的解决方案是在 Android 上使用 SQLite,并通过(可能是 RESTful)API 将信息同步到远程服务器。
在移动设备和服务器上使用相同的数据库解决方案并不是必需的,但使用类似的架构和查询语言可能会让你更清醒。
于 2012-11-29T04:27:43.393 回答
2
你可能想看看SymmetricDS,我自己没有用过,但我正在考虑。
它目前允许 Android 上的 SQLite DB 同步到 mongoDB 后端,但目前还没有相反的方向。显然,您可以将必要的同步数据创建到中间同步数据库中,以便它返回到您的 SQLite 数据库。
还有一个 iOS 版本正在筹备中。
它具有 GPL 许可证,因此如果您将其用于商业用途,则需要付费(除非您的应用程序是开源的)。
于 2014-09-06T14:17:23.497 回答