3 回答

TA貢獻1735條經(jīng)驗 獲得超5個贊
當您的數(shù)據(jù)庫越來越大時,備份將變得越來越困難。還原具有超過100 GB數(shù)據(jù)的表的備份并不能使您滿意。
得到的另一件事是,所有表管理功能隨著數(shù)據(jù)集的增長而越來越慢。
但這可以通過使數(shù)據(jù)表僅包含2個字段來解決:ID和BLOB。
(通過主鍵)檢索數(shù)據(jù)很可能只會在您備份數(shù)據(jù)集遇到困難之后很長時間才成為問題。

TA貢獻1777條經(jīng)驗 獲得超3個贊
我經(jīng)常聽到使用blob的主要缺點是,超過一定大小后,文件系統(tǒng)在存儲和檢索大文件方面效率更高。聽起來您已經(jīng)按照需求列表考慮了這一點。
這里有一個很好的參考(PDF),涵蓋了Blob的優(yōu)缺點。

TA貢獻1853條經(jīng)驗 獲得超6個贊
根據(jù)我的經(jīng)驗,一些問題是:
速度與在文件系統(tǒng)上擁有文件的速度。
緩存。IMO Web服務器將更好地緩存靜態(tài)內(nèi)容。DB也會做得很好,但是如果DB還處理其他各種查詢,請不要期望那些大型文檔會長時間保持緩存。實際上,您必須兩次傳輸文件。一次是從DB到Web服務器,然后是Web服務器到客戶端。
內(nèi)存限制。在我的上一份工作中,數(shù)據(jù)庫中有40MB的PDF,并在日志文件中不斷獲取Java OutOfMemoryErrors。最終,我們認識到整個80MB PDF不僅被讀入了堆,而且由于休眠ORM中的設(shè)置而被讀入了TWICE(如果一個對象是可變的,它會在內(nèi)存中進行編輯)。將PDF流式傳輸回用戶后,便清理了堆,但一次僅從流中提取80MB只是用于流式傳輸文檔,這是一個很大的打擊。了解您的代碼以及如何使用內(nèi)存!
您的Web服務器應該能夠處理您的大多數(shù)安全問題,但是如果文檔很小并且DB尚未承受很大的負載,那么將它們放入DB中并沒有太大的問題。
- 3 回答
- 0 關(guān)注
- 1057 瀏覽
添加回答
舉報