4

Android で SQLite を使用し、サーバーで MongoDB のような NoSQL データベースを使用して、2 つの間の双方向のデータ複製/同期を行うことは可能ですか? それとも、両端で SQL を使用するか、両端で NoSQL を使用するが、混合しないのが最適ですか?

4

2 に答える 2

3

考慮すべきいくつかの異なるアプローチがあります。

1) マルチマスターまたは MVCC (Multiversion Concurrency Control) を実装し、Android とサーバーの両方で実行されるデータベース製品を使用しますMVCC ウィキペディア ページにいくつかの例があり、CouchDB が一般的なソリューションです。Android での実行に最適化され、CouchDB へのレプリケーションをサポートするTouchDB -Androidポートがあります。

2) 要件が単純 (または独自) であり、独自のソリューションを展開することを保証する場合があります。一般的な解決策は、Android で SQLite を使用し、(おそらく RESTful な) API を介して情報をリモート サーバーに同期することです。

モバイル デバイスとサーバーの両方で同じデータベース ソリューションを使用することは必須ではありませんが、同様のスキーマとクエリ言語を使用すると、おそらく問題が解決されます。

于 2012-11-29T04:27:43.393 に答える
2

SymmetricDSをご覧になることをお勧めします。私自身は使用していませんが、検討しています。

現在、Android 上の SQLite DB は mongoDB バックエンドに同期できますが、現在、他の方向には同期できません。どうやら、必要な同期データを中間同期 DB に作成して、SQLite DB に戻すことができるようです。

パイプラインには iOS バージョンもあります。

GPL ライセンスがあるため、商用で使用する場合は (アプリがオープン ソースでない限り) 料金を支払う必要があります。

于 2014-09-06T14:17:23.497 に答える