2012-11-02 95 views
0

我們有一個相當大的解決方案,它使用FileStream在Sql Server 2008中存儲了大量圖像,視頻和文檔。我們已經開始遷移到使用的Windows Azure Blob存儲利用地域複製的,什麼不是,這將意味着改變VARBINARY(最大值)列相對URL,我們將與我們的custome子域,我們已經指向我們的存儲帳戶追加。在windows中存儲blob azure存儲其他數據,如數據庫中的內容類型

這一切工作正常,我們很高興在測試,但我們目前與varbinary數據存儲文件名,擴展名和contentType。

我的問題是,如果我們只是要去一個相對的網址,將有文件擴展名,如果需要我們需要存儲這些額外的數據?我們在辦公室進行辯論,並且共識似乎是保持簡單並存儲Url。

做什麼大多數人在這種情況下怎麼辦?存儲這個addiotnal數據有什麼用途/好處?

非常感謝您對此的看法,外部意見可能是所有這些都可以解決的。

回答

2

我傾向於保留有關Azure中存儲的文件的任何元數據,我認爲這些文件可能很有用,但與URI一起使用SQL。

什麼是'有用'?
這真的取決於你的場景。舉例來說,我覺得它有用(但從OPS /監控點)來存儲文件的大小對URI這樣我就可以方便快捷地查看文件存儲使用。我也存儲文件擴展名/內容類型。基本上,我嘗試在本地保存任何元數據能救我,否則不必真正去斷和交談天青,A)速度/性能和b),以儘量減少對API的命中#(並因此降低成本 - 只有真正如果你正在做很多點擊)

所以我知道,對於任何需要可能詳細文件的報告需求/ UI,我可以生成一些有用的元數據,而無需去Azure附近的任何地方。然後,只有在需要獲取文件時才真正觸摸Azure。

0

有兩件事情您可能會覺得有用:每個blob都有一個「content type」系統屬性,可以在上傳blob時進行設置(以後可以更改它)。另一件事是您可以用blob的鍵值對的形式指定自定義元數據。但是元數據不可搜索。因此,如果您想基於某些自定義屬性搜索blob,則最好將它們存儲在blob(SQL服務器)之外。元數據的另一件事是它的最大尺寸。如果我沒有弄錯,那麼有8 KB的限制。