Azure存儲(chǔ)提供了不同的訪問(wèn)層,允許你以最具成本效益的方式存儲(chǔ)Blob對(duì)象數(shù)據(jù)。可用的訪問(wèn)層包括:
熱:適用于存儲(chǔ)經(jīng)常訪問(wèn)的數(shù)據(jù)。
冷:適用于存儲(chǔ)不常訪問(wèn)且存儲(chǔ)時(shí)間至少為30天的數(shù)據(jù)。
存檔:適用于存儲(chǔ)極少訪問(wèn)、存儲(chǔ)時(shí)間至少為180天且延遲要求(以小時(shí)計(jì))不嚴(yán)格的數(shù)據(jù)。
以下注意事項(xiàng)適用于不同的訪問(wèn)層:
可以在上傳期間或之后在blob上設(shè)置訪問(wèn)層。
在帳戶(hù)級(jí)別只能設(shè)置熱和冷訪問(wèn)層。存檔訪問(wèn)層只能在blob級(jí)別設(shè)置。
冷訪問(wèn)層中的數(shù)據(jù)具有略低的可用性,但仍具有類(lèi)似于熱數(shù)據(jù)的高持久性、檢索延遲和吞吐量特征。與熱數(shù)據(jù)相比,冷數(shù)據(jù)的可用性略低且訪問(wèn)成本略高,這是可以接受的,因?yàn)楫吘蛊淇傮w存儲(chǔ)成本較低。有關(guān)詳細(xì)信息,請(qǐng)參閱存儲(chǔ)的SLA。
存檔訪問(wèn)層中的數(shù)據(jù)是脫機(jī)存儲(chǔ)的。存檔層的存儲(chǔ)成本最低,但訪問(wèn)成本和延遲最高。
數(shù)據(jù)存儲(chǔ)限制在帳戶(hù)級(jí)別設(shè)置,不按訪問(wèn)層設(shè)置。可以選擇在一個(gè)層中用完所有存儲(chǔ)配額,也可以分散用于三個(gè)層。
存儲(chǔ)在云中的數(shù)據(jù)以指數(shù)速度增長(zhǎng)。若要針對(duì)不斷增加的存儲(chǔ)需求來(lái)管理成本,可以根據(jù)屬性(如訪問(wèn)頻率和計(jì)劃保留期)整理數(shù)據(jù)以?xún)?yōu)化成本。存儲(chǔ)在云中的數(shù)據(jù)可能根據(jù)其生成方式、處理方式以及在生存期內(nèi)的訪問(wèn)方式而有所不同。某些數(shù)據(jù)在其整個(gè)生存期中都會(huì)受到積極的訪問(wèn)和修改。某些數(shù)據(jù)則在生存期早期會(huì)受到頻繁訪問(wèn),隨著數(shù)據(jù)變舊,訪問(wèn)會(huì)極大地減少。某些數(shù)據(jù)在云中保持空閑狀態(tài),并且在存儲(chǔ)后很少(如果有)被訪問(wèn)。
這些數(shù)據(jù)訪問(wèn)方案的每一個(gè)都受益于針對(duì)特定訪問(wèn)模式進(jìn)行了優(yōu)化的差異化訪問(wèn)層。Azure Blob存儲(chǔ)采用熱、冷和存檔訪問(wèn)層,通過(guò)單獨(dú)的定價(jià)模型來(lái)滿(mǎn)足對(duì)差異化訪問(wèn)層的這種需要。
以下工具和客戶(hù)端庫(kù)都支持blob級(jí)分層和存檔存儲(chǔ)。
Azure門(mén)戶(hù)
PowerShell
Azure CLI工具
.NET客戶(hù)端庫(kù)
Java客戶(hù)端庫(kù)
Python客戶(hù)端庫(kù)
Node.js客戶(hù)端庫(kù)
備注
本文中所述的功能現(xiàn)在可用于具有分層命名空間的帳戶(hù)。若要查看限制,請(qǐng)參閱Azure Data Lake Storage Gen2中可用的Blob存儲(chǔ)功能一文。
支持分層的存儲(chǔ)帳戶(hù)
Blob存儲(chǔ)和常規(guī)用途v2(GPv2)帳戶(hù)支持在熱層、冷層和存檔層之間將對(duì)象存儲(chǔ)數(shù)據(jù)分層。常規(guī)用途v1(GPv1)帳戶(hù)不支持分層。你可以通過(guò)Azure門(mén)戶(hù)輕松地將現(xiàn)有的GPv1或Blob存儲(chǔ)帳戶(hù)轉(zhuǎn)換為GPv2帳戶(hù)。GPv2為Blob、文件和隊(duì)列提供新的定價(jià)與功能。某些功能和價(jià)格折扣僅在GPv2帳戶(hù)中提供。某些工作負(fù)荷的價(jià)格在GPv2中可能比在GPv1中更高。有關(guān)詳細(xì)信息,請(qǐng)參閱Azure存儲(chǔ)帳戶(hù)概述。
Blob存儲(chǔ)和GPv2帳戶(hù)在帳戶(hù)級(jí)別公開(kāi)“訪問(wèn)層”屬性。使用此屬性可為未在對(duì)象級(jí)別顯式設(shè)置默認(rèn)訪問(wèn)層的任何blob指定默認(rèn)訪問(wèn)層。對(duì)于已顯式設(shè)置了層級(jí)的對(duì)象,不會(huì)應(yīng)用帳戶(hù)層。存檔層僅適用于對(duì)象級(jí)別??梢噪S時(shí)在訪問(wèn)層之間進(jìn)行切換。
請(qǐng)使用GPv2帳戶(hù)而非Blob存儲(chǔ)帳戶(hù)進(jìn)行分層。GPv2支持Blob存儲(chǔ)帳戶(hù)支持的所有功能,以及許多其他功能。Blob存儲(chǔ)和GPv2的定價(jià)幾乎相同,但某些新功能和價(jià)格折扣只提供給GPv2帳戶(hù)。
GPv1和GPv2帳戶(hù)的定價(jià)結(jié)構(gòu)不同,客戶(hù)在決定使用GPv2帳戶(hù)之前,應(yīng)仔細(xì)評(píng)估這二者。只需單擊一下,即可輕松地將現(xiàn)有的Blob存儲(chǔ)或GPv1帳戶(hù)轉(zhuǎn)換為GPv2帳戶(hù)。有關(guān)詳細(xì)信息,請(qǐng)參閱Azure存儲(chǔ)帳戶(hù)概述。
熱訪問(wèn)層
熱訪問(wèn)層的存儲(chǔ)成本高于冷存儲(chǔ)和存檔層,但訪問(wèn)成本最低。熱訪問(wèn)層的示例使用方案包括:
處于活躍使用狀態(tài)或預(yù)期會(huì)頻繁讀取和寫(xiě)入的數(shù)據(jù)。
分階段進(jìn)行處理并最終遷移至冷訪問(wèn)層的數(shù)據(jù)。
冷訪問(wèn)層
與熱存儲(chǔ)相比,冷訪問(wèn)層的存儲(chǔ)成本較低,訪問(wèn)成本較高。此層適用于將要保留在冷層中至少30天的數(shù)據(jù)。冷訪問(wèn)層的示例使用方案包括:
短期備份和災(zāi)難恢復(fù)
不經(jīng)常使用但在被訪問(wèn)時(shí)應(yīng)當(dāng)立即可用的較舊數(shù)據(jù)
需要經(jīng)濟(jì)高效地進(jìn)行存儲(chǔ)且要收集更多數(shù)據(jù)在將來(lái)進(jìn)行處理的大型數(shù)據(jù)集
存檔訪問(wèn)層
與熱層和冷層相比,存檔訪問(wèn)層的存儲(chǔ)成本最低,但數(shù)據(jù)檢索成本較高。存檔層中的數(shù)據(jù)必須至少保留180天,否則需要支付提前刪除費(fèi)。存檔層中數(shù)據(jù)的檢索可能需要幾個(gè)小時(shí),具體取決于指定的解除凍結(jié)優(yōu)先級(jí)。對(duì)于小型對(duì)象,優(yōu)先級(jí)高的解除凍結(jié)可能會(huì)在1小時(shí)內(nèi)從存檔中檢索到對(duì)象。若要了解詳細(xì)信息,請(qǐng)參閱從存檔層解凍Blob數(shù)據(jù)。
如果blob位于存檔存儲(chǔ)中,則blob數(shù)據(jù)處于脫機(jī)狀態(tài),不能讀取或修改。若要在存檔中讀取或下載Blob,必須首先將其解除凍結(jié)到聯(lián)機(jī)層。不能創(chuàng)建存檔存儲(chǔ)中Blob的快照。但是,Blob元數(shù)據(jù)會(huì)保持聯(lián)機(jī)和可用狀態(tài),因而可列出Blob、其屬性以及元數(shù)據(jù)。不允許設(shè)置或修改存檔中的blob元數(shù)據(jù)。對(duì)于存檔中的Blob,僅以下操作有效:獲取Blob屬性、獲取Blob元數(shù)據(jù)、列出Blob、設(shè)置Blob層、復(fù)制Blob和刪除Blob。
存檔訪問(wèn)層的示例使用方案包括:
長(zhǎng)期備份、輔助備份和存檔數(shù)據(jù)集
必須保留的原始數(shù)據(jù),即使它已處理成最終可用的形式
需要長(zhǎng)時(shí)間存儲(chǔ)并且?guī)缀醪辉L問(wèn)的合規(guī)性和存檔數(shù)據(jù)
帳戶(hù)級(jí)分層
所有三個(gè)訪問(wèn)層中的Blob可以在同一帳戶(hù)中共存。如果Blob沒(méi)有顯式分配的層,則會(huì)從帳戶(hù)訪問(wèn)層設(shè)置推斷相應(yīng)的層。如果訪問(wèn)層來(lái)自帳戶(hù),則你可以看到“推斷的訪問(wèn)層”Blob屬性已設(shè)置為“true”,而“訪問(wèn)層”Blob屬性與帳戶(hù)層匹配。在Azure門(mén)戶(hù)中,Blob訪問(wèn)層的“推斷訪問(wèn)層”屬性顯示為“熱(推斷)”或“冷(推斷)”。
更改帳戶(hù)訪問(wèn)層適用于帳戶(hù)中存儲(chǔ)的未設(shè)置顯式層的所有“推斷訪問(wèn)層”對(duì)象。如果將帳戶(hù)層從熱切換為冷,則只按GPv2帳戶(hù)中沒(méi)有設(shè)置層的所有Blob的寫(xiě)入操作次數(shù)(以10,000次為單位)收費(fèi)。不會(huì)在Blob存儲(chǔ)帳戶(hù)中對(duì)此更改收費(fèi)。如果在Blob存儲(chǔ)或GPv2帳戶(hù)中從冷切換為熱,則會(huì)按讀取操作次數(shù)(以10,000次為單位)和數(shù)據(jù)檢索量(以GB為單位)收費(fèi)。
只有熱訪問(wèn)層和冷訪問(wèn)層可以設(shè)置為默認(rèn)帳戶(hù)訪問(wèn)層。只能在對(duì)象級(jí)別設(shè)置存檔層。上傳blob時(shí),無(wú)論默認(rèn)帳戶(hù)層是哪個(gè),都可以將所選訪問(wèn)層指定為熱層、冷層或存檔層。使用此功能可以將數(shù)據(jù)直接寫(xiě)入存檔層,從而從在Blob存儲(chǔ)中創(chuàng)建數(shù)據(jù)的那一刻起就實(shí)現(xiàn)了節(jié)省成本。
Blob級(jí)別分層
有了Blob級(jí)別分層,就可以使用Put Blob或Put塊列表操作將數(shù)據(jù)上傳到所選的訪問(wèn)層,并使用設(shè)置Blob層操作或生命周期管理功能在對(duì)象級(jí)別更改數(shù)據(jù)的層。可以將數(shù)據(jù)上傳到所需的訪問(wèn)層,然后在使用模式更改時(shí)輕松地在熱、冷或存檔層之間更改Blob訪問(wèn)層,不需在帳戶(hù)之間移動(dòng)數(shù)據(jù)。所有層更改請(qǐng)求會(huì)立即發(fā)生,熱和冷之間的層更改是即時(shí)的。從存檔層中解除凍結(jié)Blob可能需要幾個(gè)小時(shí)。
上次Blob層更改的時(shí)間通過(guò)Blob屬性“訪問(wèn)層更改時(shí)間”公開(kāi)。覆蓋熱層或冷層中的blob時(shí),除非在創(chuàng)建時(shí)顯式設(shè)置了新的blob訪問(wèn)層,否則新創(chuàng)建的blob將繼承被覆蓋的blob的層的屬性。如果Blob位于存檔層中,則無(wú)法被覆蓋,因此在這種情況下,不允許上傳相同的Blob。
備注
存檔存儲(chǔ)和Blob級(jí)別分層僅支持塊Blob。
Blob生命周期管理
Blob存儲(chǔ)生命周期管理提供豐富的基于規(guī)則的策略,這些策略可用于將數(shù)據(jù)轉(zhuǎn)移到最適合的訪問(wèn)層,并在數(shù)據(jù)的生命周期結(jié)束時(shí)使數(shù)據(jù)過(guò)期。請(qǐng)參閱通過(guò)自動(dòng)執(zhí)行Azure Blob存儲(chǔ)訪問(wèn)層來(lái)優(yōu)化成本來(lái)了解詳細(xì)信息。
備注
存儲(chǔ)在塊Blob存儲(chǔ)帳戶(hù)(高級(jí)性能)中的數(shù)據(jù)目前無(wú)法使用設(shè)置Blob層或使用Azure Blob存儲(chǔ)生命周期管理分層到熱、冷或存檔訪問(wèn)層。若要移動(dòng)數(shù)據(jù),必須使用通過(guò)URL放置塊API或支持此API的AzCopy版本,將塊Blob存儲(chǔ)帳戶(hù)中的Blob同步復(fù)制到其他帳戶(hù)中的熱訪問(wèn)層。通過(guò)URL放置塊API同步復(fù)制服務(wù)器上的數(shù)據(jù),這意味著只有在所有數(shù)據(jù)都從原服務(wù)器位置移動(dòng)到目標(biāo)位置后,調(diào)用才會(huì)完成。
Blob級(jí)別分層計(jì)費(fèi)
在各個(gè)層之間上傳或移動(dòng)blob時(shí),系統(tǒng)會(huì)在上傳時(shí)或?qū)影l(fā)生更改時(shí)立即按相應(yīng)的費(fèi)率收費(fèi)。
將blob移到更冷的層(熱->冷、熱->存檔或冷->存檔)時(shí),操作按目標(biāo)層寫(xiě)入操作計(jì)費(fèi),具體說(shuō)來(lái)就是按目標(biāo)層的寫(xiě)入操作次數(shù)(以10,000次為單位)和數(shù)據(jù)寫(xiě)入量(以GB為單位)收費(fèi)。
將Blob移到更暖的層(存檔->冷、存檔->熱或冷->熱)時(shí),操作按從源層讀取計(jì)費(fèi),具體說(shuō)來(lái)就是按源層的讀取操作次數(shù)(以10,000次為單位)和數(shù)據(jù)檢索量(以GB為單位)收費(fèi)。也可能還會(huì)收取從冷層或存檔層移出的任何Blob的提前刪除費(fèi)用。將數(shù)據(jù)從存檔層中解除凍結(jié)需要一段時(shí)間,而數(shù)據(jù)會(huì)按存檔價(jià)格計(jì)費(fèi),直到將數(shù)據(jù)以聯(lián)機(jī)方式還原并將blob層更改為熱層或冷層為止。
下表總結(jié)了如何對(duì)層更改進(jìn)行計(jì)費(fèi)。
“冷”層和“存檔”層提前刪除
移到冷層(僅限GPv2帳戶(hù))中的Blob會(huì)有一個(gè)30天的冷層提前刪除期限。移到存檔層中的Blob會(huì)有一個(gè)180天的存檔提前刪除期限。此項(xiàng)費(fèi)用按比例計(jì)算。例如,如果將某個(gè)Blob移到存檔層,然后在45天后將其刪除或移到熱層,則需支付相當(dāng)于將該Blob存儲(chǔ)在存檔層中135(180減45)天的提前刪除費(fèi)用。
一些在冷層和存檔層之間移動(dòng)時(shí)的詳細(xì)信息:
如果根據(jù)存儲(chǔ)帳戶(hù)的默認(rèn)訪問(wèn)層將Blob推斷為冷層,并將Blob移動(dòng)到存檔層,則不會(huì)收取提前刪除費(fèi)用。
如果將Blob顯式移動(dòng)到冷層,然后將其移動(dòng)到存檔層,則將收取提前刪除費(fèi)用。
如果未發(fā)生訪問(wèn)層更改,請(qǐng)使用Blob屬性“Last-Modified”來(lái)計(jì)算提前刪除時(shí)間。否則,請(qǐng)通過(guò)查看Blob屬性(即“access-tier-change-time”)來(lái)使用最后一次將訪問(wèn)層修改為“冷”或“存檔”的時(shí)間。有關(guān)Blob屬性的詳細(xì)信息,請(qǐng)參閱獲取Blob屬性。
比較塊Blob存儲(chǔ)選項(xiàng)
下表對(duì)高級(jí)性能塊blob存儲(chǔ)與熱、冷、存檔訪問(wèn)層進(jìn)行了比較。
GPv2帳戶(hù)冷層中的對(duì)象的最短保留期為30天。Blob存儲(chǔ)帳戶(hù)的冷層沒(méi)有最短保留期。
存檔存儲(chǔ)目前支持兩種解除凍結(jié)優(yōu)先級(jí):“高”和“標(biāo)準(zhǔn)”,它們帶來(lái)不同的檢索延遲和成本。有關(guān)詳細(xì)信息,請(qǐng)參閱從存檔層解凍Blob數(shù)據(jù)。
備注
Blob存儲(chǔ)帳戶(hù)支持與常規(guī)用途v2存儲(chǔ)帳戶(hù)相同的性能和可伸縮性目標(biāo)。有關(guān)詳細(xì)信息,請(qǐng)參閱Blob存儲(chǔ)可伸縮性和性能目標(biāo)。