DataWorks:阿里全鏈路數(shù)據(jù)治理實踐
01 阿里巴巴數(shù)據(jù)平臺發(fā)展歷史與現(xiàn)狀
1. 阿里巴巴數(shù)據(jù)平臺發(fā)展的四個階段
- 第一階段:2012年
?
阿里巴巴數(shù)據(jù)平臺發(fā)展的四個階段中的第一個階段大概在2012年。構(gòu)建數(shù)據(jù)中臺,一個強大的數(shù)據(jù)平臺必不可少,數(shù)據(jù)平臺也可稱為數(shù)據(jù)中臺的數(shù)據(jù)底座。阿里巴巴數(shù)據(jù)平臺發(fā)展的四個階段代表著阿里數(shù)據(jù)中臺發(fā)展的四個階段,這四個階段可以看到阿里對整個數(shù)據(jù)系統(tǒng)的不斷變革以及對數(shù)據(jù)高效應(yīng)用的思路。
在第一個階段,阿里的電商業(yè)務(wù)進入了一個爆發(fā)期,淘寶、1688等多個團隊都是基于數(shù)據(jù)驅(qū)動,數(shù)據(jù)架構(gòu)基本都基于IOT架構(gòu),核心系統(tǒng)都在Oracle上。2年時間內(nèi)阿里已經(jīng)建設(shè)了全亞洲最大的Oracle集群,但到2010年時Oracle已經(jīng)無法滿足公司業(yè)務(wù)計算的需求,不斷出現(xiàn)數(shù)據(jù)延遲和計算錯誤,而且Oracle計算的成本很高,無法支撐業(yè)務(wù)發(fā)展,為此阿里計劃構(gòu)建下一代的數(shù)據(jù)平臺,同時啟動了云梯1和云梯2兩個項目。
云梯1基于開源Hadoop的技術(shù)體系搭建,多個業(yè)務(wù)部門分別構(gòu)建了自己的Hadoop集群,集群規(guī)模一度達4000臺,那時候阿里巴巴也搭建了自己的一個數(shù)據(jù)同步引擎,也就是現(xiàn)在的DataX,以及第一代的任務(wù)調(diào)度引擎“天網(wǎng)”,這兩個引擎構(gòu)建了現(xiàn)在的DataWorks的基礎(chǔ)服務(wù),那時的DataWorks還沒有UI,只是個命令行工具。
云梯2是基于阿里巴巴自研的一個大數(shù)據(jù)計算服務(wù),也就是現(xiàn)在的MaxCompute,當(dāng)時集群規(guī)模達到了1200臺。這兩個項目當(dāng)時在阿里內(nèi)部是競爭關(guān)系,并在內(nèi)部引起了一場廣泛的關(guān)于開源和自研的爭議。
- 第二階段:2015年
?
2012至2015年阿里電商業(yè)務(wù)飛速發(fā)展,同時也涌現(xiàn)出菜鳥、高德、釘釘?shù)榷鄠€新興業(yè)務(wù),阿里內(nèi)部也形成了多個不同架構(gòu)的平臺系統(tǒng),然后導(dǎo)致數(shù)據(jù)孤島現(xiàn)象的日益加劇,數(shù)據(jù)成本飆升。
2013年,云梯1和云梯2兩個集群的規(guī)模達到瓶頸,很多業(yè)務(wù)因此無法繼續(xù)開展,阿里集團已經(jīng)沒有辦法同時去支撐兩套技術(shù)路線的同時發(fā)展,此時需要做出一個抉擇。當(dāng)時云梯1的Hadoop集群遇到了無法突破5000臺瓶頸,在業(yè)界也無先例,同時數(shù)據(jù)安全也是一個問題。最終阿里選擇自研的云梯2,并通過“5K”項目突破了5000臺集群的物理極限。
5K項目成功后阿里啟動了“登月計劃”,將云梯1的Hadoop集群全面切換到MaxCompute集群。這期間DataWorks也推出了在線IDE,讓數(shù)據(jù)開發(fā)從“命令行+本地IDE”時代進入WebIDE時代。
2015年,阿里云數(shù)加平臺發(fā)布,其核心產(chǎn)品正是MaxCompute和DataWorks。作為數(shù)據(jù)開發(fā)平臺,面臨既要支持集團內(nèi)部數(shù)據(jù)的建設(shè),又要支持阿里云上的公共云、專有云上的客戶,阿里集團內(nèi)部涌現(xiàn)多套的數(shù)據(jù)平臺,包含對內(nèi)支撐和對外服務(wù)。最終阿里巴巴面對數(shù)據(jù)平臺的分與合,選擇了建設(shè)集團統(tǒng)一數(shù)據(jù)開發(fā)平臺,即將所有數(shù)據(jù)開發(fā)類工具整合到DataWorks。
- 第三階段:2018年
?
2015年到2018年,數(shù)據(jù)中臺方法論開始逐步建立,拉開了數(shù)據(jù)中臺建設(shè)的大幕。2015年阿里宣布了數(shù)據(jù)中臺建設(shè)戰(zhàn)略,開始構(gòu)建符合DT時代的“大中臺、小前臺”組織機制和業(yè)務(wù)機制,進行從業(yè)務(wù)數(shù)據(jù)化到數(shù)據(jù)業(yè)務(wù)化的轉(zhuǎn)變。
隨著計算和數(shù)據(jù)的不斷增長,數(shù)據(jù)治理問題凸顯,阿里巴巴開始思考如何將數(shù)據(jù)中臺的方法論落地平臺層,讓平臺可以更好的支持中臺的建設(shè)。在數(shù)據(jù)平臺側(cè),MaxCompute 達到了10萬臺集群規(guī)模,DataWorks構(gòu)建大規(guī)模協(xié)同數(shù)據(jù)開發(fā)與治理的一站式能力,服務(wù)100+阿里集團BU、20萬+阿里員工的取數(shù)用數(shù)需求。
- 第四階段:2021年
?
2018年至2021年我們稱之為云上數(shù)據(jù)中臺與業(yè)務(wù)伴生的階段,2018年后阿里的數(shù)據(jù)平臺業(yè)務(wù)已經(jīng)很成熟了,數(shù)據(jù)中臺達到了一個正循環(huán),可視為數(shù)據(jù)中臺建設(shè)成功的標(biāo)志。DataWorks支撐建設(shè)的數(shù)據(jù)中臺全面服務(wù)業(yè)務(wù)、支持集團內(nèi)300+數(shù)據(jù)應(yīng)用、MaxCompute智能數(shù)倉讓雙11成為日常,目前已能夠以一個比較低的成本實現(xiàn)支持業(yè)務(wù)的快速增長。
2. 阿里巴巴數(shù)據(jù)平臺發(fā)展現(xiàn)狀
- “數(shù)據(jù)效率”成為核心指標(biāo)
?
企業(yè)數(shù)據(jù)中臺建設(shè)的成功與否核心指標(biāo)就是“數(shù)據(jù)效率”,阿里從數(shù)據(jù)規(guī)模與彈性、數(shù)據(jù)的成本、數(shù)據(jù)的正確性與可維護性、數(shù)據(jù)利用率四個方面來衡量數(shù)據(jù)效率,數(shù)據(jù)治理逐漸被提上日程。
02
阿里巴巴數(shù)據(jù)治理的實踐
?
阿里巴巴數(shù)據(jù)治理分為四個階段,也是伴隨著數(shù)據(jù)平臺的發(fā)展階段。
(1)第一階段:數(shù)據(jù)穩(wěn)定性治理
第一階段,也是首要要保障的問題,即數(shù)據(jù)穩(wěn)定性。阿里巴巴通過以下幾個方面來保障數(shù)據(jù)生產(chǎn)的穩(wěn)定性。
① 穩(wěn)定可靠的調(diào)度服務(wù):通過阿里自研的天網(wǎng)調(diào)度系統(tǒng)能很好地支撐每日千萬級別的任務(wù)量,并且成功了解決復(fù)雜依賴問題。
② 規(guī)范化數(shù)據(jù)開發(fā)運維:數(shù)據(jù)開發(fā)、生產(chǎn)環(huán)境隔離,確保線上生產(chǎn)的穩(wěn)定性,任務(wù)發(fā)布也進行了獨立管控,支持變更卡點和審批。
③ 基線監(jiān)控:從業(yè)務(wù)視角定義任務(wù)優(yōu)先級,實現(xiàn)資源管控。
④ 快速恢復(fù):任務(wù)出錯自愈,自動生成工單保證快速響應(yīng),任務(wù)診斷幫助定位原因,批量重刷數(shù)據(jù)以快速恢復(fù)。
⑤ 大促保障:全網(wǎng)強管控,問題節(jié)點治理,任務(wù)降級能力,分時調(diào)度等。
(2)第二階段:數(shù)據(jù)規(guī)范治理
?
第二階段為數(shù)據(jù)規(guī)范治理。阿里巴巴通過數(shù)倉規(guī)范設(shè)計和開發(fā)來預(yù)防問題的發(fā)生,通過核心公共層來減少數(shù)據(jù)重復(fù)建設(shè)和確??趶揭恢滦??;舅悸肥菢?gòu)建一個指標(biāo)體系、設(shè)計數(shù)據(jù)模型、數(shù)據(jù)處理任務(wù)開發(fā)、數(shù)據(jù)服務(wù)開放。數(shù)倉中的核心公共層定義了一條門檻線,進入核心公共層的數(shù)據(jù)納入強管控以確保數(shù)據(jù)的規(guī)范性。
(3)第三階段:數(shù)據(jù)安全治理
?
第三個階段,數(shù)據(jù)安全治理。當(dāng)前,數(shù)據(jù)安全已被提高到國家和社會的層面。數(shù)據(jù)安全治理主要從數(shù)據(jù)分類分級與權(quán)限控制、敏感數(shù)據(jù)發(fā)現(xiàn)與脫敏、數(shù)據(jù)風(fēng)險審計、可信計算環(huán)境四個方面進行。這里主要提一下數(shù)據(jù)分類分級,我們支持數(shù)據(jù)自動打標(biāo)(如通過血緣關(guān)系等),特殊的數(shù)據(jù)可由人工打標(biāo)調(diào)整,然后基于不同標(biāo)簽對數(shù)據(jù)進行更合理管控和使用。
(4)第四階段:數(shù)據(jù)成本治理
第四個階段,數(shù)據(jù)成本治理,這也是阿里巴巴近幾年在持續(xù)做的事情。阿里做成本治理為四個步驟,即設(shè)定組織成本目標(biāo)、培養(yǎng)個人成本意識(有工具督促)、計算存儲成本并管控、成本治理評估與運營。阿里巴巴2020年成本治理成效顯著,以10%的數(shù)據(jù)成本增長支撐了65%的業(yè)務(wù)增速。
(5) 數(shù)據(jù)治理總結(jié)
?
阿里巴巴的數(shù)據(jù)治理主要從組織體系、數(shù)據(jù)資產(chǎn)治理方法論、平臺工具支撐&運營三個方面保障。其中平臺工具是基礎(chǔ),主要包含了DataWorks、 MaxCompute這兩個平臺的應(yīng)用,皆在以上四個數(shù)據(jù)治理階段發(fā)揮了重要作用,接下來將繼續(xù)為大家解析DataWorks的核心能力。
03 基于阿里云DataWorks的全鏈路數(shù)據(jù)治理平臺能力
1. 阿里云大數(shù)據(jù)平臺業(yè)務(wù)全景圖
?
阿里云自研大數(shù)據(jù)產(chǎn)品體系主要涵蓋了DataWorks、MaxCompute、Hologres、Datahub等產(chǎn)品,它集中存儲和管理企業(yè)數(shù)據(jù)資產(chǎn),面向數(shù)據(jù)應(yīng)用處理和分析數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換為業(yè)務(wù)洞察。通過與阿里云內(nèi)、外部服務(wù)靈活組合,可構(gòu)建豐富的數(shù)據(jù)應(yīng)用。全托管的數(shù)據(jù)與分析解決方案,可簡化平臺運維、管理投入,提升面向業(yè)務(wù)的服務(wù)能力,加速數(shù)據(jù)價值實現(xiàn)。
2. DataWorks產(chǎn)品架構(gòu)
DataWorks作為一站式數(shù)據(jù)開發(fā)和治理平臺,包含了數(shù)據(jù)集成、規(guī)范設(shè)計、數(shù)據(jù)開發(fā)、數(shù)據(jù)治理、數(shù)據(jù)分析、數(shù)據(jù)服務(wù)、開放平臺等產(chǎn)品服務(wù),覆蓋了大數(shù)據(jù)研發(fā)和治理的全流程和全生命周期。在大數(shù)據(jù)引擎支持方面,DataWorks可以支持MaxCompute、實時數(shù)倉Hologres、開源大數(shù)據(jù)平臺EMR和CDH/CDP,可以很好的適配市場上的主流大數(shù)據(jù)平臺服務(wù)。
3. DataWorks 數(shù)據(jù)治理產(chǎn)品能力
上述的阿里巴巴數(shù)據(jù)治理的四個階段,DataWorks都提供了相應(yīng)的產(chǎn)品工具能力支撐。
① DataWorks任務(wù)調(diào)度與運維
?
DataWorks提供了超大規(guī)模任務(wù)調(diào)度能力、可視化工作流編排、復(fù)雜調(diào)度邏輯控制、離線&實時任務(wù)運維、可視化任務(wù)運維操作、任務(wù)智能運維診斷等功能。DataWorks的任務(wù)調(diào)度系統(tǒng)伴隨著阿里巴巴10多年數(shù)倉發(fā)展和“雙11”的考驗,性能與穩(wěn)定性業(yè)界領(lǐng)先,是保障數(shù)據(jù)生產(chǎn)穩(wěn)定產(chǎn)出的基礎(chǔ)。
② DataWorks數(shù)據(jù)質(zhì)量管理
DataWorks數(shù)據(jù)質(zhì)量管理提供了對數(shù)據(jù)完整性、有效性、準(zhǔn)確性、唯一性、一致性和合理性的全面評估和保障能力。支持靈活的質(zhì)量規(guī)則定義,包含37種內(nèi)置模板規(guī)則和自定義規(guī)則,提供智能規(guī)則自動推薦、動態(tài)閾值智能預(yù)測,通過機器學(xué)習(xí)來智能確定規(guī)則的合理上下限值,減少數(shù)據(jù)探查的成本,提高質(zhì)量規(guī)則配置效率。同時支持選擇是否阻塞下游任務(wù)運行以避免臟數(shù)據(jù)污染。
③ DataWorks數(shù)倉規(guī)范設(shè)計(數(shù)據(jù)建模)
?
DataWorks數(shù)據(jù)建模產(chǎn)品體系包含了數(shù)倉規(guī)劃、數(shù)據(jù)標(biāo)準(zhǔn),維度建模和數(shù)據(jù)指標(biāo)。提供了多種建模交互方式,包含可視化數(shù)據(jù)建模,導(dǎo)入Excel數(shù)據(jù)模型文檔,通過FML(Fast Modeling Language,一種由DataWorks開源的類SQL數(shù)據(jù)建模語言)語義化數(shù)據(jù)建模,并且能夠自動生成ETL偽代碼,實現(xiàn)數(shù)據(jù)建模與數(shù)據(jù)開發(fā)的無縫銜接。DataWorks數(shù)據(jù)建模支撐了阿里集團數(shù)倉的核心公共層建設(shè),是OneData方法論的產(chǎn)品化實現(xiàn)。
④ DataWorks元數(shù)據(jù)管理(數(shù)據(jù)地圖)
?
元數(shù)據(jù)管理可以說是數(shù)據(jù)管理和數(shù)據(jù)治理的基礎(chǔ)。DataWorks數(shù)據(jù)地圖提供了數(shù)據(jù)發(fā)現(xiàn)、數(shù)據(jù)類目、數(shù)據(jù)檢索、數(shù)據(jù)詳情、數(shù)據(jù)預(yù)覽與探查、數(shù)據(jù)血緣與影響分析功能。支持異構(gòu)數(shù)據(jù)源的元數(shù)據(jù)自動采集并自動構(gòu)建數(shù)據(jù)目錄,支持表級及字段級數(shù)據(jù)血緣,并基于數(shù)據(jù)血緣進行影響分析,從而推斷數(shù)據(jù)變更可能造成的影響范圍,以此來指導(dǎo)數(shù)據(jù)開發(fā)人員進行數(shù)據(jù)變更影響評估。
⑤ DataWorks數(shù)據(jù)安全管控
?
DataWorks與MaxCompute提供了金融級數(shù)據(jù)安全管控能力,包含細粒度數(shù)據(jù)權(quán)限控制、數(shù)據(jù)分類分級、敏感數(shù)據(jù)發(fā)現(xiàn)與脫敏、數(shù)據(jù)審計等,覆蓋了數(shù)據(jù)傳輸安全、數(shù)據(jù)存儲安全、數(shù)據(jù)處理安全和數(shù)據(jù)交換安全的全鏈路數(shù)據(jù)安全服務(wù)。
⑥ DataWorks主動式與可持續(xù)數(shù)據(jù)治理
?
DataWorks在過去多年發(fā)展迭代中,沉淀了非常多的數(shù)據(jù)治理產(chǎn)品工具,但要把這些工具用好,依然依賴于人的經(jīng)驗?zāi)芰?。很多企業(yè)在數(shù)據(jù)治理的過程中,也面臨數(shù)據(jù)治理的成效不易評估,治理團隊業(yè)績不好衡量,從而導(dǎo)致數(shù)據(jù)治理過程往往淪為項目制、運動式,不可持續(xù)。為解決這樣的問題,DataWorks全新推出了數(shù)據(jù)治理中心產(chǎn)品,通過問題驅(qū)動的方式,幫助企業(yè)主動發(fā)現(xiàn)待治理問題,然后引導(dǎo)用戶優(yōu)化和解決問題,再提供數(shù)據(jù)治理成效的評分模型,幫助企業(yè)定量評估數(shù)據(jù)治理的健康度,從而實現(xiàn)有效的、可持續(xù)運營的數(shù)據(jù)治理過程。
DataWorks數(shù)據(jù)治理中心產(chǎn)品提供了五個維度的待治理問題的發(fā)現(xiàn)能力,包含研發(fā)規(guī)范、數(shù)據(jù)質(zhì)量、數(shù)據(jù)安全、計算資源和存儲資源。針對這五個維度,產(chǎn)品內(nèi)置了非常豐富的治理項掃描機制,能夠在事后識別出問題。同時,產(chǎn)品也內(nèi)置了檢查項攔截機制,在事前和事中提前發(fā)現(xiàn)和攔截問題。
針對這五個維度,DataWorks結(jié)合在阿里巴巴內(nèi)部的實踐,設(shè)計了一套健康分評估模型,可以有效地定量衡量數(shù)據(jù)治理的成效。企業(yè)可以通過數(shù)據(jù)治理健康分,快速識別自身短板,然后針對性進行治理,并通過健康分實現(xiàn)評比和考核,從而達到可持續(xù)可運營的數(shù)據(jù)治理,讓數(shù)據(jù)治理過程有的放矢,不再無從下手。
4. DataWorks 開放平臺助力企業(yè)實現(xiàn)個性化數(shù)據(jù)治理
?
企業(yè)的數(shù)據(jù)治理過程并非標(biāo)準(zhǔn)化的,DataWorks數(shù)據(jù)治理中心提供的產(chǎn)品能力必然也無法完全滿足企業(yè)數(shù)據(jù)治理中的所有需求。因此一套完善的數(shù)據(jù)治理平臺必須要支持插件化機制,允許企業(yè)自定義數(shù)據(jù)治理插件。
DataWorks全新升級了開放平臺,在原有OpenAPI基礎(chǔ)之上,新增了開放事件(Open Event)、擴展點(Hook)和擴展程序(Extensions)能力。您可以訂閱DataWorks平臺中開放的事件消息。DataWorks對核心流程中的事件提供了擴展點機制(Hook),當(dāng)事件發(fā)生時,系統(tǒng)會自動中斷流程,同時等待您接收到事件消息并對事件消息進行自定義處理,最后通過OpenAPI將您的處理結(jié)果回調(diào)給DataWorks,DataWorks將根據(jù)您的自定義處理結(jié)果選擇執(zhí)行或者阻斷后續(xù)流程,從而實現(xiàn)您對DataWorks處理流程的自定義控制。您訂閱事件、處理事件和回調(diào)事件處理結(jié)果的程序服務(wù)稱之為擴展程序,即插件。通過這種方式,您可以實現(xiàn)各式各樣的自定義數(shù)據(jù)治理插件,例如任務(wù)發(fā)布檢查插件、計算費用消耗檢查插件等。
04 下一代數(shù)據(jù)平臺的智能進化方向
?
數(shù)據(jù)湖是一個寬進寬出,相對協(xié)同比較松耦合的系統(tǒng)。數(shù)據(jù)倉庫是一個嚴進嚴出,比較嚴格緊耦合的系統(tǒng)。數(shù)據(jù)湖是數(shù)據(jù)先進來,然后再開始用,所以是屬于事后建模,可以存儲結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)。數(shù)據(jù)倉庫是一個嚴格的系統(tǒng),所以需要事前建模,數(shù)據(jù)經(jīng)過轉(zhuǎn)化清洗進到倉里面,存儲類型變?yōu)榻Y(jié)構(gòu)化或者半結(jié)構(gòu)化。數(shù)據(jù)湖是提供了一套標(biāo)準(zhǔn)的開放接口,來支持更多的引擎,像插拔式的插到這個體系里面,所以它是向所有的引擎開放。數(shù)據(jù)倉庫向特定引擎開放,但是恰恰因為數(shù)據(jù)倉庫是一個自閉環(huán)系統(tǒng),它的計算引擎、存儲引擎、元數(shù)據(jù)之間是可以做到非常深度、垂直的優(yōu)化,可以獲得一個非常好的性能。整體上來講,數(shù)據(jù)湖更偏靈活性,數(shù)據(jù)倉庫更偏企業(yè)級能力。
既然數(shù)據(jù)湖和數(shù)據(jù)倉庫在企業(yè)發(fā)展的不同階段均發(fā)揮著關(guān)鍵的作用,那么有沒有一種技術(shù)或者架構(gòu)可以同時發(fā)揮兩者的優(yōu)勢?通過我們對業(yè)界的洞察以及阿里云自身的實踐,我們認為湖和倉正在發(fā)生融合,湖倉一體新的數(shù)據(jù)管理架構(gòu)可以很好的解決這個問題。湖倉一體作為下一代數(shù)據(jù)平臺架構(gòu),是滿足復(fù)雜現(xiàn)狀下架構(gòu)的靈活升級。
MaxCompute湖倉一體支持連接Hadoop數(shù)據(jù)湖和OSS數(shù)據(jù)湖,DataWorks提供了湖倉一體化的開發(fā)和管理的升級,支持分鐘級自助打通湖和倉,屏蔽了很多底層的配置細節(jié),從而實現(xiàn)快速的業(yè)務(wù)洞察。
今天的分享就到這里,謝謝大家。