2010-12-14 13 views
1

objective-cとネイティブツールを使ってmacアプリケーションを開発しています。私はmongodbのドキュメントベースの実装が大好きで、私はそれをアプリケーション用のデータを格納するために使用する予定です(データは、音楽トラックのタイトル、それに付随するメタデータとほぼ同じです)。このアプリケーションの目的は、ユーザーがデータベースのデータベース・バージョンをローカル・バージョンに同期できるようにすることです。そして、常に自分のコンピュータにローカルバージョンを持つことができるように、インターネットはアプリケーションを使用する必要はありません。しかし、ユーザーがオフラインでローカルデータに変更を加えた場合、オンラインに戻ったときに変更内容がmongodbデータベースに同期化されます。私が抱えている問題は、この問題に対する最良のアプローチを見つけることです。私が今考えることのできる最高のものは、最初にデータベースからデータを取り出し、データベース内の各「音楽トラック」エントリのローカルコピーをシリアル化することです。したがって、オフラインの場合、問題はこれらのシリアル化されたオブジェクトからデータを取り込みます。ユーザーがオフラインでデータを追加/変更した場合、変更が記録され、ユーザーがオンラインに戻ったときにmongodbデータベースにプッシュされるのを待ちます。 mongodbデータベースのすべてのエントリにはタイムスタンプが付けられるため、アプリケーションがオンラインで数秒ごとに実行されているときに、アプリケーションはローカルコピーとリモートコピーのタイムスタンプを比較して変更が行われたかどうかを確認し、それに応じて更新できます。mongodbデータベースとローカルシリアライズ版の同期に最適なアプローチ

これは、mongodbデータベースからリモートでローカルにデータを同期するのに適していますか?

+0

あなたの要件は、CouchDBのでサポートされてできました。これはmongodbのようなjsonドキュメントのデータベースですが、自動レプリケーションと同期があります。 mongodbが本当に必要でないなら、あなたはそれを考慮したいかもしれません。 – Rudy

答えて

0

これは非常に興味深い問題であり、悲しいことに、私はそれのための偉大な答えを持っていない(また他の人が、この時点で行うようです。)

ただし、MongoSVから今回の発表に興味があるかもしれませんpresentaionでiOSのでのMongoDBを使用して...

http://www.10gen.com/video/mongosv2010/ios

にティム・バークスは、彼がiOSデバイス上のMongoDBのデータを格納するために働いているいくつかのプロジェクトに言及し、それはあなたにいくつかの助けかもしれません。

彼は、例えばTokyo Cabinet言及...あなたは理論ストアBSON/SQLiteのでJSON構造(少し奇妙な、なんとか。)に

関連する問題