2011-07-24 48 views
3

我正在爲文件(圖像,文檔等)下載設計一個servlet(或在Struts2中的操作)。 但我想知道哪個是更好的方法來保持文件在文件系統上,並在數據庫中只保留文件的路徑或保留在數據庫中的文件像BLOBs。 我知道,當我在數據庫上查詢數據庫blob的速度較慢時, 但是如果我保留在數據庫中這將更容易備份數據並保證一致性。 有什麼建議嗎?在文件系統上的文件保存VS在數據庫中

+1

這是經常在SO上討論的。我發現大多數意見都是在文件系統上保存文件,將數據保存在數據庫中。 – Randy

+1

@Randy它的名字是正確的:**數據**基地和**文件**系統;) – Jacob

回答

2

我從來沒有使用BLOB。例如。我只是將用戶上傳的照片正常存儲在目錄中。我沒有看到使用BLOB存儲文件的很多理由。你說備份可能更容易 - 相反,這可能會變得非常有問題,至少在我們的情況下,因爲我們有很多GB的照片,但數據庫必須保持相當小以便能夠經常進行備份和與PHPMyAdmin。

2

我與存儲在磁盤上的數據,因爲一個重要的因素:性能。剩下的就是你的偏好。這是一個link與更好的比較。

+0

+1的鏈接,但我不同意他們對備份的結論,也就是我的答案。 – TMS

2

我認爲你給出了一個很好的解決方案:將文件本身存儲在文件系統中的數據庫引用。將媒體文件存儲在關係數據庫中並不會給您帶來很多好處,但會增加數據庫容量並降低性能(如@Amir Raminfar所述)。

這些日子的好方法可能是將文件存儲在key-value-store或所謂的NoSql數據庫中,例如卡桑德拉或雷迪斯。

相關問題