私はCouchDBとTouchDBをしばらく研究していて、私が考えているモバイルアプリへの適合性を真剣に考えています。いくつか質問がありますが、誰かが私を正しい方向に向けることができれば本当にありがたいです。シナリオは、TouchDBで2つのモバイルクライアントを実行している場合です。モバイルクライアントAが特定のドキュメントをモバイルクライアントBに複製できるようにしたい。次に、モバイルクライアントBが変更を加え、それらの変更をモバイルクライアントAと同期できるようにしたい。アーキテクチャの観点から、私は両方のクライアントがプル/プッシュできる一元化されたcouchdbデータベースが必要になります。私が抱えている問題は、クライアントBが複製を許可されているドキュメントのみを複製できるようにするにはどうすればよいかということです。レプリケーションフィルターを使用してレプリケートされるドキュメントを制限できることを理解していますが、モバイルクライアントBでそれを適用するにはどうすればよいですか?また、上記のシナリオの理想的なアーキテクチャは何でしょうか?どんな援助も大歓迎です。ありがとう!
1 に答える
0
EC2(集中型データベース)のTouchDBとBigCouchで同様のセットアップを行っています。プッシュとプルを正しく機能させることは、かなりの冒険になる可能性があります。=)
プルでレプリケーションフィルターを使用することで、あなたは正しい方向に進んでいると思います。レプリケーションフィルターを使用してクライアントBのプルを制限すると、クライアントBはローカルのTouchDB上のすべてのものを変更でき、何も害を及ぼさないため、作業が楽になる可能性があります。
つまり、クライアントBに変更させたくないドキュメントを複製しないでください。
これを行うには、アクセスレベルを指定するフィールドをドキュメントに導入する必要があります。または、クライアントBのユーザーIDが含まれている配列もあります。そうすれば、彼は自分が見ることを許可されているものだけを見ることができます。
忘れる前の2つの注意事項:a)AndroidのTouchDBは現在大ざっぱです。彼らはそれをより良くするために働いています、しかしそれはiOSバージョンの後ろにあります。b)Erlangでレプリケーションフィルターを作成することを検討することを強くお勧めします。そうすることで速度が50%向上しました。
于 2013-01-31T22:01:29.650 に答える