描述 Azure 儲存體服務
Azure 儲存體平台包含下列資料服務:
- Azure Blob:適用於文字和二進位資料且可大幅調整的物件存放區。 也包含透過 Data Lake Storage Gen2 支援的大型資料分析。
- Azure 檔案儲存體:適用於雲端或內部部署的受控檔案共用。
- Azure 佇列:可在應用程式元件之間可靠傳訊的訊息存放區。
- Azure 磁碟:Azure VM 的區塊層級的存放磁碟區。
- Azure 資料表:結構化、非關聯式資料的 NoSQL 資料表選項。
Azure 儲存體的優點
Azure 儲存體為應用程式開發人員和 IT 專業人員提供下列優點:
- 持久與高可用性。 備援功能可在發生暫時性硬體故障時,確保您的資料安全無虞。 您也可以選擇在資料中心或地理區域間複寫資料,以便在發生地方性災難或天然災害時獲得額外保護。 以此方式複寫的資料,可在發生未預期的中斷時,保持高可用性。
- 安全。 所有寫入 Azure 帳戶儲存體的資料皆會由服務進行加密。 Azure 儲存體在存取您資料的人員控管上,提供更細微的控制。
- 可調整。 Azure 儲存體設計為可大幅調整,以符合現今應用程式的資料儲存和效能需求。
- 受控。 Azure 會為您處理硬體維護、更新和重大問題。
- 可存取。 您可以從世界各地透過 HTTP 或 HTTPS 存取 Azure 儲存體中的資料。 Microsoft 提供多種語言的 Azure 儲存體用戶端程式庫 (包含 .NET、Java、Node.js、Python、PHP、Ruby、Go 等) 和成熟的 REST API。 Azure 儲存體支援在 Azure PowerShell 或 Azure CLI 中使用指令碼。 而且在使用資料方面,Azure 入口網站和 Azure 儲存體總管提供簡易的視覺式解決方案。
Azure Blob
Azure Blob 儲存體是適用於雲端的物件儲存體解決方案。 其可儲存大量資料,例如文字或二進位資料。 Azure Blob 儲存體為非結構化,這表示可保留的資料類型並無限制。 Blob 儲存體可以管理數千個同時上傳、大量視訊資料、不斷成長的記錄檔,而且可以透過網際網路連線從任何地方連線。
Blob 不受限於常見的檔案格式。 一個 Blob 可包含幾 GB 的資料,包括從科學儀器中串流傳送的二進位資料、另一個應用程式的加密訊息,或是開發中應用程式的自訂格式資料。 與磁碟儲存體相比,Blob 儲存體的一個優勢是不需要開發人員考量或管理磁碟。 資料會以 Blob 的形式上傳,而 Azure 會負責處理實體儲存體需求。
Blob 儲存體是適合用於:
- 直接提供映像或文件給瀏覽器。
- 儲存檔案供分散式存取。
- 串流影片和音訊。
- 儲存資料以供備份和還原、災害復原和封存。
- 儲存資料供內部部署或 Azure 裝載服務進行分析。
存取 Blob 儲存體
Blob 儲存體中的物件可以透過 HTTP 或 HTTPS,從全世界各地存取。 使用者或用戶端應用程式可以透過 URL、Azure 儲存體 REST API、Azure PowerShell、Azure CLI 或 Azure 儲存體用戶端程式庫來存取 Blob。 儲存體用戶端程式庫有多種語言,包括 .NET、JAVA、Node.js、Python、PHP 和 Ruby。
Blob 儲存層
儲存在雲端的資料可能會呈指數型成長。 若要管理您不斷擴充的儲存體需求的成本,根據存取頻率和計劃性保留期來組織您的資料很有幫助。 儲存在雲端的資料可依據其在其存留時間內產生、處理及存取的方式,而有不同的處理方式。 有些資料在其存留期內會積極地存取及修改。 有些資料在其存留期的早期存取頻率很高,但存取頻率隨著資料老化而大幅下滑。 在雲端中,有些資料維持閒置狀態,且在儲存之後幾乎很少存取。 為了容納這些不同的存取需求,Azure 提供數個存取層,其可用以平衡儲存體成本與存取需求。
Azure 儲存體會為 Blob 儲存體提供不同的存取層,有助您以最符合成本效益的方式來儲存物件資料。 可用的存取層包括:
- 經常性存取層:已針對儲存經常存取的資料 (例如,網站的影像) 進行最佳化。
- 非經常性存取層:已針對不常存取且至少儲存 30 天的資料 (例如,客戶的發票) 進行最佳化。
- 極非經常性存取層:已針對不常存取且至少儲存 90 天的資料儲存進行最佳化。
- 封存存取層:適用於很少存取且至少儲存 180 天 (有彈性延遲需求) 的資料 (例如,長期備份)。
下列考量適用於不同的存取層:
- 只有經常性存取層、非經常性存取層和極非經常性存取可在帳戶層級設定。 封存存取層無法在帳戶層級使用。
- 經常性存取層、非經常性存取層、極非經常性存取層與封存層,可在上傳期間或上傳之後,於 Blob 層級設定。
- 非經常性存取層和極非經常性存取層中的資料可容忍稍低的可用性,但仍需要與經常存取之資料相同的高持久性、擷取延遲與輸送量特性。 為了降低儲存體成本,相較於經常性存取,非經常性存取層資料和非經常性存取層資料可以接受可用性較低的服務等級協定 (SLA) 與較高的存取成本這樣的權衡取捨。
- 封存儲存體會在離線時儲存資料,且提供的儲存體成本最低,但解除凍結與存取資料的成本也最高。
Azure 檔案
Azure 檔案儲存體提供雲端中完全受控的檔案共用,可透過業界標準伺服器訊息區 (SMB) 或網路檔案系統 (NFS) 通訊協定來存取。 雲端部署或內部部署可同時掛接 Azure 檔案儲存體檔案共用。 您可以從 Windows、Linux 和 macOS 用戶端存取 SMB Azure 檔案共用。 您可以從 Linux 或 macOS 用戶端存取 NFS Azure 檔案儲存體共用。 此外,透過 Azure 檔案同步可以在 Windows Server 上快取 SMB Azure 檔案共用,以便在資料的使用位置附近快速存取。
Azure 檔案儲存體主要優點:
- 共用存取:Azure 檔案共用支援業界標準 SMB 與 NFS 通訊協定,這表示您可以順暢地使用 Azure 檔案共用取代內部部署檔案共用,而不需擔心應用程式相容性。
- 完全受控:不需要管理硬體或 OS 就可以建立 Azure 檔案共用。 這表示您不必透過重大安全性升級或替換故障硬碟來處理修補伺服器作業系統。
- 指令碼和工具:管理 Azure 應用程式時,可以使用 PowerShell Cmdlet 和 Azure CLI 來建立、掛接和管理 Azure 檔案共用。 您可以使用 Azure 入口網站和 Azure 儲存體總管來建立和管理 Azure 檔案共用。
- 復原:Azure 檔案儲存體已從頭建置,可供您隨時使用。 使用 Azure 檔案儲存體取代內部部署檔案共用,表示您不再需要在半夜被吵醒去處理本機電源中斷或網路問題。
- 熟悉的可程式性:Azure 中執行的應用程式可透過檔案系統 I/O API 來存取共用中的資料。 因此,開發人員可使用現有的程式碼和技能來移轉現有的應用程式。 除了系統 IO API,您也可以使用 Azure 儲存體用戶端程式庫或 Azure 儲存體的 REST API。
Azure 佇列
Azure 佇列儲存體是用來儲存大量訊息的服務。 儲存後,您可以使用 HTTP 或 HTTPS,透過經過驗證的呼叫,存取來自世界各地的訊息。 一個佇列可以包含您儲存體帳戶所能容納的訊息數量 (可能是數百萬個)。 每則個別訊息的大小可高達 64 KB。 佇列通常用來建立工作待辦項目,以非同步處理。
佇列儲存體可以與計算函式 (例如 Azure Functions) 結合,以在收到訊息時採取動作。 例如,您想要在客戶將表單上傳至您的網站之後執行動作。 您可以讓網站上的 [提交] 按鈕觸發一則訊息至佇列儲存體。 然後,您可以使用 Azure Functions,在收到訊息之後觸發動作。
Azure 磁碟
Azure 磁碟儲存體或 Azure 受控磁碟是 Azure 管理的區塊層級儲存體磁碟區,可與 Azure VM 搭配使用。 在概念上,它們與實體磁碟相同,但它們已虛擬化,提供比實體磁碟更高的復原能力和可用性。 使用受控磁碟,您所要做的就是佈建磁碟,Azure 將會負責執行剩餘的部分。
Azure 資料表
Azure 資料表儲存體可儲存大量的結構化資料。 Azure 資料表是一個 NoSQL 資料存放區,接受來自 Azure 雲端內外經過驗證的呼叫。 這可讓您使用 Azure 資料表來建置混合式或多雲端解決方案,並讓您的資料始終可供使用。 Azure 資料表很適合儲存結構化、非關聯式資料。