0

当面の問題は次のとおりです。

  • 保守記録を保管するSaaS
  • データの 95% は各ユーザーに固有のものです。つまり、他のユーザーがアクセスする必要はありません。
  • メンテナンスで使用される部品など、共有される (およびすべてのユーザーによって提供される) データの 5%
  • SaaS は CouchApp として提供されます。つまり、公開されている CouchDB を使用します。

そのため、ユーザーごとのデータベースと、すべてのユーザー用の単一データベースの間で迷っています。

ユーザーごとのデータベースは、バックアップとメンテナンスがはるかに簡単で、データセットが小さくなり、アクセス制御が容易になるようです。マイナス面として、共有データをどのように処理できますか?

ユーザーごとのデータベースと、共有情報 (パーツ) 用の共通データベースを 1 つ持つことはできますか? 次に、部品ドキュメントをすべてのユーザー データベースから中央のデータベースに複製し、そこからすべてのユーザー データベースに複製しますか? その場合の競合を処理するにはどうすればよいですか (または、可能であれば回避することをお勧めします)。

それとももっと単純なアプローチですか?または、弾丸をかじって、1 つの中央データベースだけを使用しますか?

4

1 に答える 1

1

共有データの性質にもよると思います。ユーザー データベースから共有データベースへのフィルター処理されたレプリケーションと、共有データベースからユーザー データベースへのフィルター処理されていないレプリケーションが流れるのは当然のことのように思えます。それはあなたの要件をカバーしていると思いますか?これにより、各ユーザーは特定のデータベースに対して読み書きするだけでよく、共有ドキュメントを配布することもできます。

ユーザー データベースにレプリケートして戻すよりも、共有データベースから直接クエリを実行する方が簡単かもしれませんが、それはそこにあるデータの種類によって異なります。

于 2012-12-14T09:57:28.917 に答える