2011-09-30 130 views
0

我是一名計算機工程師學生,我有一個基本上簡單的任務,但我想讓它更有趣:)。基本上我必須創建一個簡單的多用戶,使用Java或.NET的在線文檔版本控制系統。因爲我更像一個.NET傢伙,所以我會使用ASP.NET或Silverlight(它還沒有決定)。我想用MongoDB來存儲文件(它們幾乎可以是任何東西,視頻,音頻,簡單的MSOffice文件,純文本),它們的每個版本和相關的元數據(哪個庫,文件夾他們在等)。我想把其他東西,比如用戶,權限等等(規範還沒有完成)放到一個普通的關係數據庫中。問題是你怎麼看待這個問題?你認爲這有什麼意義,或者我只是想把整個事情複雜化?僅僅使用mongodb來完成一切事情,還是完全不使用nosql呢?這種東西有什麼約定嗎? :)用於文檔版本控制系統的mongodb和sql

順便說一句。在任何其他情況下,我會使用一些免費的,經過測試的文檔版本解決方案,但我必須自己設計和實現這一點,並且我試圖至少有一點非常規性地做到這一點:)。

感謝每一個評論:),任何幫助讚賞:) 電賀

回答

0

如果你使用類似Mongoid on Rails的,這將是微不足道的增加更多的複雜性。 http://mongoid.org/docs/extras.html尋找版本控制。 ODM爲你打造。我還沒有在.NET世界中使用Mongo,它總是像Raven這樣的東西,所以我不確定它的庫是否像Mongoid那樣容易工作。

Mongo也處理關係數據。你想要標準化(e.q.用戶記錄)的東西可以引用數據庫中的其他文檔。當然,您想要存儲的任何魔法文檔也可以工作。

0

做事unconventionnaly通常以發現新的方法(更好的方法?)的好方法所以這是一個好主意。

由於無模式屬性,使用mongodb也是一個好主意。

使用存儲額外信息的關聯性的數據庫是非常奇怪的,將沒有任何優勢(IMO)