在 Azure 中選擇巨量資料儲存體技術

注意

2024 年 2 月 29 日 ,Azure Data Lake 儲存體 Gen1 即將淘汰。 如需詳細資訊,請參閱官方公告。 如果您使用 Azure Data Lake 儲存體 Gen1,請務必在該日期之前移轉至 Azure Data Lake 儲存體 Gen2。 若要瞭解如何,請參閱 使用 Azure 入口網站 將 Azure Data Lake 儲存體從 Gen1 遷移至 Gen2。

除非您已經有 Azure Data Lake 儲存體 Gen1 帳戶,否則您無法建立新的帳戶。

本主題比較巨量資料解決方案的資料儲存體選項,特別是大量資料擷取和批次處理的資料儲存體,而不是 分析資料存放區 或即時串流擷取。

在 Azure 中選擇資料儲存體時,有哪些選項?

視您的需求而定,有數個選項可用來將資料內嵌至 Azure。

檔案儲存體:

NoSQL 資料庫:

分析資料庫:

Azure 資料總管

Azure 儲存體 Blob

Azure 儲存體是受控儲存體服務,具有高可用性、安全、持久性、可調整性及備援性。 Microsoft 會負責維護,並為您處理重大問題。 Azure 儲存體是 Azure 提供的最普遍儲存體解決方案,因為可以使用的服務與工具數目。

您可以使用各種Azure 儲存體服務來儲存資料。 從許多資料來源儲存 Blob 的最彈性選項是 Blob 儲存體 。 Blob 基本上是檔案。 他們會儲存圖片、檔、HTML 檔案、虛擬硬碟(VHD)、巨量資料,例如記錄、資料庫備份,幾乎任何東西。 Blob 會儲存在類似于資料夾的容器中。 容器會提供一組 Blob 的群組。 儲存體帳戶可以包含不限數量的容器,而容器可以儲存無限制數目的 Blob。

Azure 儲存體是巨量資料和分析解決方案的絕佳選擇,因為其彈性、高可用性和低成本。 它針對不同的使用案例,提供經常性存取、非經常性存取和封存儲存層。 如需詳細資訊,請參閱 Azure Blob 儲存體:經常性存取、非經常性存取和封存儲存層

您可以從 Hadoop 存取 Azure Blob 儲存體(可透過 HDInsight 取得)。 HDInsight 可以使用 Azure 儲存體中的 Blob 容器做為叢集的預設檔案系統。 透過 WASB 驅動程式提供的 Hadoop 分散式檔案系統 (HDFS) 介面,HDInsight 中的完整元件集可以直接在儲存為 Blob 的結構化或非結構化資料上運作。 您也可以使用 Azure Synapse Analytics 的 PolyBase 功能來存取 Azure Blob 儲存體。

其他讓Azure 儲存體成為良好選擇的功能包括:

Azure Data Lake Storage Gen1

Azure Data Lake 儲存體 Gen1 是適用于巨量資料分析工作負載的全企業超大規模資料庫存放庫。 Data Lake 可讓您在單 一安全 位置擷取任何大小、類型和擷取速度的資料,以進行操作和探勘分析。

Azure Data Lake 儲存體 Gen1 不會對帳戶大小、檔案大小或可儲存在 Data Lake 中的資料量施加任何限制。 資料會藉由建立多個複本來永久儲存,而且資料可以儲存在 Data Lake 中的持續時間沒有限制。 除了製作多個檔案複本來防範任何非預期的失敗之外,Data Lake 也會將檔案的一部分分散到一些個別的儲存體伺服器上。 這可改善以平行方式讀取檔案以執行資料分析時的讀取輸送量。

您可以使用與 WebHDFS 相容的 REST API,從 Hadoop 存取 Azure Data Lake 儲存體 Gen1(可透過 HDInsight 取得)。 當您的個人或合併的檔案大小超過Azure 儲存體所支援的大小時,您可以考慮使用此選項作為Azure 儲存體的替代方案。 不過,使用 Azure Data Lake 儲存體 Gen1 作為 HDInsight 叢集的主要儲存體時,您應該遵循效能微調指導方針 ,並提供 Spark Hive MapReduce 的特定指導方針 。 此外,請務必檢查 Azure Data Lake 儲存體 Gen1 的區域 可用性 ,因為它不適用於與 HDInsight 叢集相同的區域,因為其不適用於與 Azure 儲存體 相同的區域。

Azure Data Lake 儲存體 Gen1 與 Azure Data Lake Analytics 結合,其設計目的是要針對儲存的資料啟用分析,並針對資料分析案例的效能進行調整。 Azure Data Lake 儲存體 Gen1 也可以使用其 PolyBase 功能透過 Azure Synapse 存取。

Azure Cosmos DB

Azure Cosmos DB 是 Microsoft 全球散發的多模型資料庫。 Azure Cosmos DB 保證全球第 99 個百分位數的單一位數毫秒延遲、提供多個定義完善的一致性模型來微調效能,並保證具有多路連接功能的高可用性。

Azure Cosmos DB 與架構無關。 它會自動編制所有資料的索引,而不需要您處理架構和索引管理。 它也是多模型,原生支援檔、索引鍵/值、圖形和資料行系列資料模型。

Azure Cosmos DB 功能:

HDInsight 上的 HBase

Apache HBase 是一個開放原始碼的 NoSQL 資料庫,建置在 Hadoop 上,並在 Google BigTable 之後建立模型。 HBase 針對由資料行系列組織之無架構資料庫中的大量非結構化和半結構化資料,提供隨機存取和強式一致性。

資料會儲存在資料表的資料列中,而資料列中的資料會依資料行系列分組。 HBase 在概念上是無架構的,因為資料行和儲存在資料行中的資料類型都不需要定義,才能使用它們。 開放原始碼程式碼會以線性方式調整,以處理數千個節點上數 PB 的資料。 它可以依賴 Hadoop 生態系統中分散式應用程式所提供的資料備援、批次處理和其他功能。

HDInsight 實 作會利用 HBase 的向外延展架構,提供資料表的自動分區化、讀取和寫入的強式一致性,以及自動容錯移轉。 記憶體內快取可增強寫入的讀取和高輸送量串流效能。 在大部分情況下,您會想要 在虛擬網路 內建立 HBase 叢集,讓其他 HDInsight 叢集和應用程式可以直接存取資料表。

Azure 資料總管

Azure 資料總 管是記錄和遙測資料的快速且高度可調整的資料探索服務。 它可協助您處理新式軟體發出的許多資料流程,以便收集、儲存和分析資料。 Azure 資料總管非常適合從任何資料來源分析大量資料,例如網站、應用程式、IoT 裝置等等。 此資料用於診斷、監視、報告、機器學習和其他分析功能。 Azure 資料總管可讓您輕鬆地內嵌此資料,並可讓您在數秒內對資料執行複雜的臨機操作查詢。

Azure 資料總管可以線性 地相應放大 ,以增加擷取和查詢處理輸送量。 Azure 資料總管叢集可以 部署到啟用私人網路的虛擬網絡

索引鍵選取準則

若要縮小選擇範圍,請從回答下列問題開始:

  • 您需要任何類型的文字或二進位資料的受控、高速、雲端式儲存體嗎? 如果是,請選取其中一個檔案儲存體或分析選項。

  • 您需要針對平行分析工作負載和高輸送量/IOPS 優化的檔案儲存體嗎? 如果是,請選擇已調整為分析工作負載效能的選項。

  • 您是否需要在無架構資料庫中儲存非結構化或半結構化資料? 如果是,請選取其中一個非關聯式或分析選項。 比較索引和資料庫模型的選項。 視您需要儲存的資料類型而定,主資料庫模型可能是最大的因素。

  • 您可以在您的區域中使用服務嗎? 檢查每個 Azure 服務的區域性可用性。 請參閱依區域提供的產品

功能矩陣

下表摘要說明功能的主要差異。

檔案儲存功能

功能 Azure Data Lake Storage Gen1 Azure Blob 儲存體容器
目的 巨量資料分析工作負載的優化儲存體 適用于各種儲存案例的一般用途物件存放區
使用案例 Batch、串流分析和機器學習資料,例如記錄檔、IoT 資料、按一下串流、大型資料集 任何類型的文字或二進位資料,例如應用程式後端、備份資料、串流媒體儲存體,以及一般用途資料
結構 階層式檔案系統 具有一般命名空間的物件存放區
驗證 根據 Microsoft Entra 身分識別 根據共用秘密 帳戶存取金鑰和 共用存取簽章金鑰 ,以及 Azure 角色型存取控制 (Azure RBAC)
驗證通訊協定 OAuth 2.0。 呼叫必須包含 Microsoft Entra ID 所簽發的有效 JWT (JSON Web 權杖) 雜湊式訊息驗證碼 (HMAC)。 呼叫必須包含 Base64 編碼的 SHA-256 雜湊,才能透過 HTTP 要求的一部分。
授權 POSIX 存取控制清單(ACL)。 根據 Microsoft Entra 身分識別的 ACL 可以設定檔案和資料夾層級。 針對帳戶層級授權,請使用 帳戶存取金鑰 。 針對帳戶、容器或 Blob 授權,請使用 共用存取簽章金鑰
稽核 [可用]。 可用的
待用加密 透明,伺服器端 透明,伺服器端;用戶端加密
開發人員 SDK .NET、JAVA、Python、Node.js .NET、JAVA、Python、Node.js、C++、Ruby
分析工作負載效能 平行分析工作負載、高輸送量和 IOPS 的優化效能 未針對分析工作負載進行優化
大小限制 帳戶大小、檔案大小或檔案數目沒有限制 這裡記載 的特定限制
異地備援 本地備援(LRS)、全域備援(GRS)、讀取權限全域備援(RA-GRS)、區域備援(ZRS)。 本地備援 (LRS), 全域備援 (GRS), 讀取存取全域備援 (RA-GRS), 區域備援 (ZRS) 。 詳細資訊請參閱 這裡

NoSQL 資料庫功能

功能 Azure Cosmos DB HDInsight 上的 HBase
主資料庫模型 檔存放區、圖形、索引鍵/值存放區、寬資料行存放區 寬資料行存放區
次要索引 No
SQL 語言支援 Yes 是 (使用 Phoenix JDBC 驅動程式)
一致性 強式、限定過期、會話、一致前置詞、最終 強式
原生 Azure Functions 整合 No
自動全域散發 任何 HBase 叢集複寫都無法 跨區域設定最終一致性
計價模式 視需要,彈性調整要求單位(RU)每秒收費,彈性可調整的儲存體 HDInsight 叢集的每分鐘定價(節點的水準調整),儲存體

分析資料庫功能

功能 Azure 資料總管
主資料庫模型 關聯式 (資料行存放區)、遙測和時間序列存放區
SQL 語言支援 Yes
計價模式 彈性調整的叢集實例
驗證 根據 Microsoft Entra 身分識別
待用加密 支援、客戶管理的金鑰
分析工作負載效能 平行分析工作負載的優化效能
大小限制 線性可調整

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

下一步