2011-03-29 105 views

回答

0

您還沒有給出任何關於您的問題的上下文,因此我將假定某種CMS基於Web的應用程序,因爲這是最常見的。

最常用於媒體的方法是將媒體文件存儲在磁盤上,並在數據庫中只放置元數據和某種文件ID。這使得管理數據庫變得更簡單(它只是它本來的大小的一小部分)並且爲文件提供服務更簡單和更快(尤其是對於更大的文件)。這種方法的缺點是文件通常不太安全,而且確保文件存儲和數據庫備份同步也很困難。

我們有一個VLE系統,它在本地存儲其媒體,並有一個Oracle後端來存儲其他數據。經過幾年的使用後,數據庫已經增長到40GB加上備份和日誌等,但文件存儲現在接近2TB。作爲DBA,我對這個選擇感到非常高興。雖然我可以在任何時候對數據庫進行完整的時間點恢復,但我不確定媒體文件是否屬實。 2Tb的SATA(文件存儲)SAN vs 2Tb +的光纖通道(數據庫)SAN也可以節省資金(請記住+,它可以加起來:對於Oracle來說,這意味着更多的重做,臨時RMAN備份等)。

我們還有一個小型CMS,用於處理主網站上的公司類型頁面。這使得其(大部分)媒體進入數據庫。這服務幾百頁,並有一個35Gb的Oracle數據庫。它足夠聰明,可以緩存所有內容,因此無需在數據庫內部隨時查找內容。這個重要應用程序的所有數據都在一個相當安全的地方。作爲DBA,我也很高興。雖然在這種情況下,CMS確實有一些修改的怪癖,有時會導致幾乎所有數據的新副本進行簡單的更改。這在數據庫中難以管理(重做,撤消,空間恢復等)。

選擇位置總是存在折衷。數據庫中的空間更加昂貴,但是如果您的應用程序證明它合適,那麼這可能是一個不錯的選擇。什麼是「最佳」取決於你在做什麼以及你對應用程序及其內容的重要性,安全性,成本和速度的感受。您還需要考慮管理和支持大型數據庫的開銷 - 許多DBA流程存在問題擴展。你對大文件系統的處理與小文件系統沒有多大區別。這在數據庫中並非如此。在40Gb級別,我們享受RMAN的夜間備份,三天在線,夜間一致的數據泵導出,5天在線,24小時閃回。這些都非常好,但在2TB我們不能擁有它們。

我已經給出了Oracle的觀點,但其中的大部分也適用於其他數據庫。

相關問題