2014-11-23 84 views
1

我們正在設置一個Web應用程序(目前正在啓動)。 Web應用程序將根據需要處理的JSON文件的數量快速增長。我們可能在談論5-10萬個文件。單個JSON文件並不特別大 - 可能在每個文件150K的區域。文件不太可能被同時訪問,因此個人用戶擁有他們的單個文件集。存儲大量JSON文件的位置

我想放出來根本就如何最好地保存JSON文件的問題。 CDN是鏈接存儲在關係數據庫中的最佳選擇?或者我應該跳上這條路,走下NoSQL數據庫的路線?或者也許還有其他解決方案,我沒有想過?

真的找一些好的建議,最好從別人有關大型數據庫的經驗。

非常感謝提前!!!!

Markus

回答

0

我會考慮調查MongoDB,因爲它已經以json格式存儲它的文檔。 你也可以將它固定在一個普通的關係數據庫中,但在mongo中使用json文檔的好處在於,你將擁有針對這些文檔的查詢能力,所以你不必總是加載整個文檔。

+0

感謝您的意見。如果我不需要查詢文件(永遠),該怎麼辦?它們僅用於向Web應用程序用戶提供內容。 – Markus 2014-11-23 21:00:03

+0

我想你可以使用所有建議的解決方案,但我可能會認爲這可能是一個維護問題,用這麼多的文件部署你的應用程序。 – TGH 2014-11-24 02:39:08

+0

維護是我們的主要關注之一。再次感謝您的評論! – Markus 2014-11-24 11:26:22

0

如果你想要的是快速訪問一次寫入多次讀取的存儲類型,那麼你也可以考慮DBM。它速度快,價格便宜,可靠。

假設你將壓縮文件內容,JSON的煩躁可能是從存儲角度來看,非要素。

可靠性 - 你能忍受一些統計損失嗎?如果沒有,全部或半身的數據庫是唯一剩下的選擇。如果不是,基於文件系統的存儲可能是一種選擇。在整個數據完整性檢查中,文件系統並不像數據庫那樣狂熱。他們得到更好的支持。提供文件更容易;但跟蹤版本需要花費更多設計時間。足夠常見的模式是將文件系統中的產品映像和其他資料提供給文件系統,同時將其他數據保存在rdbms中。

如果考慮CDN - >關係數據庫則也考慮CDN - > {文件系統,索引節點},在保持文件的數量方面明確地平衡文件系統。

的NoSQL數據庫MongoDB的一樣,可能有重新啓動和恢復時間超出了你的承受能力。否則,它是很棒的工具。許多RDBMS具有原始分區支持以獲得更好的IO。在150KB時,必須使用TEXT或CLOB字段,這只是一個小小的煩惱。

HTH。如果您分享了您實際使用的內容,將會很感激。

+0

感謝您的意見。我們目前正在玩弄它。一種解決方案可能是爲付費客戶提供(CDN和RDBMS免費部分工具)和NoSQL。很難知道一旦大量數據出現後事情會如何發生。一旦它運行起來,我將用更多的具體信息和其他有趣的措施來報告!再次感謝!! – Markus 2014-11-24 11:25:43