在 Azure 中選擇巨量資料儲存體技術
本文比較巨量資料解決方案的資料儲存體選項,具體來說是大量資料擷取和批次處理的資料儲存體,而非分析資料儲存區或即時串流擷取。
在 Azure 中選擇資料儲存體時,有哪些選項?
視您的需求而定,有數個選項可用來將資料內嵌至 Azure。
統一的邏輯資料湖:
檔案儲存體:
- Azure 儲存體 blob
- Azure Data Lake Storage Gen2 \(部分機器翻譯\)
NoSQL 資料庫:
分析資料庫:
Fabric 中的 OneLake
Fabric 中的 OneLake 是針對整個組織量身打造的統一且有邏輯的資料湖。 它可作為所有分析資料的中央中樞,並隨附於每個 Microsoft Fabric 租用戶中。 Fabric 中的 OneLake 是以 Data Lake Storage Gen2 為基礎而建置。
Fabric 中的 OneLake:
- 支援結構化和非結構化檔案類型。
- 以 Delta Parquet 格式儲存所有表格資料。
- 提供依預設控管之租用戶界限內的單一資料湖。
- 支援在租用戶內建立工作區,讓組織可以分發擁有權和存取原則。
- 支援建立各種資料項目,例如您可以從中存取資料的和倉儲。
Fabric 中的 OneLake 是擷取、轉換、即時深入解析和商業智慧視覺效果的常用儲存體位置。 它會集中處理各種 Fabric 服務,並儲存所有工作負載在 Fabric 中所使用的資料項目。 若要為您的 Fabric 工作負載選擇正確的資料儲存區,請參閱 Fabric 決策指南:選擇資料儲存區。
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 角色型存取控制 (RBAC) 使用 Microsoft Entra 使用者和群組來控制存取。
Data Lake Storage Gen2
Data Lake Storage Gen2 是單一的集中式存放庫,您可以在其中儲存所有資料 (結構化和非結構化)。 資料湖可讓您的組織快速且更輕鬆地在單一位置中儲存、存取及分析各種不同的資料。 使用資料湖時,您不需要使您的資料符合現有的結構。 相反地,您可以將資料以原始或原生格式儲存,通當儲存為檔案或二進位大型物件 (Blob)。
Data Lake Storage Gen2 包含 Azure Data Lake Storage Gen1 的功能和 Azure Blob 儲存體。 例如,Data Lake Storage Gen2 會提供檔案系統語法、檔案層級安全性和規模調整。 因為這些功能是基於 Blob 儲存體所建置,所以您也可以取得低成本的分層式儲存體,並具備高可用性/災害復原功能。
Data Lake Storage Gen2 讓 Azure 儲存體成為在 Azure 上打造企業 Data Lake 的基礎。 Data Lake Storage Gen2 從一開始就設計為服務數 PB 的資訊,同時可以維持數百 GB 的輸送量,可讓您輕鬆地管理大量資料。
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 資料總管叢集可部署到虛擬網路以啟用私人網路。
索引鍵選取準則
若要縮小選擇範圍,請從回答下列問題開始:
您是否需要具有多重雲端支援的統一資料湖、強固的控管,以及與分析工具的無縫整合? 如果是,請選擇 Fabric 中的 OneLake,以簡化資料管理和增強共同作業。
您需要任何類型的文字或二進位資料的受控、高速、雲端型儲存體嗎? 如果是,請選擇其中一個檔案儲存體或分析選項。
您需要具有最佳化平行分析工作負載和高輸送量/IOPS 的檔案儲存體嗎? 如果是,請選擇已微調為分析工作負載效能的選項。
您是否需要在無結構描述資料庫中儲存非結構化或半結構化資料? 如果是,請選取其中一個非關聯性或分析選項。 比較索引和資料庫模型的選項。 根據您需要儲存的資料類型,主資料庫模型可能是最大的因素。
您可以在您的區域中使用服務嗎? 檢查每個 Azure 服務的區域性可用性。 如需詳細資訊,請參閱依區域提供的產品。
功能對照表
下表摘要列出功能的主要差異。
Fabric 中的 OneLake 功能
功能 | Fabric 中的 OneLake |
---|---|
統一的資料湖 | 為整個組織提供單一的統一資料湖,可消除資料孤島。 |
多雲端支援 | 支援與各種雲端平台的整合和相容性。 |
資料控管 | 包含資料譜系、資料保護、認證和目錄整合等功能。 |
集中式資料中樞 | 作為資料探索和管理的集中式中樞。 |
分析引擎支援 | 與多個分析引擎相容。 此相容性可讓各種工具和技術在相同的資料上作業。 |
安全性與合規性 | 確保敏感資料保持安全,且只有授權的使用者才能存取。 |
容易使用 | 提供使用者易記的設計,自動可供每個 Fabric 租用戶使用,無需任何設定。 |
延展性 | 能夠處理來自各種來源的大量資料。 |
檔案儲存體功能
功能 | Data Lake Storage Gen2 | Azure Blob 儲存體容器 |
---|---|---|
目的 | 適用於巨量資料分析工作負載的最佳化儲存機制 | 適用於各種儲存體情境的通用物件儲存 |
使用案例 | Batch、串流分析和機器學習資料,例如紀錄檔案、IoT 資料、點擊串流、大型資料集 | 任何類型的文字或二進位資料,例如應用程式後端、備份資料、用於串流處理的媒體儲存體和通用資料 |
結構 | 階層式檔案系統 | 具有扁平命名空間的物件存放區 |
驗證 | 根據 Microsoft Entra 身分識別 | 根據共用的密碼帳戶存取金鑰和共用的存取簽章金鑰,以及 Azure 角色型存取控制 (Azure RBAC) |
驗證通訊協定 | 開啟授權 (OAuth) 2.0。 呼叫必須包含由 Microsoft Entra ID 發出的有效 JWT (JSON Web 權杖) | 雜湊式訊息驗證碼 (HMAC)。 呼叫必須包含透過 HTTP 要求之一部分的 Base64 編碼 SHA-256 雜湊。 |
授權 | 可移植作業系統介面 (POSIX) 存取控制清單 (ACL)。 根據 Microsoft Entra 身份識別的 ACL 可以設定為檔案和資料夾等級。 | 對於帳戶級授權,請使用 Account 存取金鑰。 對於帳戶、容器或 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)。 如需更多資訊,請參閱 Azure 儲存體備援。 |
NoSQL 資料庫功能
功能 | Azure Cosmos DB | HDInsight 上的 HBase |
---|---|---|
主資料庫模型 | 文件儲存區、圖形、鍵值儲存區、寬資料行儲存區 | 寬資料行儲存區 |
次要索引 | 是 | No |
SQL 語言支援 | Yes | 是 (使用 Phoenix JDBC 驅動程式) |
一致性 | 強制、限定過期、工作階段、一致前綴、最終 | 強式 |
原生 Azure Functions 整合 | 是 | No |
自動全域散發 | 是 | 無 HBase 叢集複製可以跨區域設定最終一致性 |
計價模式 | 視需要,彈性縮放每秒收費的要求單位 (RU) ,彈性可縮放的儲存體 | HDInsight 叢集的每分鐘定價 (節點的水平縮放),儲存體 |
分析資料庫功能
功能 | Azure 資料總管 |
---|---|
主資料庫模型 | 關係型 (資料行儲存區)、遙測,和時間序列儲存區 |
SQL 語言支援 | Yes |
計價模式 | 彈性可縮放的叢集執行個體 |
驗證 | 根據 Microsoft Entra 身分識別 |
待用加密 | 支援的客戶自控金鑰 |
分析工作負載效能 | 針對平行分析工作負載最佳化的效能 |
大小限制 | 線性可縮放 |
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- Zoiner Tejada | CEO 暨架構設計師