2010-10-01 79 views
0

我正在開發一個項目,我需要存儲許多用戶上傳的文件並提供冗餘。對於文件上傳,我首先考慮將用戶上傳的文件放在NFS「uploads」目錄中,然後使用Gearman抓取該文件,將其移至永久性存儲位置,然後使用文件info(文件大小,日期等...)更新MySQL。等等)。用於HA文件存儲的MongoDB GridFS

現在我已經瞭解了MongoDB的GridFS,我認爲這可能比NFSGearman更好。使用GridFS,我不需要NFS並且內置冗餘 - 但是我將對MongoDB產生很大的信任。

這一切都說,我想知道如果有人有任何想法?有誰知道GridFS的大型部署?我知道很多人都在使用MongoDB進行NoSQL,但是我還沒有發現很多對GridFS部署的引用。

謝謝!

回答

1

我們正在使用GridFS作爲我們的項目之一。我還使用齒輪工分配作業隊列,以便客戶端不必等待文件完成上傳。一旦用戶點擊提交,PHP將作業發送給gearman,然後我有「工作人員」來插入MongoDB。

+0

如果你不介意我問,你在GridFS中存儲了多少數據以及多少臺機器? – Ethan 2010-10-01 19:53:14

+0

對於無檔案工程的項目(不確定開發人員是否會實施檔案管理員),這是一個文件共享應用程序,我們預計至少有一個TB數據。我正在獲取物理硬件的引用來構建我們的分區環境。當你的數據變得非常大時,你會想要分割。現在我們使用一臺機器,但我打算至少有4臺機器來處理分片。 – luckytaxi 2010-10-01 19:56:34

+0

我們正處於早期發展階段,正試圖選擇一種方法。爲了更好地理解MongoDB如何在不同機器上分割GridFS,我已列在清單上。我的主要問題是,如果我有4臺機器,我可以指示MongoDB始終將4臺機器中的2臺數據用於冗餘。另外,如果以後我想把這個增加到4的3個,我可以輕鬆嗎? – Ethan 2010-10-01 20:00:27

0

您還可以查看MogileFS,這是一個分佈式存儲系統。