是否可以在Android和NoSQL的数据库MongoDB中一样在服务器上使用SQLite,两者之间2路数据复制/同步? 抑或是最好要么使用SQL两端,或NoSQL的两端,但不能混合?
Answer 1:
还有要考虑几种不同的方法:
1)使用实现多主或MVCC(多版本并发控制),并运行Android的双方你+服务器上的数据库产品。 还有的一些例子MVCC维基百科页面 ,使用CouchDB是一个通用的解决方案。 有一个TouchDB功能的Android ,其被优化以在Android运行,并支持复制到CouchDB的端口。
2)你的要求可能是简单的(或唯一的)足以保证滚动自己的解决方案。 一个常见的解决方案将是使用在Android SQLite和同步功能(可能是基于REST)API信息发送到远程服务器。
这是没有必要同时使用移动设备和服务器,但使用了类似的架构和查询语言可能让你更理智的在同一个数据库解决方案。
Answer 2:
You may want to take a look at SymmetricDS, I haven't used it myself but I'm considering it.
It currently allows a SQLite DB on Android to sync to a mongoDB backend but currently not in the other direction. Apparently you could create the necessary sync data into the intermediary sync'ing DB for it to work back to your SQLite DB.
There is also an iOS version in the pipeline.
It has a GPL licence so you'll need to pay (unless your app is open source) if you use it commercially.