共有システムを実装するためのデータベースを選択する必要があります。
私のシステムにはユーザーとドキュメントがあります。ドキュメントを数人のユーザーと共有する必要があります。
例:2人のユーザーがいて、1つのドキュメントがあります。
したがって、その1つのドキュメントを両方のユーザーと共有する必要がある場合は、次の可能な解決策を実行できます。
私が使用している現在の方法はMySQLを使用しています(これは使用したくありません):
Relational Databases (MySQL)
Users Table = user1, user2
Docs Table = doc1
Docs-User Relation Table = doc1, user1
doc1, user2
そして、私はこのようなものを使用したいと思います:
NoSQL Document Stores (MongoDB)
Users Documents:
{
_id: user1,
docs_i_have_access_to: {doc1}
}
{
_id: user2,
docs_i_have_access_to: {doc1}
}
Document's Document:
{
_id: doc1
members_of_this_doc: {user1, user2}
}
そして、RedisのようなKey-Valueストアにどのように実装するかはまだわかりません。
だから私はただ知りたかったのですが、私が上で与えたMongoDBの方法は、最良の解決策でしょうか?そして、これを実装できる他の方法はありますか?たぶん別のデータベースソリューションで?Redisで実装する必要がありますか?
どのデータベースとどの方法を選択する必要があり、データを共有するのに最適であり、その理由は何ですか?
注:拡張性が高く永続的なものが必要です。:D
ありがとう。:D