fbpx
维基百科

Microsoft Azure 儲存體

Azure 儲存服務 (Azure Storage) 是 Microsoft Azure 平台內實作的資料儲存服務,目前為 Azure 平台服務的主要資料保存地。

Azure 儲存服務提供了四種不同格式的儲存體,用來提供給Azure上運行的應用程式儲存資料使用。依據不同的儲存格式會有不同的限制,因為這些儲存服務都是以分散式巨量儲存(Distributed Mass Storage)為核心概念所設計出來的,為了要達成快速在分散式儲存空間中儲存與管理資料(還包含高可用度的贅餘儲存管理),微軟有在資料的儲存上做一些限制。

不論是哪一種儲存服務,Azure都有REST API[1],並符合Simple Cloud的標準[2]

Azure 儲存服務提供 99.9% 的服務水準,而唯讀式備援的唯讀端 (備援端) 為 99.99%。

Blob 编辑

Blob (大型二進位物件)資料是用來儲存像是檔案,圖片,視訊檔,可執行檔,壓縮檔等二進位格式的檔案,基本上它的儲存單位就是檔案,為了要讓BLOB的功能應用更寬廣,微軟也在 Blob 服務上開發了內容傳遞網路(Content Delivery Network)的服務,讓 Blob 可以作為大容量的檔案或資料儲存與供應的地方,以支持類似YouTube這樣的大型Web應用程式的服務。

Blob 依照性質分為兩種:

  • Block Blob(區塊型 Blob 儲存體),這類的儲存以4MB為一個區塊單位 (可依需調整,範圍為 16KB~4MB),單一檔案最大可以儲存 200GB,且區塊不會連續儲存,可能會打散到不同的儲存伺服器中存放,當應用程式要求時,會依照檔案的Key以及區塊由儲存區提取資料。另外,區塊在儲存時會經過一道認可程序,以讓應用程式決定是否要重新傳送。
  • Page Blob(分頁型 Blob 儲存體),它會在儲存區中劃分一個連續的區域供應用程式存放資料,它本身可以視為一個大型的VHD(虛擬機器磁碟),在Page Blob 的資料寫入會直接認可。而基於Page Blob 的特性,微軟特別在Page Blob 上提供了一組將Page Blob 虛擬成磁碟的功能,稱為Azure Drive(研發代號為XDrive),它能夠支援NTFS API,也就是說應用程式可以利用現有的檔案管理API(包含System.IO的類別)來存取Azure Drive中的資料夾與檔案資料,並且這些資料會保存在Azure資料中心內。

Blob 服務由 Blob 本身以及其收納容器(Container)構成,容器可視為一般本機上的資料夾。而容器和 Blob 都支援額外的Metadata設定,這些Metadata會附掛在HTTP Header中傳輸給用戶端,每一個Metadata的大小限制為8KB。Blob 也支援權限管理的功能,透過Shared Access Signature可設定 Blob 或Container的存取權限與有效期限等。

private void EnsureContainerExists( {  var container = GetContainer();  container.CreateIfNotExist();  var permissions = container.GetPermissions();  permissions.PublicAccess = BlobContainerPublicAccessType.Container;  container.SetPermissions(permissions); } private CloudBlobContainer GetContainer() {  var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");  var client = account.CreateCloudBlobClient();  return client.GetContainerReference(RoleEnvironment.GetConfigurationSettingValue("ContainerName")); } 

Table 编辑

Table(表格)是給具結構化資料的應用程式儲存與管理的一種儲存服務,它在Azure儲存區中會以Key-Value鍵值對方式儲存,並且由Partition來切割在Azure儲存區的儲存位置,它實際的資料是XML,透過REST API呼叫時,會需要依據SDK上的說明,自行建置XML的要求與解析回應的資料,但若是.NET Framework的開發人員,在Azure SDK中提供的Microsoft.WindowsAzure.StorageClient命名空間就有提供輔助的API以及類別,將這件事在API中處理掉了。SDK提供的輔助組件所應用的技術是WCF Data Services,因此若對WCF Data Services熟悉的開發人員,會很容易的上手Table儲存的開發。

namespace TableExample {  public class Contact : TableServiceEntity  {  public string Name { get; set; }  public string Address { get; set; }  public string Phone { get; set; }  public string Cellphone { get; set; }  public Contact()  {  base.PartitionKey = "ContactTable";  base.RowKey = Guid.NewGuid().ToString();  }  } } 

雖然Table可以儲存結構化的資料,但它並不是關聯性資料庫,所以像是join,彙總函數等都無法使用,要由開發人員另外處理。

Queue 编辑

Queue(佇列)是一種先到先服務(First-Come, First-Serve),或稱為FIFO(先入先出)的儲存服務,它可以允許應用程式將訊息儲存到佇列中排隊,然後由負責處理的應用程式(通常是Worker)由佇列提取訊息並處理以後,將訊息由佇列中移除。訊息可以是字串或是最長8KB的二進位資料,佇列經常會作為跨執行個體通訊以及工作切割通知的訊息傳遞之用。

protected void cmdAddQueue_Clickobject sender, EventArgs e {  CloudStorageAccount account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString";  CloudQueueClient queueClient = account.CreateCloudQueueClient();  CloudQueue queue = queueClient.GetQueueReference("theaterseatorders");  queue.CreateIfNotExist();  queue.AddMessage(new CloudQueueMessage("SEATNUM=1-1,EMAIL=test@test.com"));  queue = null; } 

File 编辑

檔案服務是 Azure 近期 (2014) 才加入的新規資料儲存服務,它也是用來儲存二進位檔案,但它和 Blob 不同的是 Blob 是 Internet-facing (面向 Internet) 的檔案儲存服務,檔案服務則是給同一區域內的 Azure 服務 (如虛擬機器服務) 共享檔案資源的服務,它使用 SMB 2.1 (推出時) 與 SMB 3.0 (GA時) 網路芳鄰的方式簡化存取檔案的工作,同時也可以支援由資料中心外部的網路芳鄰連線。

備援 编辑

自v1.5版起的 Azure Storage 開始支援異地備援 (Geo-replication)的功能[3],只要應用程式將資料傳送到TABLE或BLOB儲存,Azure會自動將資料往鄰近的資料中心傳遞,以備援儲存服務,當主要的資料中心發生斷線或是無法提供服務時,Azure核心中的DNS Service會自動將要求導向到備援的資料中心繼續提供服務。

  • 異地備援所產生的網路與儲存成本由微軟自行吸收,不另計費。
  • 異地備援的工作是非同步且自動化,應用程式無需做任何修改。
  • 異地備援可以透過聯繫Windows Azure支援團隊的方式停用。

目前 Azure 儲存服務支援下列備援類型:

  • LRS (Local Redundant Service): 在區域內將資料產生三份複本儲存。
  • ZRS (Zone Redundant Service): 在區域內除了原本的三份複本之外,再額外產生三份複本,此模式只支援 Blob 格式。
  • GRS (Geo-Replication Service): 在已配對的資料中心間異地備援,兩邊都產生三份的複本。
  • RA-GRS (Read-Only Geo-Replication Service): 在已配對的資料中心間異地備援,但另一邊的儲存可讀取 (但唯讀)。

涼儲存 编辑

涼儲存 (Cool Storage) 是微軟在 Build 2016 研討會中所發表的新儲存功能,它可以將資料儲存在較持久的儲存裝置,並且利用資料保存技術將儲存成本壓低,以適用於長時間儲存又不需經常存取的資料 (經常存取的稱為熱資料),涼儲存僅適用於區塊式 Blob 儲存體 (Block Blob),每單位 GB 的儲存成本比一般儲存功能便宜約 50%,但由涼儲存將資料取出或存入時除本身的交易成本外,尚需要支付額外每 GB 單位的取出與寫入成本 (Data Retrival/Data Write),取出成本比寫入成本要高。

參考 编辑

  1. ^ Windows Azure Storage Service REST API References. [2016-03-17]. (原始内容于2016-11-13). 
  2. ^ Simple Cloud API. [2016-03-17]. (原始内容于2012-02-09). 
  3. ^ Inside Windows Azure storage: what's new and under the hood deep dive @ BUILD WINDOWS. [2016-03-17]. (原始内容于2020-11-27). 

microsoft, azure, 儲存體, azure, 儲存服務, azure, storage, microsoft, azure, 平台內實作的資料儲存服務, 目前為, azure, 平台服務的主要資料保存地, azure, 儲存服務提供了四種不同格式的儲存體, 用來提供給azure上運行的應用程式儲存資料使用, 依據不同的儲存格式會有不同的限制, 因為這些儲存服務都是以分散式巨量儲存, distributed, mass, storage, 為核心概念所設計出來的, 為了要達成快速在分散式儲存空間中儲存與. Azure 儲存服務 Azure Storage 是 Microsoft Azure 平台內實作的資料儲存服務 目前為 Azure 平台服務的主要資料保存地 Azure 儲存服務提供了四種不同格式的儲存體 用來提供給Azure上運行的應用程式儲存資料使用 依據不同的儲存格式會有不同的限制 因為這些儲存服務都是以分散式巨量儲存 Distributed Mass Storage 為核心概念所設計出來的 為了要達成快速在分散式儲存空間中儲存與管理資料 還包含高可用度的贅餘儲存管理 微軟有在資料的儲存上做一些限制 不論是哪一種儲存服務 Azure都有REST API 1 並符合Simple Cloud的標準 2 Azure 儲存服務提供 99 9 的服務水準 而唯讀式備援的唯讀端 備援端 為 99 99 目录 1 Blob 2 Table 3 Queue 4 File 5 備援 6 涼儲存 7 參考Blob 编辑Blob 大型二進位物件 資料是用來儲存像是檔案 圖片 視訊檔 可執行檔 壓縮檔等二進位格式的檔案 基本上它的儲存單位就是檔案 為了要讓BLOB的功能應用更寬廣 微軟也在 Blob 服務上開發了內容傳遞網路 Content Delivery Network 的服務 讓 Blob 可以作為大容量的檔案或資料儲存與供應的地方 以支持類似YouTube這樣的大型Web應用程式的服務 Blob 依照性質分為兩種 Block Blob 區塊型 Blob 儲存體 這類的儲存以4MB為一個區塊單位 可依需調整 範圍為 16KB 4MB 單一檔案最大可以儲存 200GB 且區塊不會連續儲存 可能會打散到不同的儲存伺服器中存放 當應用程式要求時 會依照檔案的Key以及區塊由儲存區提取資料 另外 區塊在儲存時會經過一道認可程序 以讓應用程式決定是否要重新傳送 Page Blob 分頁型 Blob 儲存體 它會在儲存區中劃分一個連續的區域供應用程式存放資料 它本身可以視為一個大型的VHD 虛擬機器磁碟 在Page Blob 的資料寫入會直接認可 而基於Page Blob 的特性 微軟特別在Page Blob 上提供了一組將Page Blob 虛擬成磁碟的功能 稱為Azure Drive 研發代號為XDrive 它能夠支援NTFS API 也就是說應用程式可以利用現有的檔案管理API 包含System IO的類別 來存取Azure Drive中的資料夾與檔案資料 並且這些資料會保存在Azure資料中心內 Blob 服務由 Blob 本身以及其收納容器 Container 構成 容器可視為一般本機上的資料夾 而容器和 Blob 都支援額外的Metadata設定 這些Metadata會附掛在HTTP Header中傳輸給用戶端 每一個Metadata的大小限制為8KB Blob 也支援權限管理的功能 透過Shared Access Signature可設定 Blob 或Container的存取權限與有效期限等 private void EnsureContainerExists var container GetContainer container CreateIfNotExist var permissions container GetPermissions permissions PublicAccess BlobContainerPublicAccessType Container container SetPermissions permissions private CloudBlobContainer GetContainer var account CloudStorageAccount FromConfigurationSetting DataConnectionString var client account CreateCloudBlobClient return client GetContainerReference RoleEnvironment GetConfigurationSettingValue ContainerName Table 编辑Table 表格 是給具結構化資料的應用程式儲存與管理的一種儲存服務 它在Azure儲存區中會以Key Value鍵值對方式儲存 並且由Partition來切割在Azure儲存區的儲存位置 它實際的資料是XML 透過REST API呼叫時 會需要依據SDK上的說明 自行建置XML的要求與解析回應的資料 但若是 NET Framework的開發人員 在Azure SDK中提供的Microsoft WindowsAzure StorageClient命名空間就有提供輔助的API以及類別 將這件事在API中處理掉了 SDK提供的輔助組件所應用的技術是WCF Data Services 因此若對WCF Data Services熟悉的開發人員 會很容易的上手Table儲存的開發 namespace TableExample public class Contact TableServiceEntity public string Name get set public string Address get set public string Phone get set public string Cellphone get set public Contact base PartitionKey ContactTable base RowKey Guid NewGuid ToString 雖然Table可以儲存結構化的資料 但它並不是關聯性資料庫 所以像是join 彙總函數等都無法使用 要由開發人員另外處理 Queue 编辑Queue 佇列 是一種先到先服務 First Come First Serve 或稱為FIFO 先入先出 的儲存服務 它可以允許應用程式將訊息儲存到佇列中排隊 然後由負責處理的應用程式 通常是Worker 由佇列提取訊息並處理以後 將訊息由佇列中移除 訊息可以是字串或是最長8KB的二進位資料 佇列經常會作為跨執行個體通訊以及工作切割通知的訊息傳遞之用 protected void cmdAddQueue Click object sender EventArgs e CloudStorageAccount account CloudStorageAccount FromConfigurationSetting DataConnectionString CloudQueueClient queueClient account CreateCloudQueueClient CloudQueue queue queueClient GetQueueReference theaterseatorders queue CreateIfNotExist queue AddMessage new CloudQueueMessage SEATNUM 1 1 EMAIL test test com queue null File 编辑檔案服務是 Azure 近期 2014 才加入的新規資料儲存服務 它也是用來儲存二進位檔案 但它和 Blob 不同的是 Blob 是 Internet facing 面向 Internet 的檔案儲存服務 檔案服務則是給同一區域內的 Azure 服務 如虛擬機器服務 共享檔案資源的服務 它使用 SMB 2 1 推出時 與 SMB 3 0 GA時 網路芳鄰的方式簡化存取檔案的工作 同時也可以支援由資料中心外部的網路芳鄰連線 備援 编辑自v1 5版起的 Azure Storage 開始支援異地備援 Geo replication 的功能 3 只要應用程式將資料傳送到TABLE或BLOB儲存 Azure會自動將資料往鄰近的資料中心傳遞 以備援儲存服務 當主要的資料中心發生斷線或是無法提供服務時 Azure核心中的DNS Service會自動將要求導向到備援的資料中心繼續提供服務 異地備援所產生的網路與儲存成本由微軟自行吸收 不另計費 異地備援的工作是非同步且自動化 應用程式無需做任何修改 異地備援可以透過聯繫Windows Azure支援團隊的方式停用 目前 Azure 儲存服務支援下列備援類型 LRS Local Redundant Service 在區域內將資料產生三份複本儲存 ZRS Zone Redundant Service 在區域內除了原本的三份複本之外 再額外產生三份複本 此模式只支援 Blob 格式 GRS Geo Replication Service 在已配對的資料中心間異地備援 兩邊都產生三份的複本 RA GRS Read Only Geo Replication Service 在已配對的資料中心間異地備援 但另一邊的儲存可讀取 但唯讀 涼儲存 编辑涼儲存 Cool Storage 是微軟在 Build 2016 研討會中所發表的新儲存功能 它可以將資料儲存在較持久的儲存裝置 並且利用資料保存技術將儲存成本壓低 以適用於長時間儲存又不需經常存取的資料 經常存取的稱為熱資料 涼儲存僅適用於區塊式 Blob 儲存體 Block Blob 每單位 GB 的儲存成本比一般儲存功能便宜約 50 但由涼儲存將資料取出或存入時除本身的交易成本外 尚需要支付額外每 GB 單位的取出與寫入成本 Data Retrival Data Write 取出成本比寫入成本要高 參考 编辑 Windows Azure Storage Service REST API References 2016 03 17 原始内容存档于2016 11 13 Simple Cloud API 2016 03 17 原始内容存档于2012 02 09 Inside Windows Azure storage what s new and under the hood deep dive BUILD WINDOWS 2016 03 17 原始内容存档于2020 11 27 取自 https zh wikipedia org w index php title Microsoft Azure 儲存體 amp oldid 68536958, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。