我必须选择一个数据库来实现共享系统。
我的系统将有用户和文档。我必须与几个用户共享一个文档。
示例:有 2 个用户,并且有一个文档。
因此,如果我必须与两个用户共享该文档,我可以采取以下可能的解决方案:
我正在使用的当前方法是使用 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 这样的键值存储中实现。
所以我只是想知道,我上面给出的 MongoDB 方式会是最好的解决方案吗?还有其他方法可以实现吗?也许使用另一个数据库解决方案?我是否应该尝试使用 Redis 来实现它?
我应该选择哪种数据库和哪种方法最适合共享数据,为什么?
注意:我想要一些高度可扩展和持久的东西。:D
谢谢。:D