2011-02-01 49 views
1

我維護一個Web應用程序(ASP.NET/IIS7/SQL2K8/Win2K8),它需要訪問文檔,實際上有數十萬個文檔,並且正在增長。目前,它們都在Windows 2K8服務器文件共享中,由UNC路徑(SMB)訪問。這些文件位於一個單一的平面目錄中,我正試圖規劃如何最佳地改進此解決方案。我不想使用SQL Filestream屬性,因爲將它全部移植到SQL Server文件中並且真正鎖定到SQL Server是非常重要的工作。我還需要找到一種方法來複制數據以進行災難恢復,所以也許解決方案也可以爲此提供幫助。如何縮放文檔存儲系統?

選項可能是:

  • 段文件到多個目錄?
    • 應用會(通過其他方式或段),增加對哪個目錄是元數據
  • 段文件到不同的服務器? (虛擬化)
    • 備份變得更加複雜。
    • 應用將增加對這些服務器是在
  • NAS存儲
  • SAN存儲
  • 將服務(WCF)中的文件前的元數據,並有應用聊到服務
    • 獎金可再利用的在多種應用中

假設我要存儲在文件系統上而不是數據庫中(我已經閱讀過這些文件),這將是一個更具可擴展性的解決方案?

回答

1

你有幾個問題: - 管理大量的(?靜態)文件 - 準備備份和災難恢復的文件說

我會扔了這一點,在那裏,即使我我不是這個答案的粉絲,但是你可能會嘲笑服務器2k8附帶的免費SharePoint 2010 Foundation。如果您在查找需要的文檔時遇到問題(通過搜索,分類標籤或其他元數據)以及文檔到期,並且您不想購買完整的文檔管理系統,這可能是一個解決方案。當然,它引入了新的問題...

如果你唯一的願望是讓這些文件可以在網上吐出來,那麼你現在使用的文件存儲真的是最簡單的解決方案。對於DR /冗餘的目的,我會看a)在某種RAID/SAN上運行它們,並且b)自動與雲(無論是天藍色還是亞馬遜)同步它們。對於b),您可以獲取使雲看起來像映射驅動器的應用程序,然後使用rsync類型軟件保持雲更新。

如果你想建立一些新的和酷的東西,你可能會考慮將整個文件存檔移動到雲中,並在數據庫中編寫一個表來管理文件名,舊位置,新的雲位置和重定向器代碼可以向請​​求者提供訪問令牌。

3種不同的方法......您的選擇。

+0

感謝您的回答!我似乎一次又一次地回到雲選擇,所以這是一定要看的。簡單是我書中的關鍵,所以可能沒有SharePoint,但這是我沒有考慮過的。對於亞馬遜,你有任何喜歡同步軟件?我記得看過幾個,但大多數聲稱「不是爲了同步那麼多文件而構建的」或類似的東西。 – RyanW 2011-02-01 19:25:03