我必须选择一个实现共享系统的数据库。与用户共享文档
我的系统将有用户和文档。我必须与少数用户共享文档。
示例: 有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
我读了你的答案。 :D ...但是不存在错误的机会,在类别集合中放置了某些东西,并且在用户设置中失败了?因为它们是两种不同的操作。我知道这对于MongoDB也是如此,但是不存在可行的解决方案吗? –
使用Redis,您可以使用MULTI/EXEC原子块对集合操作进行分组,以便获得全有或全无语义。请参阅http://redis.io/topics/transactions –