MaxCompute提供湖倉一體2.0方案,允許使用者建立定義外部資料源中繼資料和資料訪問方式的管理對象,並通過外部Schema映射機制實現直接存取外部資料源Database或Schema範圍內的全部表的功能。該方案可以打破資料湖與資料倉儲割裂的體系,並融合資料湖的靈活性、豐富的多引擎生態與資料倉儲的企業級能力,助力構建資料湖和資料倉儲相融合的資料管理平台(本功能處於公測階段)。
概念說明
資料倉儲與資料湖對比
類別
能力
資料倉儲
更強調對進入數倉的結構化、半結構化資料的管理和約束,並依賴強管理能力,獲得更好的計算效能和更正常化的管理能力。
資料湖
更強調資料存放區的開放性和資料格式的通用性,支援多種引擎按需生產或消費資料,為保障靈活性只提供弱管理能力,可以相容非結構化資料,並支援後建Schema的使用方式,是一種更靈活的資料管理方式。
MaxCompute資料倉儲
MaxCompute是基於Serverless架構的雲原生資料倉儲。可以進行如下操作:
使用MaxCompute進行資料倉儲建模。
使用ETL工具將資料載入入有結構定義的模型表中並儲存。
使用標準的SQL引擎處理數倉中的海量資料,並通過Hologres OLAP引擎分析資料。
MaxCompute在資料湖上的使用情境和聯邦情境
在資料湖情境中,資料存在於湖上,並有多種引擎生產或消費這些開放的資料。MaxCompute計算引擎作為湖上引擎的一種,也可以參與資料的加工和使用。此時,MaxCompute需要讀取資料湖上遊產生的資料,相容多種主流開來源資料格式,在引擎內計算,並持續向工作流程下遊生產資料。
同時,MaxCompute作為安全、高效能和高性價比、匯聚了高價值資料的數倉,也需要能夠從資料湖上擷取中繼資料和資料,進行外部資料的引擎內計算,並與倉內資料做聯邦計算提取資料價值,向強管理的數倉匯聚。
除了在資料湖之上,MaxCompute作為數倉也需要擷取多種外部資料源的資料,例如Hadoop、Hologres等,與倉內資料做聯邦計算。在聯邦計算情境下,MaxCompute同樣需要支援讀取外部系統的中繼資料和資料。
MaxCompute湖倉一體2.0
MaxCompute湖倉一體2.0基於MaxCompute計算引擎,支援通過雲產品互連網絡訪問阿里雲中繼資料或儲存服務,或通過專線網路訪問VPC中的外部資料源,允許使用者建立定義外部資料源中繼資料和資料訪問方式的管理對象,並通過外部Schema映射外部資料源的Database或Schema,實現直接存取外部資料源Database或Schema範圍內的全部表的能力。

網路連接
詳情請參見訪問VPC方案(專線直連)中Networklink的相關說明。MaxCompute可以通過網路連接訪問VPC網路中的資料來源,例如EMR執行個體,RDS執行個體(準備中)。DLF(Data Lake Formation,資料湖構建)、OSS(Object Storage Service)和Hologres位於雲產品互連網絡中,MaxCompute無需設定網路連接對象Networklink即可直接存取其中的資料。
外部資料源(Foreign Server)
包含了中繼資料和資料訪問的資訊,同時包含訪問資料來源系統的身份認證資訊,位置資訊和連線協定說明等。外部資料源是租戶面的管理對象,由租用戶系統管理員定義。
在開啟了專案層級租戶資源存取控制功能模式下,由租用戶系統管理員將其掛載給使用外部資料源的專案,專案系統管理員再通過Policy將外部資料源的使用許可權授予專案內部的使用者。
外部Schema(External Schema)
外部Schema是MaxCompute數倉專案中一種特殊Schema,如上圖所示,可以映射資料來源的Database或Schema,並可直接存取對端Database或Schema範圍內的表和資料,這種通過外部Schema映射至對端資料庫的表被稱為聯邦外表。
聯邦外表在MaxCompute內不儲存中繼資料資訊,而是由MaxCompute通過外部資料來源物件中的中繼資料服務即時擷取。使用者查詢時無需在數倉中通過DDL語句建立外部表格,可直接以專案名稱和外部Schema名稱作為命名空間,引用資料來源原表名的方式進行操作。資料來源表結構或資料發生變化時,聯邦外表能夠即時反映資料來源表的最新狀態。外部Schema映射的資料來源層次由外部資料源定義的層次與資料來源中表層次之間的系統層次決定。外部資料源定義的層次由認證身份能訪問的資料來源層次決定。
外部項目(External Project)
在湖倉一體1.0中,外部項目是兩層模式,和外部Schema一樣映射一個資料來源的Database或Schema,且需要依賴一個數倉專案才可以讀取外部資料並計算。但是外部項目層級較高,映射資料來源Database或Schema會導致外部項目數量過多,且無法和三層模式的數倉專案共用,MaxCompute會逐步收斂湖倉一體1.0的外部項目,存量使用者可以遷移到外部Schema上。
在湖倉一體2.0中,使用者可以通過外部Schema承接湖倉一體1.0中外部項目的全部能力,外部項目直接映射對端三層模式資料來源Catalog或Database,並直接可見DLF Catalog之下的Database,或Hologres Database之下的Schema ,再以聯邦外表的方式訪問資料來源表。
資料來源類型
外部資料源層次
外部Schema映射層次
湖倉一體2.0外部項目映射層次
湖倉一體1.0外部項目(下線中)映射層次
認證方式
DLF+OSS
Region層級DLF服務和OSS服務
DLF的Catalog.Database
DLF的Catalog
DLF的Catalog.Database
RAMRole
Hive+HDFS
EMR執行個體
Hive的Database
不支援
Hive的Database
免認證方式
Hologres
Hologres執行個體的Database
Schema
Database
不支援
RAMRole
說明不同資料來源的認證方式有多種類型,MaxCompute會在後續版本逐步提供多種認證方式,例如訪問Hologres使用目前使用者身份方式、訪問Hive使用Kerberos認證方式等。