数据湖元数据服务的实现和挑战
簡介:?數(shù)據(jù)湖元數(shù)據(jù)服務(wù)為大數(shù)據(jù)而生,為互通生態(tài)而生,期望后續(xù)繼續(xù)完善其服務(wù)能力和支撐更多的大數(shù)據(jù)引擎,通過開放的服務(wù)能力、存儲能力、統(tǒng)一的權(quán)限及元數(shù)據(jù)管理能力,為客戶節(jié)省管理/人力/存儲等各項成本,實現(xiàn)客戶自己的業(yè)務(wù)價值。
大數(shù)據(jù)引擎的現(xiàn)狀
在大數(shù)據(jù)計算和存儲領(lǐng)域,因不同業(yè)務(wù)場景、不同數(shù)據(jù)規(guī)模,誕生了很多適合處理不同需求的各類大數(shù)據(jù)引擎,比如計算引擎類有數(shù)據(jù)分析引擎Hive、交互式分析引擎Presto、迭代計算引擎spark以及流處理引擎Flink等,存儲類有日志存儲系統(tǒng)的SLS、分布式文件系統(tǒng)HDFS等,這些引擎和系統(tǒng)很好的滿足了某一領(lǐng)域的業(yè)務(wù)需求,但也存在非常嚴重的數(shù)據(jù)孤島問題:在同一份數(shù)據(jù)上綜合使用這些系統(tǒng),必然面臨著大量的ETL工作,而且更關(guān)鍵的是在目前各種公司業(yè)務(wù)鏈路上這種使用方式非常常見,同時因數(shù)據(jù)加工、轉(zhuǎn)儲產(chǎn)生的成本以及整體延時大大增加,業(yè)務(wù)決策時間也相應(yīng)變長,解決這一問題的關(guān)鍵在于引擎元數(shù)據(jù)需要互通,只有構(gòu)建滿足各種引擎需求的數(shù)據(jù)湖統(tǒng)一元數(shù)據(jù)服務(wù)視圖,才能實現(xiàn)數(shù)據(jù)共享,避免其中額外的ETL成本以及降低鏈路的延時。
數(shù)據(jù)湖元數(shù)據(jù)服務(wù)的設(shè)計
數(shù)據(jù)湖元數(shù)據(jù)服務(wù)的設(shè)計目標是能夠在大數(shù)據(jù)引擎、存儲多樣性的環(huán)境下,構(gòu)建不同存儲系統(tǒng)、格式和不同計算引擎統(tǒng)一元數(shù)據(jù)視圖,并具備統(tǒng)一的權(quán)限、元數(shù)據(jù),且需要兼容和擴展開源大數(shù)據(jù)生態(tài)元數(shù)據(jù)服務(wù),支持自動獲取元數(shù)據(jù),并達到一次管理多次使用的目的,這樣既能夠兼容開源生態(tài),也具備極大的易用性。另外元數(shù)據(jù)應(yīng)該支持追溯、審計,這就要求數(shù)據(jù)湖統(tǒng)一元數(shù)據(jù)服務(wù)具備以下能力和價值:
- 提供統(tǒng)一權(quán)限、元數(shù)據(jù)管理模塊:統(tǒng)一的權(quán)限/元數(shù)據(jù)管理模塊是各類引擎和存儲互通的基礎(chǔ),不僅權(quán)限/元數(shù)據(jù)模型需要滿足業(yè)務(wù)對于權(quán)限隔離的需要,也需要能夠合理支持目前引擎的各種權(quán)限模型。
- 提供大規(guī)模元數(shù)據(jù)的存儲和服務(wù)能力,提升元數(shù)據(jù)服務(wù)能力極限,滿足超大數(shù)據(jù)規(guī)模和場景
- 提供存儲統(tǒng)一的元數(shù)據(jù)管理視圖:將各類存儲系統(tǒng)(對象、文件、日志等系統(tǒng))上數(shù)據(jù)進行結(jié)構(gòu)化既能夠方便數(shù)據(jù)的管理,也因為有了統(tǒng)一元數(shù)據(jù),才能進行下一步的分析和處理。
- 支撐豐富的計算引擎:各類引擎,通過統(tǒng)一元數(shù)據(jù)服務(wù)視圖訪問和計算其中的數(shù)據(jù),滿足不同的場景需求。比如PAI/MaxCompute/Hive等可以在同一份OSS數(shù)據(jù)上進行計算和分析。通過引擎支撐的多樣化,業(yè)務(wù)場景將越來容易進行場景轉(zhuǎn)換和使用。
- 元數(shù)據(jù)操作的追溯/審計
- 元數(shù)據(jù)自動發(fā)現(xiàn)和收集能力:通過對文件存儲的目錄/文件/文件格式的自動感知,自動創(chuàng)建和維護元數(shù)據(jù)的一致性,方便存儲數(shù)據(jù)的自動化維護和管理。
數(shù)據(jù)湖元數(shù)據(jù)服務(wù)的架構(gòu)
元數(shù)據(jù)服務(wù)上層是引擎接入層
- 通過提供各種協(xié)議的SDK和插件,能夠靈活支撐各種引擎的對接,滿足引擎對于元數(shù)據(jù)服務(wù)的訪問需要。并且通過元數(shù)據(jù)服務(wù)提供的視圖,對底層文件系統(tǒng)進行分析和處理。
- 通過插件體系無縫兼容EMR引擎,能夠使EMR全家桶開箱即用,用戶全程無感知,即可體驗統(tǒng)一元數(shù)據(jù)服務(wù),避免原Mysql等存儲的可擴展性差的問題
元數(shù)據(jù)服務(wù)提供存儲視圖
通過對不同存儲格式/存儲目錄文件的抽象,為引擎提供統(tǒng)一元數(shù)據(jù)服務(wù),同時能夠避免多引擎獨立使用元數(shù)據(jù)服務(wù)之間的不一致性
元數(shù)據(jù)的管理和自動發(fā)現(xiàn)
元數(shù)據(jù)通過各種方式能夠靈活的、跨引擎管理元數(shù)據(jù),既能使用戶方便的集成元數(shù)據(jù)服務(wù)、擴展元數(shù)據(jù)服務(wù)能力,也能夠降低管理成本。
- Web Console、Sdk、各類引擎客戶端和接口
1.兼容開源生態(tài)引擎的各類數(shù)據(jù)庫/表/分區(qū)上的DDL操作。
2.提供多版本元數(shù)據(jù)管理/追溯的能力
3.通過元數(shù)據(jù)能力的開放,在ETL部分/開源工具部分將來也能通過各式插件進行對接,進一步完善整體生態(tài)
- 元數(shù)據(jù)自動發(fā)現(xiàn)
元數(shù)據(jù)自動發(fā)現(xiàn)能力是元數(shù)據(jù)管理能力的另一核心部分,能夠自動收集各處文件系統(tǒng)散落的數(shù)據(jù),極大了拓寬了統(tǒng)一元數(shù)據(jù)服務(wù)的場景,節(jié)省了管理的代價和復(fù)雜性。這其中的能力包括
1.自動分析目錄層次,動態(tài)增量創(chuàng)建database/table/partition等元數(shù)據(jù)
2.自動分析文件格式,對于各類格式比如常規(guī)文本格式及開源大數(shù)據(jù)格式parquet、orc等都進行了支持
元數(shù)據(jù)服務(wù)的未來
數(shù)據(jù)湖元數(shù)據(jù)服務(wù)為大數(shù)據(jù)而生,為互通生態(tài)而生,期望后續(xù)繼續(xù)完善其服務(wù)能力和支撐更多的大數(shù)據(jù)引擎,通過開放的服務(wù)能力、存儲能力、統(tǒng)一的權(quán)限及元數(shù)據(jù)管理能力,為客戶節(jié)省管理/人力/存儲等各項成本,實現(xiàn)客戶自己的業(yè)務(wù)價值。
?
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的数据湖元数据服务的实现和挑战的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [JDBC] Kettle on Max
- 下一篇: 阿里云高级技术专家:面向5G的云网一体及