作者 | 劍蕭
阿里大淘系數(shù)據(jù)體系經(jīng)過(guò)多年發(fā)展,通過(guò)豐富的數(shù)據(jù)和產(chǎn)品支撐了復(fù)雜的業(yè)務(wù)場(chǎng)景,在數(shù)據(jù)領(lǐng)域取得了非常大的領(lǐng)先優(yōu)勢(shì)。隨著數(shù)據(jù)規(guī)模越來(lái)越大,開發(fā)人員越來(lái)越多,雖有阿里大數(shù)據(jù)體系規(guī)范進(jìn)行統(tǒng)一管理,但是由于沒(méi)有在產(chǎn)品側(cè)進(jìn)行有效的模型設(shè)計(jì)和管控,在模型規(guī)范性、應(yīng)用層效率、通用層復(fù)用性等方面的問(wèn)題逐漸凸顯。計(jì)存成本提升、效率降低、規(guī)范減弱、數(shù)據(jù)使用難度變大、運(yùn)維負(fù)擔(dān)增加等。
為了解決這些問(wèn)題,我們進(jìn)行了大淘系模型治理專項(xiàng),在數(shù)據(jù)服務(wù)業(yè)務(wù)的同時(shí),追求極致的降本提效目標(biāo)。
參與團(tuán)隊(duì):
- 數(shù)據(jù)技術(shù)及產(chǎn)品部-大淘系數(shù)據(jù)團(tuán)隊(duì)
- 數(shù)據(jù)技術(shù)及產(chǎn)品部-數(shù)據(jù)安全生產(chǎn)平臺(tái)&計(jì)算平臺(tái)事業(yè)部-DataWorks
- 計(jì)算平臺(tái)事業(yè)部-產(chǎn)品與解決方案-DataWorks
- PAI產(chǎn)品組
一、數(shù)據(jù)現(xiàn)狀
為了更好的分析當(dāng)前大淘系的數(shù)據(jù)問(wèn)題,我們進(jìn)行了詳細(xì)的數(shù)據(jù)分析,首先進(jìn)行數(shù)字化。(整個(gè)問(wèn)題分析有詳細(xì)的數(shù)據(jù)支撐,涉及到數(shù)據(jù)安全,因此只抽象問(wèn)題,不展示具體數(shù)據(jù)細(xì)節(jié))。
1 規(guī)范性問(wèn)題
- 表命名不規(guī)范,缺乏管控:隨著數(shù)據(jù)量增長(zhǎng),大淘系的表出現(xiàn)了大量命名未遵循阿里大數(shù)據(jù)體系的情況,難以管控。
2 通用層復(fù)用性問(wèn)題
- 通用層表復(fù)用性不高:通用層表下游引用少于2個(gè)的數(shù)量非常多;
- 通用層建設(shè)不足或通用層透出不足:cdm引用下降,ads引用上升;
- 較多的ads表共性邏輯未下沉:出現(xiàn)很多ads表代碼重復(fù),字段相似度高的情況;
3 應(yīng)用層效率問(wèn)題
- 臨時(shí)表多,影響數(shù)據(jù)管理:出現(xiàn)了很多TDDL臨時(shí)表、PAI臨時(shí)表、機(jī)器臨時(shí)表、壓測(cè)臨時(shí)表等;
- 通用層表在各團(tuán)隊(duì)分布不合理:散布多個(gè)團(tuán)隊(duì);
- 較多的ads表共性邏輯未下沉;
- 部分ads表層內(nèi)依賴深度較深:很多ads表在應(yīng)用層的深度超過(guò)10層;
- 應(yīng)用層跨集市依賴問(wèn)題明顯:不同集市間ads互相依賴,不僅影響了數(shù)據(jù)穩(wěn)定性,而且數(shù)據(jù)準(zhǔn)確性也難以保障;
- 存在大量的可交接的通用層表:不同團(tuán)隊(duì)的通用層數(shù)據(jù)與大淘系數(shù)據(jù)混合在一起;
- 表人員分配不均衡:表owner管理的表數(shù)量分布很不均勻,有些owner名下只有幾十張,有些owner名下有幾千張;
二、問(wèn)題分析
通過(guò)對(duì)當(dāng)前數(shù)據(jù)問(wèn)題的數(shù)字化,我們發(fā)現(xiàn)問(wèn)題涉及到數(shù)據(jù)的評(píng)、建、管、用各個(gè)環(huán)節(jié)。
評(píng):缺乏一套統(tǒng)一數(shù)據(jù)評(píng)估體系。數(shù)據(jù)問(wèn)題的發(fā)現(xiàn)以往主要通過(guò)專家經(jīng)驗(yàn)、開發(fā)使用環(huán)節(jié)發(fā)現(xiàn)和離散型的數(shù)據(jù)分析得到,缺乏一套統(tǒng)一的數(shù)字化評(píng)估體系。數(shù)據(jù)量有多少?不同層次的數(shù)據(jù)分布如何?表的命名規(guī)范性如何?表的復(fù)用性如何?表的加工效率和消費(fèi)效率如何?如何評(píng)價(jià)數(shù)據(jù)建設(shè)、使用和維護(hù)的好不好?好的數(shù)據(jù)應(yīng)該通過(guò)哪些指標(biāo)評(píng)估出來(lái)?
建:基于數(shù)據(jù)問(wèn)題分析我們發(fā)現(xiàn):在統(tǒng)一進(jìn)行通用層構(gòu)建和治理的時(shí)間段,數(shù)據(jù)在規(guī)范性、復(fù)用性、鏈路復(fù)雜度、使用效率等方面表現(xiàn)較好,但是在沒(méi)有進(jìn)行統(tǒng)一構(gòu)建和治理的時(shí)間,數(shù)據(jù)在各方面都表現(xiàn)不好。原因在于:我們有一套阿里大數(shù)據(jù)體系規(guī)范,但是我們并沒(méi)有一套覆蓋設(shè)計(jì)、評(píng)審、開發(fā)、管控、治理的建模開發(fā)產(chǎn)品。
管:數(shù)據(jù)構(gòu)建完成后后,并沒(méi)有有效的對(duì)數(shù)據(jù)進(jìn)行成本、復(fù)用性、效率、健康情況的管理,通常依賴于集中治理、專項(xiàng)治理或推送治理。成本高、迭代慢。同時(shí)還存在表管理分布不均的問(wèn)題,有些owner承擔(dān)了大量的管理和運(yùn)維工作,數(shù)據(jù)交接后難以維護(hù),導(dǎo)致數(shù)據(jù)使用難度高。
用:數(shù)據(jù)最終是為了使用,通過(guò)數(shù)據(jù)分析和調(diào)研問(wèn)卷來(lái)看,普遍存在以下問(wèn)題:找數(shù)難、不會(huì)用、不敢用等問(wèn)題。就導(dǎo)致除了一些非常核心的模型數(shù)據(jù)外,很多開發(fā)者寧愿重新開發(fā)也不愿去花費(fèi)很大精力去找數(shù)和理解數(shù)據(jù),造成惡性循環(huán)。
三、解決方案
針對(duì)對(duì)問(wèn)題的分析,我們確定了以下目標(biāo):
- 模型數(shù)字化:構(gòu)建一套通用的大淘系模型評(píng)估體系,能夠清晰的從多個(gè)維度評(píng)估當(dāng)前數(shù)據(jù)的健康情況,針對(duì)問(wèn)題數(shù)據(jù)提供改進(jìn)建議。
- 提效公共模型下沉:定義清晰通用層數(shù)據(jù)下沉標(biāo)準(zhǔn),能夠清晰的界定哪些數(shù)據(jù)應(yīng)該沉淀到通用層,對(duì)于需要沉淀的數(shù)據(jù)要及時(shí)進(jìn)行沉淀。
- 產(chǎn)品化:通過(guò)共建開發(fā)一套覆蓋設(shè)計(jì)、評(píng)審、開發(fā)、管控、治理的建模開發(fā)產(chǎn)品。
- 日常治理:日常監(jiān)控模型健康情況,并進(jìn)行治理優(yōu)化。
- 找數(shù)提效:通過(guò)共建提高數(shù)據(jù)檢索效率,提高推薦準(zhǔn)確度,將核心數(shù)據(jù)在數(shù)據(jù)專輯展示。
為了實(shí)現(xiàn)以上目標(biāo),我們進(jìn)行了模型治理整體設(shè)計(jì):
1.DataWorks共建
DataWorks是基于MaxCompute/EMR/Hologres等大數(shù)據(jù)計(jì)算引擎,提供專業(yè)高效、安全可靠的一站式大數(shù)據(jù)開發(fā)與治理平臺(tái)。通過(guò)與DataWorks團(tuán)隊(duì)進(jìn)行深度共建,利用大淘系多年積累的模型、開發(fā)、運(yùn)維等數(shù)據(jù)經(jīng)驗(yàn)提供輸入和DataWorks強(qiáng)大的產(chǎn)品研發(fā)能力,進(jìn)行智能建模、開發(fā)助手、數(shù)據(jù)地圖等功能的升級(jí),實(shí)現(xiàn)數(shù)據(jù)設(shè)計(jì)、開發(fā)、管控、使用全鏈路產(chǎn)品化,解決長(zhǎng)久以來(lái)的數(shù)據(jù)問(wèn)題。
DataWorks智能數(shù)據(jù)建模
目前,DataWorks智能數(shù)據(jù)建模產(chǎn)品完成了數(shù)倉(cāng)規(guī)劃、數(shù)據(jù)標(biāo)準(zhǔn)、維度建模、數(shù)據(jù)指標(biāo)四大產(chǎn)品模塊的重大產(chǎn)品功能迭代,具備逆向建模、正向可視化建模、excel建模、代碼建模等產(chǎn)品能力,并完成了DataWorks智能數(shù)據(jù)建模產(chǎn)品在2021年云棲大會(huì)的新功能重磅發(fā)布。
DataWorks智能數(shù)據(jù)建模產(chǎn)品全新發(fā)布的核心產(chǎn)品功能主要包含以下內(nèi)容:
數(shù)倉(cāng)規(guī)劃:
- 支持公共層及應(yīng)用層數(shù)倉(cāng)經(jīng)典分層化域方案所需要素(如數(shù)據(jù)域、數(shù)據(jù)集市等)的業(yè)務(wù)自定義;
- 支持?jǐn)?shù)倉(cāng)規(guī)范的業(yè)務(wù)自定義,如各層表名規(guī)范定義;
- 支持建??臻g,支持設(shè)置建??臻g與數(shù)據(jù)研發(fā)空間的關(guān)系建立,滿足大淘系多業(yè)務(wù)共享數(shù)據(jù)規(guī)范統(tǒng)籌管理數(shù)據(jù)模型的需求。
維度建模:
- 支持?jǐn)?shù)倉(cāng)已有物理表的、的逆向建模,解決了大淘系已有物理表的冷啟動(dòng)難題。
- 支持維度表、明細(xì)表、輕度匯總表和應(yīng)用層表的正向建模,支持可視化建模、excel文件導(dǎo)入模型及代碼建模三種方式。正向可視化建模產(chǎn)品功能汲取了大淘系建模同學(xué)沉淀的經(jīng)典建模理論,依托了MaxCompute的優(yōu)勢(shì),實(shí)現(xiàn)了快速?gòu)?fù)制MC已有物理表的表結(jié)構(gòu)并支持基于已有字段做維度字段冗余的產(chǎn)品功能,此外,匯總表及應(yīng)用層表可快速引用已創(chuàng)建的指標(biāo)生成模型表字段。正向建模excel文件導(dǎo)入模型將大淘系同學(xué)數(shù)年來(lái)沉淀的經(jīng)典模型excel模版產(chǎn)品化,滿足部分習(xí)慣性excel建模同學(xué)的建模需求。正向建模產(chǎn)品功能,極大程度上提升了建模效率。
- 設(shè)計(jì)完成的模型,支持模型評(píng)審及物理表發(fā)布到MaxCompute、Hologres等五種引擎。
- 發(fā)布成功的模型,實(shí)現(xiàn)了和DataStuido(數(shù)據(jù)開發(fā))的打通,支持自動(dòng)生成ETL框架代碼,數(shù)據(jù)開發(fā)同學(xué)只需在此代碼基礎(chǔ)上補(bǔ)充業(yè)務(wù)邏輯代碼即可,該功能在一定程度上提升了數(shù)據(jù)開發(fā)同學(xué)的研發(fā)效率;
以上產(chǎn)品功能能很好的解決模型建設(shè)規(guī)范性和提效的目的。
數(shù)倉(cāng)規(guī)劃
維度建模
開發(fā)助手
開發(fā)助手可以在代碼開發(fā)中進(jìn)行權(quán)限提醒、發(fā)布管控、臨時(shí)表自動(dòng)構(gòu)建等。
2.模型分
模型分打分邏輯
模型分大盤
我們將模型分評(píng)估在內(nèi)部通過(guò)數(shù)字大盤的形式展示,并將對(duì)應(yīng)的治理建議通過(guò)治理跳轉(zhuǎn)的方式直接跳轉(zhuǎn)到相應(yīng)的產(chǎn)品頁(yè)面進(jìn)行操作。
為了更好的實(shí)現(xiàn)復(fù)用,模型分支持快速配置接入,只要提供project清單即可通過(guò)修改配置快速接入對(duì)應(yīng)BU的數(shù)據(jù),產(chǎn)出表級(jí)別、owner級(jí)別、BU級(jí)別模型分及治理動(dòng)作。
模型大盤的治理項(xiàng)使用了全鏈路血緣和標(biāo)簽?zāi)芰?,可以比較精準(zhǔn)的實(shí)現(xiàn)針對(duì)性治理。
3.找數(shù)提效
找數(shù)提效方案:
目前,數(shù)據(jù)地圖上線了團(tuán)隊(duì)常用表、猜你會(huì)用、熱門瀏覽、熱門讀取、數(shù)據(jù)專輯、搜索優(yōu)化、表說(shuō)明升級(jí)等,表說(shuō)明功能已完成升級(jí);數(shù)據(jù)專輯的多人協(xié)作維護(hù)、展示和修改收藏備注發(fā)布、專輯增加使用說(shuō)明功能。對(duì)于找數(shù)、用數(shù)、數(shù)據(jù)維護(hù)具有重要的意義。
【搜索&推薦】搜索結(jié)果過(guò)濾增強(qiáng)
- 搜索結(jié)果左側(cè)過(guò)濾條件透出高頻使用條件供用戶選擇,提高篩選效率和搜索CTR。
- 恢復(fù)字段搜索功能,搜索過(guò)濾支持按照環(huán)境過(guò)濾。
【內(nèi)容&組織】表說(shuō)明功能升級(jí)
- 升級(jí)表使用說(shuō)明編輯器為語(yǔ)雀編輯器,支持導(dǎo)入語(yǔ)雀內(nèi)容,來(lái)幫助解決口徑問(wèn)題
【內(nèi)容&組織】數(shù)據(jù)專輯
- 數(shù)據(jù)專輯提供管理員功能,支持多人協(xié)作維護(hù)。
- 加入專輯支持展示和修改收藏備注。
- 個(gè)人專輯詳情頁(yè)中,支持通過(guò)表的描述和收藏備注進(jìn)行搜索。
- 專輯增加使用說(shuō)明功能
【內(nèi)容&組織】數(shù)據(jù)地圖與DataWorks數(shù)據(jù)打通
- 支持在地圖中標(biāo)識(shí)表是模型表、展示出表的模型信息。
1)搜索推薦
2)數(shù)據(jù)專輯
數(shù)據(jù)專輯中將核心表集中展示,可以有效實(shí)現(xiàn)核心表的查找和使用。
3)專輯說(shuō)明
將結(jié)構(gòu)化的知識(shí)集中管理,支持語(yǔ)雀知識(shí)導(dǎo)入,更好的管理和維護(hù)數(shù)據(jù)。
4)數(shù)據(jù)百曉生
將數(shù)據(jù)知識(shí)進(jìn)行算法處理,透過(guò)機(jī)器人問(wèn)答實(shí)現(xiàn)找表、用表等。為此我們結(jié)合內(nèi)部機(jī)器人產(chǎn)品構(gòu)建了智能答疑機(jī)器人。
四、思考總結(jié)
經(jīng)過(guò)FY22大淘系模型治理專項(xiàng),通過(guò)大淘系內(nèi)部開發(fā)、與DataWorks團(tuán)隊(duì)&數(shù)據(jù)安全生產(chǎn)平臺(tái)共建,實(shí)現(xiàn)了以下重要能力:
模型評(píng)估體系:設(shè)計(jì)并定義了大淘系模型評(píng)估體系,從多個(gè)維度實(shí)現(xiàn)了數(shù)據(jù)健康度的評(píng)估和表級(jí)別的治理建議。
智能建模:與DataWorks智能建模團(tuán)隊(duì)合作,上線了數(shù)倉(cāng)規(guī)劃、維度建模等重磅產(chǎn)品,實(shí)現(xiàn)了維度表、明細(xì)表、輕度匯總表和應(yīng)用層表的正逆向建模。
數(shù)據(jù)地圖升級(jí):升級(jí)了搜索推薦、數(shù)據(jù)專輯、表說(shuō)明等重要功能,極大的提高了找數(shù)、用數(shù)、管理數(shù)據(jù)的效率。
協(xié)作規(guī)章制度:定義了準(zhǔn)通用層下沉規(guī)范、協(xié)作規(guī)章、交接流程、新人培養(yǎng)機(jī)制等清晰的制度,提供清晰的制度保障。
五、后續(xù)規(guī)劃
目前,大淘系模型治理已經(jīng)取得了非常好的階段性成果,在產(chǎn)品共建、模型分評(píng)估、找數(shù)提效方面都有很好的效果產(chǎn)出。但仍然存在一些未解決問(wèn)題:
- 統(tǒng)一架構(gòu)和規(guī)范難保障:各業(yè)務(wù)對(duì)阿里大數(shù)據(jù)體系規(guī)范的理解程度不一致,集團(tuán)數(shù)據(jù)架構(gòu)和規(guī)范的統(tǒng)一難以保障;
- 業(yè)務(wù)通用層比較薄:歷史背景之下,各業(yè)務(wù)通用層建設(shè)比較薄弱,新架構(gòu)下業(yè)務(wù)效率和口徑存在風(fēng)險(xiǎn);
- ADS層持續(xù)增長(zhǎng),復(fù)雜度難管控:阿里大數(shù)據(jù)體系規(guī)范缺少對(duì)應(yīng)用層的規(guī)范,ADS與通用層的邊界劃分不清晰,ADS的復(fù)雜度難以控制;
- 缺乏有效管控:在數(shù)據(jù)開發(fā)與運(yùn)維層面,阿里巴巴沉淀了大數(shù)據(jù)體系規(guī)范不斷與數(shù)據(jù)平臺(tái)融合,但是部分標(biāo)準(zhǔn)無(wú)法強(qiáng)制執(zhí)行與數(shù)據(jù)平臺(tái)進(jìn)行集成。數(shù)據(jù)治理上,當(dāng)前數(shù)據(jù)無(wú)法有效識(shí)別數(shù)據(jù)表是否無(wú)效,導(dǎo)致研發(fā)對(duì)數(shù)據(jù)表不敢下、沒(méi)精力下;
- 數(shù)據(jù)建設(shè)和使用尚未完全打通:當(dāng)前數(shù)據(jù)開發(fā)和數(shù)據(jù)使用尚未完全實(shí)現(xiàn)數(shù)據(jù)打通,定義的模型、開發(fā)的數(shù)據(jù)未在數(shù)據(jù)地圖中有效的實(shí)現(xiàn)透出和管理。
下階段將針對(duì)尚未解決的問(wèn)題進(jìn)一步深入解決:
- 大淘系模型架構(gòu)
我們會(huì)針對(duì)當(dāng)前存在的架構(gòu)問(wèn)題進(jìn)行升級(jí),從架構(gòu)原則、設(shè)計(jì)規(guī)范、開發(fā)規(guī)范、運(yùn)維規(guī)范、治理規(guī)范、共建機(jī)制等方面進(jìn)行方法論的升級(jí),以更好的適應(yīng)當(dāng)前階段的數(shù)據(jù)研發(fā)現(xiàn)狀,切實(shí)的從架構(gòu)層面為降本、提效提供有效保障。
- 智能建模
繼續(xù)與DataWorks團(tuán)隊(duì)共建,進(jìn)一步提高通用層、應(yīng)用層開發(fā)效率,從產(chǎn)品層面提供保障。
- 數(shù)據(jù)地圖
官方專輯快速接入:當(dāng)前官方專輯構(gòu)建需要專人進(jìn)行配置和維護(hù),后續(xù)可以考慮降低接入成本,下放到各個(gè)團(tuán)隊(duì)進(jìn)行自主接入和維護(hù),提升數(shù)據(jù)專輯的豐富度和易用性。
進(jìn)一步打通數(shù)據(jù)開發(fā)和使用環(huán)節(jié):將智能建模的數(shù)據(jù)與數(shù)據(jù)地圖進(jìn)一步打通,實(shí)現(xiàn)核心模型的快速篩選和透出。
多角度提升表查詢和使用的能力:從表說(shuō)明、表答疑、數(shù)據(jù)知識(shí)提取等方面實(shí)現(xiàn)對(duì)找表、用表、表答疑的簡(jiǎn)易度提升,結(jié)合文本算法、機(jī)器人等技術(shù)和產(chǎn)品能力,實(shí)現(xiàn)數(shù)據(jù)知識(shí)的智能生成。
- 開發(fā)助手
開發(fā)助手在表推薦和表管控方面可以進(jìn)一步升級(jí)。
- 大淘系通用層評(píng)估體系升級(jí)
針對(duì)當(dāng)前的模型分加入模型血緣相關(guān)的信息,做厚大淘系通用層,為業(yè)務(wù)提供更好的通用層數(shù)據(jù)支撐。
表自動(dòng)化下線:實(shí)現(xiàn)模型、表、服務(wù)的自動(dòng)化下線&專家經(jīng)驗(yàn)下線,提高數(shù)據(jù)下線效率,降低人工介入成本。