我正在設計一個存儲許多大文件的解決方案。從我在stackoverflow上讀到的內容來看,像Mongodb這樣的數據庫系統是存儲大量文件的最佳方式(來源:Scalable File Storage)。爲什麼?當然,我最好將文件存儲在文件系統中的可擴展系統上,比如亞馬遜,並給每個文件一個ID。許多大文件的PHP存儲
,試圖尋找一個答案我已經看過:
- Image upload storage strategies
- MySQL Binary Storage using BLOB VS OS File System: large files, large quantities, large problems
- Large scale image storage
- Difference between Object Storage And File Storage
- Scalable File Storage
到目前爲止,我一個ppreciate:
- 存儲在文件系統上會使服務器遷移困難得多。
- 對於可以保存在目錄中的文件和文件夾的數量是有限制的。
這兩點似乎都沒有說服我,值得編程文件的額外工作保存在數據庫中。如果我在其中存儲大文件而不是直接存儲在文件系統中,它也會增加數據庫災難性損壞的風險。我目前正在考慮將這些文件存儲在Amazon S3解決方案中。你能否讓我知道是否瘋狂和/或如果我忽視了什麼?
我不確定你在做什麼,但如果涉及金錢,我會使用第三方來確保他們將被安全地存儲。然而,在大多數情況下,我會將它們存儲在文件系統中。事情是,你需要想出一個好的數據庫模式來組織文件和他們所有的信息。你必須問自己的另一個問題是,這些文件是否應該受到保護?如果是這樣,您需要採取額外步驟以確保無法通過URL操作輕鬆訪問它們。 – 2013-04-27 11:16:00
存儲大文件的最佳方式是在服務器的文件系統上,或在cdn上,而不是在數據庫中 - 只存儲對數據庫中文件的引用 – 2013-04-27 11:16:13
我會使用S3。我會考慮開發自己的系統的唯一條件是是否存在符合S3要求的合規要求。在小範圍內,建立一個系統來構建一個與s3具有相同性能/可靠性的系統將是非常昂貴的。 – datasage 2013-04-27 11:21:34