2016-06-14 109 views
1

我有一個Azure雲服務,它需要訪問(讀取)成千上萬的小二進制文件並對其執行一些計算。這裏的關鍵要求是速度 - 它需要儘可能快。我嘗試使用Azure blob存儲來保存這些文件,但訪問速度太慢,所以目前我將這些文件保存在Azure雲服務本地存儲本身中。這並不理想,因爲我們不應該在VM中存儲狀態 - 持久性無法保證,並且不能跨VM實例共享。我的Azure雲服務存儲文件應該放在哪裏?

我閱讀了關於Azure高級存儲(可連接到VM的SSD驅動器)。這在理論上看起來很理想,但我看不出有什麼方法可以將其添加到雲服務中。

所以,我的問題是:

  1. 有沒有辦法來Azure的高級存儲SSD磁盤添加到雲服務 或者只能被添加到Azure的VM?
  2. 鑑於我需要從 雲服務中快速讀取數千個小型二進制文件,有沒有其他存儲機制可以嘗試?
+0

是否需要使用CS而不是VM? –

+1

更改您的代碼以適應雲的編程模型,請勿嘗試使雲作爲本地服務器工作。如果你想處理事件,你應該使用事件中心和/或流分析。 Blob存儲擴展到很多文件,但試圖處理很多小文件並不是最優的 - 你最終爲實際加載數據支付更多的網絡往返費用。將多個消息批量轉換爲更大的文件。像Hadoop這樣的大數據解決方案喜歡大文件,但討厭很多小文件 - 你不能劃分一個小文件 –

回答

0

根據您的要求,您可以使用Redis的: https://azure.microsoft.com/en-us/services/cache/

它的速度非常快,並存儲在Redis的服務器上的數據可以在多個虛擬機實例共享。

Redis是一個鍵值對存儲,因此您可以使用文件的「路徑」作爲鍵和其內容作爲值。

爲了最大限度地降低成本,請確保將Redis服務器定位在與您的服務相同的區域/資源組中。

相關問題