大資料引擎的現狀
在大資料計算和存儲領域,因不同業務場景、不同資料規模,誕生了很多适合處理不同需求的各類大資料引擎,比如計算引擎類有資料分析引擎Hive、互動式分析引擎Presto、疊代計算引擎spark以及流處理引擎Flink等,存儲類有日志存儲系統的SLS、分布式檔案系統HDFS等,這些引擎和系統很好的滿足了某一領域的業務需求,但也存在非常嚴重的資料孤島問題:在同一份資料上綜合使用這些系統,必然面臨着大量的ETL工作,而且更關鍵的是在目前各種公司業務鍊路上這種使用方式非常常見,同時因資料加工、轉儲産生的成本以及整體延時大大增加,業務決策時間也相應變長,解決這一問題的關鍵在于引擎中繼資料需要互通,隻有建構滿足各種引擎需求的資料湖統一進制資料服務視圖,才能實作資料共享,避免其中額外的ETL成本以及降低鍊路的延時。
資料湖中繼資料服務的設計
資料湖中繼資料服務的設計目标是能夠在大資料引擎、存儲多樣性的環境下,建構不同存儲系統、格式和不同計算引擎統一進制資料視圖,并具備統一的權限、中繼資料,且需要相容和擴充開源大資料生态中繼資料服務,支援自動擷取中繼資料,并達到一次管理多次使用的目的,這樣既能夠相容開源生态,也具備極大的易用性。另外中繼資料應該支援追溯、審計,這就要求資料湖統一進制資料服務具備以下能力和價值:
- 提供統一權限、中繼資料管理子產品:統一的權限/中繼資料管理子產品是各類引擎和存儲互通的基礎,不僅權限/中繼資料模型需要滿足業務對于權限隔離的需要,也需要能夠合理支援目前引擎的各種權限模型。
- 提供大規模中繼資料的存儲和服務能力,提升中繼資料服務能力極限,滿足超大資料規模和場景
- 提供存儲統一的中繼資料管理視圖:将各類存儲系統(對象、檔案、日志等系統)上資料進行結構化既能夠友善資料的管理,也因為有了統一進制資料,才能進行下一步的分析和處理。
- 支撐豐富的計算引擎:各類引擎,通過統一進制資料服務視圖通路和計算其中的資料,滿足不同的場景需求。比如PAI/MaxCompute/Hive等可以在同一份OSS資料上進行計算和分析。通過引擎支撐的多樣化,業務場景将越來容易進行場景轉換和使用。
- 中繼資料操作的追溯/審計
- 中繼資料自動發現和收集能力:通過對檔案存儲的目錄/檔案/檔案格式的自動感覺,自動建立和維護中繼資料的一緻性,友善存儲資料的自動化維護和管理。
資料湖中繼資料服務的架構

中繼資料服務上層是引擎接入層
- 通過提供各種協定的SDK和插件,能夠靈活支撐各種引擎的對接,滿足引擎對于中繼資料服務的通路需要。并且通過中繼資料服務提供的視圖,對底層檔案系統進行分析和處理。
- 通過插件體系無縫相容EMR引擎,能夠使EMR全家桶開箱即用,使用者全程無感覺,即可體驗統一進制資料服務,避免原Mysql等存儲的可擴充性差的問題
中繼資料服務提供存儲視圖
通過對不同存儲格式/存儲目錄檔案的抽象,為引擎提供統一進制資料服務,同時能夠避免多引擎獨立使用中繼資料服務之間的不一緻性
中繼資料的管理和自動發現
中繼資料通過各種方式能夠靈活的、跨引擎管理中繼資料,既能使使用者友善的內建中繼資料服務、擴充中繼資料服務能力,也能夠降低管理成本。
- Web Console、Sdk、各類引擎用戶端和接口
1.相容開源生态引擎的各類資料庫/表/分區上的DDL操作。
2.提供多版本中繼資料管理/追溯的能力
3.通過中繼資料能力的開放,在ETL部分/開源工具部分将來也能通過各式插件進行對接,進一步完善整體生态
- 中繼資料自動發現
中繼資料自動發現能力是中繼資料管理能力的另一核心部分,能夠自動收集各處檔案系統散落的資料,極大了拓寬了統一進制資料服務的場景,節省了管理的代價和複雜性。這其中的能力包括
1.自動分析目錄層次,動态增量建立database/table/partition等中繼資料
2.自動分析檔案格式,對于各類格式比如正常文本格式及開源大資料格式parquet、orc等都進行了支援
中繼資料服務的未來
資料湖中繼資料服務為大資料而生,為互通生态而生,期望後續繼續完善其服務能力和支撐更多的大資料引擎,通過開放的服務能力、存儲能力、統一的權限及中繼資料管理能力,為客戶節省管理/人力/存儲等各項成本,實作客戶自己的業務價值。
更多資料湖技術相關的文章請點選:[阿裡雲重磅釋出雲原生資料湖體系
](
https://developer.aliyun.com/article/772298?spm=a2c6h.12873581.0.dArticle772298.28042b0fFZNGve&groupCode=datalakeformation)更多資料湖相關資訊交流請加入阿裡巴巴資料湖技術釘釘群