淺談Windows Azure 存儲服務

  咱們如今正處於一個數據爆炸的年代,大數據、開放數據炒的如火如荼,代表數據給咱們帶來了不可估量的價值。數據庫

    對於企業來講,保存、管理和維護數據已經成爲一項重要的挑戰。大量存儲設備的採購、部署、數據規模的不斷增加,對於須要爲其數據使用可伸縮的、持久的且具備高可用性的存儲的應用程序,雲計算使其有了新的方案可供選擇,這正是 Microsoft 開發 Azure 存儲服務的緣由。api

  Azure存儲服務包括Blob存儲、表存儲、隊列存儲和文件存儲。這些服務都包含在每一個存儲帳戶中。緩存

那麼存儲帳戶是一個惟一的命名空間,它授予你對Azure存儲服務的訪問權限,每一個存儲帳戶可容納200TB的數據。一個訂閱最多支持50個存儲帳戶,也就是說你能夠存儲和處理PB級別的數據。安全

下圖顯示了存儲賬戶中各類 Azure 存儲資源之間的關係:服務器

咱們再來看看各個存儲之間的區別網絡


Blob 存儲


對於有大量非結構化數據要存儲在雲中的用戶,Blob 存儲提供了一種經濟高效且可伸縮的解決方案。你可使用 Blob 存儲來存儲以下內容:異步

  • 文檔ide

  • 社交數據,例如照片、視頻、音樂和博客工具

  • 文件、計算機、數據庫和設備的備份大數據

  • Web 應用程序的圖像和文本

  • 雲應用程序的配置數據

  • 大數據,例如日誌和其餘大型數據集

    每一個 Blob 都組織到一個容器中。容器還提供了一種有用的方式來向對象組分配安全策略。一個存儲賬戶能夠包含任意數目的容器,一個容器能夠包含任意數目的 Blob,直至達到存儲賬戶的容量限制 500 TB。

   而Blob存儲提供兩種類型的存儲服務:Block Blob和Page Blob,而二者又有什麼區別呢?


Azure Block Blob


  1. Azure Block Blob概念相似網盤,能夠直接存放圖片、文件、照片等二進制文件,而且能夠直接被客戶端經過http://或者https://訪問

  2. 使用Azure Block Blob不須要建立任何Azure Virtual Machine,直接能夠訪問使用

  3. Block Blob單個文件最大容量200GB

  4. Block Blob單個文件最大帶寬60MB/S

  5. Block Blob支持文件從客戶端分塊上傳(每塊最大4MB)


Azure Page Blob


  1. Page Blob就是VHD文件

  2. VHD裏的文件必須依賴於Azure Virtual Machine才能被訪問,好比Tomcate, IIS, FTP等

  3. 在沒有Azure Virtual Machine的狀況下,VHD裏的文件不能直接被http://或者https://訪問

  4. VHD大小最大爲1TB (這也是爲何咱們在虛擬機裏附加磁盤最大容量爲1023GB)

  5. 一臺VM能掛載的VHD數量是有限的,8 Core CPU的VM最多能掛載16塊,每塊1TB的VHD

  6. 每塊VHD的最大IOPS爲500

     另外1個Azure Storage Account MAX IOPS爲2萬,考慮到每塊VHD的MAX IOPS爲500,則一個Storage Account最多容納40個VHD。

     若是把總數超過40個的VHD放在同一個存儲帳號裏,則會由於單個存儲帳號2萬個IOPS的限制,致使VHD的IOPS嚴重降低,甚至沒法正常運行


表存儲


      表存儲是 Microsoft 的 NoSQL 鍵/屬性存儲 - 它具備無模式的設計,使其不一樣於傳統的關係數據庫。採用無模式的數據存儲,能夠很容易地隨着你的應用程序需求的發展使數據適應存儲。

      所謂的"鍵-屬性"存儲,就是表中的每一個值都是隨所鍵入的一個屬性名稱存儲的。屬性名稱能夠篩選和指定選擇條件。屬性集合及其值構成了實體。由於表存儲是無模式的,所以同一表中的兩個實體能夠包含不一樣的屬性集合,而且這些屬性能夠屬於不一樣的類型。

      你可使用表存儲來存儲靈活的數據集,例如 Web 應用程序的用戶數據、通信簿、設備信息,以及你的服務須要的任何其餘類型的元數據。你能夠在一個表中存儲任意數目的實體,而且一個存儲賬戶能夠包含任意數目的表,直至達到存儲賬戶的容量限制 200 TB。

       像 Blob 和隊列同樣,開發人員可使用標準 REST 協議來管理和訪問表存儲,不過,表存儲還支持 OData 協議的一個子集,這簡化了高級查詢功能並支持 JSON 和 AtomPub(基於 XML)格式


隊列存儲


       在 設計應用程序以實現可伸縮性時,一般要將各個應用程序組件分離,使其能夠獨立地進行伸縮。隊列存儲爲在應用程序組件之間進行異步通訊提供了一種可靠的消息傳送解決方案,不管這些應用程序組件是在雲中、在桌面上、在本地服務器上運行仍是在移動設備上運行。隊列存儲還支持管理異步任務以及構建過程工做流。

       一個存儲賬戶能夠包含任意數目的隊列。一個隊列能夠包含任意數目的消息,直至達到存儲賬戶的容量限制 200 TB。每條消息最大能夠爲 64 KB。


對 Blob、表、隊列和文件資源的訪問


      默認狀況下,只有存儲賬戶全部者能夠訪問存儲賬戶中的資源。爲保證你的數據的安全性,對你賬戶中的資源發出的每一個請求都必須進行身份驗證。身份驗證依賴於一個共享密鑰模型。還能夠將 Blob 配置爲支持異步身份驗證。

       在建立你的存儲賬戶時爲其分配了兩個用於身份驗證的私有訪問密鑰。設置兩個密鑰能夠確保你的應用程序在你按期從新生成密鑰(這是一種經常使用的安全密鑰管理作法)時仍然保持可用。

       若是你不須要爲你的存儲資源實施用戶受控訪問,則能夠建立一個共享訪問簽名。共享訪問簽名是一個能夠附加到 URL 的令牌,能夠實現對容器、Blob、表或隊列的委託訪問。持有令牌的任何人均可以在令牌有效期間使用它指定的權限訪問它指向的資源。請注意,當前不支持 Azure 文件存儲共享訪問簽名。

        最後,你能夠指定一個容器及其 Blob 或某個特定的 Blob 可供公開訪問。當你指定某個容器或 Blob 爲公用的時,任何人均可以匿名讀取它,不須要進行身份驗證。公用容器和 Blob 很是適用於公開在網站上託管的資源,例如媒體和文檔。若要下降全球受衆的網絡延遲,你能夠經過 Azure CDN 來緩存網站使用的 Blob 數據。


可靠的數據持久性和高可用性


在冗餘方面,Windows Azure 提供了存儲的三個冗餘級別:

  • 本地冗餘存儲 (LRS):Windows Azure 在一個區域內維護數據的多個副本以提供高持久性。

  • 地域冗餘存儲 (GRS):Windows Azure 經過在同一地域內相隔數百英里的兩個區域之間進行復制來異步提供額外的數據持久性。在兩個區域中,Windows Azure 維護數據的多個副本。

  • 讀取訪問地域冗餘存儲 (RA-GRS):除了地域冗餘的存儲服務外,Windows Azure 提供對輔助區域(它具備主存儲系統中數據的最終一致的版本)中存儲帳戶的只讀訪問。當主區域中的存儲帳戶不可用時,客戶可使用此服務訪問其數據。


那對於 Windows Azure 存儲服務的數據冗餘是如何保障的?


       Windows Azure 提供了異地冗餘。中國北京及上海兩個數據中心是有獨佔 10G 以上帶寬相連。數據儲存方面,Azure 支持兩種模式:

       同一數據中心的文件冗餘,即在同一個數據中心文件進行三重備份。

不一樣數據中心的異地冗餘,文件在異地數據中心也進行三重冗餘,這樣在兩個不一樣           的數據中心一共有 6 重備份。

       舉個例子,用戶向位於上海的 Windows Azure 數據中心上傳了一份文件,同時開啓了異地冗餘。首先該用戶的文件會在上海的數據中心進行三重備份;同時,Windows Azure 會利用上海和北京之間的專線,異步的在北京的數據中心也進行三重備份。在某些極端的狀況下,假設上海的數據中心由於地震、戰爭、洪水等緣由徹底宕機了,該用戶的文件還能安全的保存在北京的數據中心,不會丟失。




快速的經過Windows Azure 門戶建立和管理存儲帳戶


進入Azure的管理門戶,點擊新建>數據服務>存儲>快速建立,輸入存儲帳戶的URL(惟一的),選擇地域冗餘或者其餘。

完成新建,在門戶中能夠看到建好的存儲帳戶

點擊剛纔建好的存儲帳戶,進入此存儲帳戶的快速啓動頁,能夠下載存儲資源管器及 Microsoft Azure SDK。

在門戶下方,點擊管理訪問密鑰

在出現的對話框,能夠看到有2個密鑰,咱們能夠進行從新生成或複製

在"監視"中,爲每項服務設置監視級別和數據保留策略:

  • 最少 - 收集通過彙總的有關 Blob、表和隊列服務的入口/出口、可用性、延 遲及成功百分比等度量值。

  • 詳細  除最少監視度量值外,在 Windows Azure 存儲服務 API 中爲每 項存儲操做收集一組相同的度量值。經過詳細監視度量值可對應用程序運行 期間出現的問題進行進一步分析。

  • 關閉 - 關閉監視。現有監視數據將一直保留到保留期結束。

若要設置數據保留策略,請在"保留期(天)"中,鍵入要保留數據的天數,範圍介於 1365 天之間。若是不須要設置保留策略,請輸入零。


勾選須要監控的日誌類型,而後點擊保存


在使用Windows Azure存儲服務時,咱們能夠藉助如下經常使用工具對存儲帳戶進行操做,這 些工具包括:


Azure Storage Explorer


      Azure Storage Explorer是一款免費的Azure存儲服務查看管理器,可用來查看Windows Azure 服務的各類存儲類型,好比表存儲,隊列存儲,Blob 存儲,而且對裏面的數據進行 查詢,刪除等操做。

      Azure Storage Explorer是一款開源軟件,其源代碼發佈在 http://azurestorageexplorer.codeplex.com/

      對於中國區用戶,如需下載適用於由世紀互聯運營的Windows Azure存儲服務的Azure Storage Explorer工具,請訪問: http://shaunstorage.blob.core.chinacloudapi.cn/share/AzureStorageExplorerCN.zip


AzCopy


       AzCopy 是一款用於操做 Windows Azure 存儲帳戶的命令行實用程序。該實用程序旨在 簡化和加速數據傳輸任務,使您能夠輕鬆將數據傳入或傳出 Windows Azure 存儲賬戶。 客戶能夠將其做爲獨立工具使用,也能夠

相關文章
相關標籤/搜索