我必須選擇一個實現共享系統的數據庫。與用戶共享文檔
我的系統將有用戶和文檔。我必須與少數用戶共享文檔。
示例: 有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 –