Azure Storage Account(存儲賬戶)包含所有Azure Storage的數據對象,包括Blob、Data Lake Gen2,File、Queue、Disk和Table等服務,該Storage Account為用戶的Azure Storage數據提供了唯一的命名空間,可以通過HTTP或HTTPS來訪問它。Azure Storage Account中的數據是持久的、高度可用的、安全的和可擴展的。
一,存儲賬戶的類型
Azure Storage提供了4種類型的存儲賬戶,每種類型都支持不同的功能,並具有自己的定價模型。
- General-purpose v2 accounts:基礎的存儲賬戶,用於Blob、Data Lake Gen2,File、Queue和Table等服務,最常用和最基礎的存儲賬戶。
- BlockBlobStorage accounts:具有高級性能特征的bock blob和 append blob。推薦用於高事務處理率、數據較小且低存儲延遲的場景種。
- FileStorage accounts:純文件的存儲賬戶
- BlobStorage accounts:舊版的Blob-Only的存儲賬戶,推薦使用General-purpose v2 accounts。
存儲賬戶的作用是為用戶在Azure中提供唯一的命名空間,存儲在Azure Storage中的任何對象都有唯一的地址,且都在唯一賬戶名下。賬戶名和Azure Storage Blog endpoint的組合構成了存儲賬戶中對象的基地址。
舉個例子,如果存儲賬戶的名稱是:mystorageaccount,默認的Blog storage的endpoint是:
http://mystorageaccount.blob.core.windows.net
1,存儲賬戶的端點
存儲賬戶為Azure中的數據提供了唯一的命名空間,使得存儲在Azure Storage中的每個對象都有一個唯一的地址,該地址包含在存儲賬戶名,也就是說,存儲賬戶和Azure 存儲服務的端點的組合構成在存儲賬戶中對象的基地址:
2, Access tier(訪問層)
Azure Storage根據使用模式的不同,提供了用於訪問block blob數據的不同選項。Azure Storage中的訪問層(Access Tier)都針對特定的數據使用模式進行了優化,通過選擇合適的訪問層,可以以最具成本效益的方式存儲Block Blob數據。
可用的訪問層:
- Hot:用於頻繁訪問存儲賬戶中的對象,在hot tier中,訪問數據最具有成本效益,而存儲數據的成本則較高。默認情況下,在hot tier中創建新的存儲賬戶。
- Cool:用於存儲不經常訪問,且存儲時間超過30天的大量數據。在Cool tier中存儲數據更具成本效益,而訪問數據的成本則較高。
- Archive:僅用於單個Block Blob,歸檔層可以忍受數小時的檢索延遲,並且數據在歸檔層中至少保留180天。歸檔層最適合存儲長時間訪問的數據,但是訪問數據是最慢的。
目前,只有 General-purpose V2 和 BlobStorage支持訪問層。
二,Blob存儲
Blob(Binary Large Object,二進制類型的大對象)存儲是Microsoft的雲對象存儲解決方案,Blob存儲經過優化,可存儲大量非結構化數據。 非結構化數據是不遵循特定數據模型或定義的數據,例如文本或二進制數據。
Blob存儲用於:
- 把圖像或文檔直接提供給瀏覽器
- 存儲文件以進行分布式訪問
- 流式傳輸視頻和音頻
- 寫入日志文件
- 存儲數據以進行備份和歡迎
- 存儲數據以on-premises方式進行分析,或Azure 托管服務。
1,Blob存儲的資源
Blob存儲提供三種資源:
- 存儲賬戶
- 存儲賬戶中的Container(容器)
- 容器中的Blob
2,容器(Container)
一個容器組織了一組Blob,類似於文件系統中的目錄(Directory),一個Storage Account可以包含無限數量的容器,一個容器可以存儲無線數量的Blob。
3,Blob
Azure Storage支持三種的Blob:
- Block blobs :用於存儲文本和二進制數據,塊Blob由可以單獨管理的數據塊構成。
- Append Blob:對追加操作進行優化的的Blob,特別適合用於記錄日志。
- Page blobs:存儲隨機訪問的文件,Page Blob存儲虛擬硬盤(Virtual Hard Drive,VHD)文件,並用作Azure VM的硬盤。
三,Azure Data Lake Storage Gen2存儲
Azure Data Lake Storage Gen2(簡稱二代Data Lake)是基於Azure Blob Storage構建的,具有Blob存儲的優點,例如,低成本的分層存儲(tiered storage),高可用性,強一致性和災難恢復能力等。它也提供了有層次結構的文件系統(hierarchical file system)。二代Data Lake的核心功能是數據存儲和數據查詢兩個部分,它已經集成於存儲賬號(Storage Account)的功能體系之中。
Azure Data Lake Storage Gen2:有層次結構的文件系統
“層次結構”和“文件系統”是反復被強調的Data Lake Storage Gen2的最大特點,也是它有別於傳統Blob對象存儲的最大不同。傳統對象存儲雖然從路徑上看起來也具有“目錄”的虛擬概念,但其實目錄通常並不實際存在,可認為僅是Blob對象路徑字符串中的一部分,因為對象存儲本質上是key-value形式的存儲。而ADLS這樣的“文件系統”級別的存儲能力上,目錄則是一等公民,可以設置訪問權限等元數據(並且能夠被子節點繼承),也可以使目錄重命名等操作變得十分便捷迅速。這樣的特性無疑使ADLS更適合作為企業數據湖這樣應用的存儲介質。
Data Lake Storage Gen2可以向Blob存儲中添加諷刺的名稱空間(hierarchical namespace),分層名稱空間把對象/文件組織到目錄的分層結構中,以實現高效的數據訪問,並使得文件的管理更加容易,通過目錄和子目錄來組織和操作文件。
在通常情況下,對象存儲的命名約定是使用名稱中的斜杠來模仿分層目錄結構,比如C:/dir/file.txt,這種結構在Data Lake Storage Gen2中變為現實。重命名或刪除目錄之類的操作將成為目錄上的單個原子元數據操作。無需枚舉和處理共享目錄名稱前綴的所有對象。
在Data Lake Storage Gen2服務中,創建一個容器victest,在容器中創建Folder,或者在容器中存儲file:
四,一個服務,多個概念
由於Data Lake Storage Gen2建立在Azure Blob存儲之上,因此多個概念可以描述相同的共享事物。
以下是等效實體,卻使用不同的概念來描述, 除非另有說明,否則這些實體直接是同義詞:
參考文檔: