Android上是否可以使用SQLite,而在服务器上使用NoSQL数据库(如MongoDB),并实现两者之间的双向数据复制/同步?还是最好在两端都使用SQL或NoSQL,而不混用?
Android上是否可以使用SQLite,而在服务器上使用NoSQL数据库(如MongoDB),并实现两者之间的双向数据复制/同步?还是最好在两端都使用SQL或NoSQL,而不混用?
有几种不同的方法可以考虑:
1) 使用一个实现多主或 MVCC(多版本并发控制)且在 Android 和您的服务器上运行的数据库产品。 在MVCC wikipedia page上有一些示例,其中CouchDB是一种常见的解决方案。 有一TouchDB-Android端口,其针对 Android 进行了优化,并支持复制到 CouchDB。
2) 您的要求可能足够简单(或独特),以需要自己开发解决方案。 一个常见的解决方案是在 Android 上使用 SQLite 并通过(可能是 RESTful 的)API 将信息同步到远程服务器。
在移动设备和服务器上使用相似的架构和查询语言并非必须,但这样做可能会使您更加理智。