2

快速的問題。我一直在閱讀大量關於azure blob/file/disk存儲選項的信息,並且我有一個如此簡單的存儲需求,以至於我對什麼是最佳選擇感到困惑。我正在閱讀的大部分信息都完全在我的頭上。Azure Blob vs文件與磁盤存儲

我希望有人能夠將視野範圍縮小到更合理的利弊集。我的情況如下:

我正在構建一個正在進行圖像處理的API。簡而言之,用戶通過特定的文本對特定圖像進行獲取請求,然後我的API對其進行處理並將圖像吐出。目前,我正在Azure模擬器上運行,因此圖像文件(大約3個PNG)將從本地路徑中拉出。我將很快部署到一個活的azure服務器,因此我將要將這些圖像文件存儲在某個位置(而不是將它們放入實際的應用程序文件中)。

我的理解到目前爲止,磁盤和文件選項將允許我保持我的代碼相對相同,仍然使用通用文件I/O加載圖像路徑。這些磁盤只允許數據訪問這個API正在運行的機器上,這很好,但我不知道是否有任何好處,讓硬盤有這種限制。 blob存儲將要求我改變這一點,但代碼不是很多,我不認爲這太難。

每個不同的選擇都有很多細節,所以我很難做出決定:對於我的情況,三者之間是否有明確的選擇?它是否歸結爲任何更容易?性能和成本是首要任務,那麼這些方面的優缺點是什麼?這確實需要能夠擴展到更多的圖像,但只能在一定程度上。我可以看到它在未來幾年內從3張圖像到10張圖像,而不是從3張到1000張。

+0

你要找的Blob存儲。文件和磁盤是增加一些功能的結構,不需要以簡單和約束爲代價。將來如果您需要縮小Blob存儲的限制範圍,則可以在多個帳戶之間分割圖像(例如,圖像a * -k *放在一個帳戶中,其餘圖像放在另一個帳戶中) –

回答

4

你的選擇是完全取決於你,但客觀:

  • Azure的文件存儲可以安裝爲SMB卷(讓你的應用程序的所有實例可以使用它)。注意:目前Web應用程序不支持這種功能 - 您只能通過API寫入文件共享,而不是通過連接的磁盤。 Azure文件存儲卷每個支持5TB,吞吐量最大。每股60MB /秒。它由Azure blob存儲支持(所以,與blob一樣耐用)。
  • Azure磁盤又是blob-backed(頁面斑點),每個磁盤高達1TB。每個磁盤可安裝到單個VM。吞吐量高於文件存儲(每個blob 60 /秒)。如果沒有自己的解決方案來同步數據,則無法在虛擬機之間共享。一旦安裝和格式化,就像任何其他本地文件一樣可訪問(例如,不對您的應用程序進行任何修改)
  • Azure blob:每個存儲帳戶最多500TB,每個塊blob可達到 200GB 4.77TB。通過REST API/SDK訪問,不可安裝爲磁盤/驅動器。在不修改應用的情況下,您需要確保將blob內容複製到本地磁盤以對內容執行操作(不能僅將blob作爲文件打開並進行修改)。

編輯,以反映較大的塊大小斑點,介紹2016年12月

+1

只需添加10GB的數據,它與你將採取的路線完全無關,只需使用最方便的一切。順便說一下,這是一個副本\粘貼?你如何在這個世界上設法輸入這麼快? – 4c74356b41

+0

如果OP擴展到多個實例並希望從任何實例訪問任何對象(使連接的磁盤不太可取),這是相關的,因爲它們與特定實例關聯。 –

+1

沒有複製粘貼 - 只是大量的咖啡。 :) –