作者 | 王鵬 新興 曉飛
數(shù)字經(jīng)濟的快速發(fā)展,給企業(yè)的經(jīng)營帶來了新的機遇和挑戰(zhàn),如何有效開展數(shù)據(jù)治理,打破數(shù)據(jù)孤島,充分發(fā)揮數(shù)據(jù)的業(yè)務(wù)價值,保護數(shù)據(jù)安全,已成為業(yè)界的熱門話題。本文基于美團配送數(shù)據(jù)治理的歷程,分享了數(shù)據(jù)定義、模型設(shè)計、數(shù)據(jù)生產(chǎn)三環(huán)節(jié)統(tǒng)一的配送數(shù)據(jù)“底座”的建設(shè)與實踐。
1 前言
本文基于美團配送數(shù)據(jù)治理的歷程,重點和大家分享一下配送數(shù)據(jù)“底座”的建設(shè)與實踐,如何通過體系化建模建立起數(shù)據(jù)定義到數(shù)據(jù)生產(chǎn)的橋梁,達成數(shù)據(jù)定義、模型設(shè)計、數(shù)據(jù)生產(chǎn)三個環(huán)節(jié)的統(tǒng)一,消除因數(shù)據(jù)標(biāo)準(zhǔn)缺失和執(zhí)行不到位引發(fā)的數(shù)據(jù)信任問題,在高質(zhì)量地實現(xiàn)數(shù)據(jù)到信息的轉(zhuǎn)化的同時,為后續(xù)的數(shù)據(jù)便捷消費提供數(shù)據(jù)和元數(shù)據(jù)保障。希望能給從事數(shù)據(jù)治理方向的同學(xué)在實現(xiàn)數(shù)據(jù)到資產(chǎn)的轉(zhuǎn)化過程提供一些參考和借鑒。
2 什么是體系化建模
體系化建模是以維度建模為理論基礎(chǔ),以事前治理的理念驅(qū)動,讓元數(shù)據(jù)貫穿其中的建模流程,上承指標(biāo)、維度的定義,下接實際的數(shù)據(jù)生產(chǎn)。首先,通過高層模型設(shè)計,將業(yè)務(wù)指標(biāo)結(jié)構(gòu)化拆解為原子指標(biāo)/計算指標(biāo)+限定條件的組合方式,并將其歸屬到特定的業(yè)務(wù)過程和主題下,完成業(yè)務(wù)指標(biāo)的計劃化定義;其次,基于高層模型設(shè)計自動生產(chǎn)詳細(xì)的物理模型設(shè)計;第三,基于產(chǎn)生的物理模型設(shè)計,半自動或自動地生成數(shù)據(jù)加工邏輯,以確保最終的業(yè)務(wù)定義和物理實現(xiàn)的統(tǒng)一。具體如下圖1所示:
圖1 體系化建模概述
從對體系化建模的定義來看,它強調(diào)了兩個統(tǒng)一,即數(shù)據(jù)需求與模型設(shè)計的統(tǒng)一和模型設(shè)計與物理實現(xiàn)的統(tǒng)一。數(shù)據(jù)需求與模型設(shè)計的統(tǒng)一,模型設(shè)計是倉庫領(lǐng)域劃分和具體需求相結(jié)合的產(chǎn)物。倉庫領(lǐng)域劃分是對數(shù)據(jù)進行基于業(yè)務(wù)本身但超越和脫離業(yè)務(wù)需求限制的抽象,對數(shù)據(jù)完成主題、業(yè)務(wù)過程的抽象,作為業(yè)務(wù)指標(biāo)、維度需求歸屬和實現(xiàn)數(shù)據(jù)建設(shè)高內(nèi)聚、低耦合的重要依據(jù);具體的需求模型設(shè)計,是在倉庫領(lǐng)域劃分基礎(chǔ)上的內(nèi)容填充,將需求以指標(biāo)、維度的形式歸屬到對應(yīng)的主題與業(yè)務(wù)過程,以此驅(qū)動和約束具體詳細(xì)模型設(shè)計,勾勒出寶貴的信息架構(gòu)資產(chǎn)。模型設(shè)計與物理實現(xiàn)的統(tǒng)一,基于模型設(shè)計環(huán)節(jié)沉淀的信息架構(gòu)元數(shù)據(jù),以此來驅(qū)動和約束實際的物理模型,約束對應(yīng)物理模型的DDL,在數(shù)據(jù)加工時,防止因缺乏有效約束帶來的“煙囪式”開發(fā),是模型上線前,自動完成業(yè)務(wù)定義與物理實現(xiàn)一致性驗證,確保DML實現(xiàn)的正確性。
3 為什么要進行體系化建模
此前一段時期,配送數(shù)據(jù)建設(shè)存在著需求管理(指標(biāo)、維度)、模型設(shè)計、模型開發(fā)相互割裂不統(tǒng)一的現(xiàn)象,數(shù)據(jù)架構(gòu)規(guī)范無法進行實質(zhì)、有效的管理,元數(shù)據(jù)(指標(biāo)、維度、模型設(shè)計)與實際物理模型割裂、不匹配,造成各種數(shù)據(jù)資產(chǎn)信息缺失。而且由于缺乏系統(tǒng)抓手,無法完全規(guī)范研發(fā)的模型設(shè)計質(zhì)量,導(dǎo)致部分需求直接進行了數(shù)據(jù)開發(fā),引起惡化模型建設(shè)質(zhì)量的問題。這種缺乏規(guī)范和約束帶來的“煙囪式”開發(fā),在浪費技術(shù)資源的同時造成數(shù)據(jù)重復(fù)且不可信。配送體系化建模切入點是:以規(guī)范“基礎(chǔ)數(shù)據(jù)建設(shè)”,消除因“煙囪式”開發(fā)給業(yè)務(wù)帶來的困擾和技術(shù)上的浪費。
3.1 體系化建模可以對數(shù)據(jù)架構(gòu)進行實質(zhì)有效的管理,從源頭消除“煙囪式”開發(fā)
體系化建模不僅可以在工具上實現(xiàn)一體化設(shè)計和開發(fā),而且能在機制上形成模型設(shè)計與開發(fā)實施的有效協(xié)同。以需求驅(qū)動模型設(shè)計,以模型設(shè)計驅(qū)動和約束開發(fā)實施,防止因模型設(shè)計與開發(fā)實施割裂、開發(fā)實施缺少約束帶來的無序、“煙囪式”開發(fā)。
3.2 體系化建模沉淀的規(guī)范元數(shù)據(jù),可以有效消除業(yè)務(wù)在檢索和理解數(shù)據(jù)時的困擾
體系化建模不但將原先割裂的數(shù)據(jù)規(guī)范定義、模型設(shè)計以及最終的物理模型實現(xiàn)連接在一起,而且以元數(shù)據(jù)的形式將數(shù)據(jù)資產(chǎn)的刻畫沉淀了下來,每個指標(biāo)不僅有規(guī)范的業(yè)務(wù)定義和清晰的加工口徑,而且還可以映射到對應(yīng)的物理表上,有效地消除了業(yè)務(wù)在檢索和理解數(shù)據(jù)時的困擾。
4 如何進行體系化建模
實現(xiàn)體系化建模要從源頭開始,將數(shù)據(jù)規(guī)范定義、數(shù)據(jù)模型設(shè)計和ETL開發(fā)鏈接在一起,以實現(xiàn)“設(shè)計即開發(fā),所建即所得”。整體策略是從源頭開始,先在需求層面解決指標(biāo)定義的問題,然后依次約束和驅(qū)動模型設(shè)計進而約束數(shù)據(jù)加工,將產(chǎn)生于線上業(yè)務(wù)流程各環(huán)節(jié)的數(shù)據(jù)進行領(lǐng)域化抽象,并實現(xiàn)業(yè)務(wù)規(guī)則的數(shù)字化,完成“物理世界”的數(shù)字孿生,形成“數(shù)字世界”。在工具層面實現(xiàn)基于需求的一體化設(shè)計和開發(fā),在機制上形成模型設(shè)計與數(shù)據(jù)開發(fā)的有效協(xié)同。
圖2 體系化建模思路
體系化建模不僅在工具上基于需求實現(xiàn)一體化設(shè)計和開發(fā),而且在機制上形成模型設(shè)計與數(shù)據(jù)加工的有效協(xié)同。首先,基于數(shù)倉規(guī)劃,將業(yè)務(wù)提的指標(biāo)、維度映射到對應(yīng)的主題、業(yè)務(wù)過程,然后基于數(shù)據(jù)定義標(biāo)準(zhǔn),對業(yè)務(wù)指標(biāo)進行結(jié)構(gòu)化拆解,實現(xiàn)指標(biāo)的技術(shù)定義,完成高層模型設(shè)計;其次,基于高層模型設(shè)計環(huán)節(jié)沉淀的元數(shù)據(jù),驅(qū)動和約束最終的物理模型設(shè)計,為后續(xù)的數(shù)據(jù)加工確定最終的DDL,完成物理模型設(shè)計,以此來約束后續(xù)的數(shù)據(jù)開發(fā)。
圖3 體系化建模流程
4.1 高層模型設(shè)計
一線的數(shù)據(jù)需求都是以指標(biāo)和維度的形式提給數(shù)據(jù)工程師的,數(shù)據(jù)工程師首先要根據(jù)拿到的指標(biāo)需求確定要分析的業(yè)務(wù)過程,完成業(yè)務(wù)過程的劃分和定義,同時將指標(biāo)歸屬到對應(yīng)的業(yè)務(wù)過程下;其次,根據(jù)指標(biāo)的業(yè)務(wù)口徑,將業(yè)務(wù)指標(biāo)拆分成原子指標(biāo)+限定條件+時間周期或計算指標(biāo)+限定條件+時間周期形式,完成指標(biāo)的技術(shù)定義;第三,綜合各方分析視角,完成該業(yè)務(wù)過程一致維度的設(shè)計,多個業(yè)務(wù)過程一致性維度的設(shè)計構(gòu)成該主題下的總線矩陣。上述高層模型設(shè)計,涉及兩個環(huán)節(jié)。第一,通過業(yè)務(wù)抽象完成領(lǐng)域模型劃分,我們基于業(yè)務(wù)的實際流程來劃分業(yè)務(wù)過程,并按照分析領(lǐng)域完成業(yè)務(wù)過程的歸屬。在特定的業(yè)務(wù)下,分析領(lǐng)域和對應(yīng)的業(yè)務(wù)流程不會隨著分析需求的變化而變化,領(lǐng)域劃分也不會隨著分析需求的變化而變化,可以基于此劃分,構(gòu)建穩(wěn)定的資產(chǎn)目錄。第二,通過完成業(yè)務(wù)指標(biāo)的技術(shù)定義并將其歸屬到特定的業(yè)務(wù)過程下,以及確定特定業(yè)務(wù)過程的分析維度完成邏輯建模。邏輯建模進一步勾勒出了在特定的分析領(lǐng)域和業(yè)務(wù)過程下,具體的分析度量和分析維度,完成最終的高層模型設(shè)計,高層模型的設(shè)計決定了在特定的分析域和分析業(yè)務(wù)過程下的具體物理產(chǎn)出。
圖4 高層模型設(shè)計更具體的講,確定業(yè)務(wù)過程下的分析度量需要完成業(yè)務(wù)指標(biāo)的技術(shù)定義,并將其歸屬到特定的業(yè)務(wù)過程下。在這一步中,我們從技術(shù)角度對業(yè)務(wù)指標(biāo)產(chǎn)出了結(jié)構(gòu)化的技術(shù)定義,形成了一套結(jié)構(gòu)化指標(biāo)體系。一方面結(jié)構(gòu)化定義容易統(tǒng)一并形成標(biāo)準(zhǔn),避免全文字描述帶來理解上的歧義,另一方面結(jié)構(gòu)化的定義有助于系統(tǒng)來保障其一致性,解決靠人工來保障一致性難以實施的難題。我們的結(jié)構(gòu)化指標(biāo)方案將指標(biāo)分為:原子指標(biāo)、計算指標(biāo)和衍生指標(biāo),并針對這三類指標(biāo)做了如下明確的定義:
- 原子指標(biāo):指在某一業(yè)務(wù)過程下不可再拆分的指標(biāo),具有明確業(yè)務(wù)含義的名詞。在物理實現(xiàn)上,它是特定業(yè)務(wù)過程下業(yè)務(wù)實體字段加特定聚合算子的組合。
- 計算指標(biāo):由原子指標(biāo)與限定條件組合并經(jīng)過加減乘除四則運算得到的指標(biāo)。計算指標(biāo)有明確的計算公式作為計算指標(biāo)的定義,可以與多個限定條件進行組合。對于計算指標(biāo)的歸屬,我們遵循2個原則①由于原子指標(biāo)都能歸屬到相應(yīng)的業(yè)務(wù)過程,業(yè)務(wù)過程一般來說都有時間前后順序,將計算指標(biāo)歸屬到順序靠后的業(yè)務(wù)過程中;②如果涉及到多個業(yè)務(wù)過程,同時這些業(yè)務(wù)過程沒有時間的先后順序,這種情況下需要判斷指標(biāo)描述內(nèi)容與主題業(yè)務(wù)過程的相關(guān)性,然后再歸屬到對應(yīng)的業(yè)務(wù)過程。在物理實現(xiàn)上,計算指標(biāo)可以由其定義的計算公式直接自動的生成其實現(xiàn)邏輯。
- 衍生指標(biāo):由 “時間周期+多個限定條件+原子指標(biāo)/計算指標(biāo)” 組成的指標(biāo)。由于衍生指標(biāo)是由原子指標(biāo)/計算指標(biāo)衍生出來的,所以衍生指標(biāo)需要歸屬到原子指標(biāo)/計算指標(biāo)所屬的業(yè)務(wù)過程。
- 限定條件:限定條件是指標(biāo)業(yè)務(wù)口徑的一個邏輯封裝,時間周期也可以算作一類特殊的限定條件,是衍生指標(biāo)必須包含的。在物理實現(xiàn)上我們將其加工成衍生事實的一個邏輯標(biāo)簽。
在這樣的定義后,衍生指標(biāo)便清晰地分為原子衍生指標(biāo)和計算衍生指標(biāo)兩類,都可以比較容易地通過結(jié)構(gòu)化的方式半自動生成定義和實現(xiàn)。衍生指標(biāo)覆蓋了用戶生成報表等數(shù)據(jù)產(chǎn)品的所有指標(biāo),而原子指標(biāo)和計算指標(biāo)作為指標(biāo)體系的核心內(nèi)容不直接提供給用戶使用。在指標(biāo)的實現(xiàn)方式上也容易明確,原子指標(biāo)和計算指標(biāo)的邏輯盡量下沉在基礎(chǔ)事實層中,而衍生指標(biāo)在中間層和應(yīng)用層根據(jù)需求實現(xiàn)。
4.2 詳細(xì)模型設(shè)計
詳細(xì)模型設(shè)計是將高層模型設(shè)計轉(zhuǎn)化為實際物理生產(chǎn)的橋梁,詳細(xì)模型設(shè)計必須結(jié)合數(shù)據(jù)的生產(chǎn)流程,給出與其分層模型相匹配的實際物理模型。根據(jù)數(shù)倉不同分層間的職責(zé)邊界,詳細(xì)模型設(shè)計又呈現(xiàn)出不同特點。具體說來,需要數(shù)據(jù)工程師結(jié)合業(yè)務(wù)需求,對應(yīng)的邏輯建模產(chǎn)出的DDL完成最終物理模型的加工生產(chǎn),這是我們詳細(xì)模型設(shè)計的核心。對于中間層匯總模型,是為提高查詢性能,基于明細(xì)模型進行預(yù)計算的過程,不涉及任務(wù)業(yè)務(wù)口徑的加工,只要元數(shù)據(jù)定義清晰,完全可以通過工具實現(xiàn)“TEXT2SQL”進而實現(xiàn)配置化生產(chǎn)。我們的工程師只需要關(guān)注基建層的開發(fā),中間和應(yīng)用層建設(shè)交給工具完成,節(jié)省了大量的時間和精力。在展開詳細(xì)模型設(shè)計之前,我們先介紹一下數(shù)倉分層,然后通過數(shù)據(jù)分層來介紹與之匹配的詳細(xì)模型設(shè)計。
4.2.1 數(shù)倉分層簡介
按照整個數(shù)據(jù)生產(chǎn)的流轉(zhuǎn)鏈路看,數(shù)據(jù)會經(jīng)歷產(chǎn)生、接入、加工到最后的消費,數(shù)倉的建設(shè)主要集中在數(shù)據(jù)的接入和加工環(huán)節(jié)。數(shù)據(jù)的接入包含數(shù)據(jù)的獲取和清洗兩個過程,通過該過程完成了數(shù)據(jù)從業(yè)務(wù)系統(tǒng)到倉庫的流轉(zhuǎn),為后續(xù)基于分析場景的數(shù)據(jù)建模提供了原始數(shù)據(jù),我們將該過程產(chǎn)生的數(shù)據(jù)定義為準(zhǔn)備區(qū)數(shù)據(jù),該過程基本通過工具實現(xiàn)了自動化,不需要太多的人為參與和設(shè)計。另一過程,為了支持用戶、報表制作者以及其他BI應(yīng)用的查詢,我們需要為用戶提供開放區(qū)數(shù)據(jù),目前采取維度建模和倉庫分層理論,通過星型明細(xì)模型+多維匯總模型的方式分別滿足用戶固定的在線分析,以及無法預(yù)期的、隨意查詢的即席分析訴求。該區(qū)域是數(shù)據(jù)工程師整體工作的核心,可以利用在線建模沉淀的元數(shù)據(jù),輔助我們完成數(shù)據(jù)生產(chǎn)的提效和提質(zhì)。在數(shù)據(jù)準(zhǔn)備區(qū),我們將數(shù)據(jù)模型分為基礎(chǔ)明細(xì)層(B3)、中間匯總層(B2、B1)來支撐不同場景的數(shù)據(jù)需求。
圖5 數(shù)據(jù)分層模型
4.2.2 元數(shù)據(jù)驅(qū)動的詳細(xì)模型設(shè)計
設(shè)計理念元數(shù)據(jù)驅(qū)動的詳細(xì)模型設(shè)計,是基于高層模型設(shè)計產(chǎn)出的邏輯模型,進而來驅(qū)動和約束后續(xù)要加工的物理模型DDL,大致分成三步:第一,確定物理模型名稱;第二,基于模型歸屬自動生成基礎(chǔ)事實,基于需求確定衍生事實,完成事實確定;第三,基于總線矩陣,確定模型一致性維度。每一步具體操作的內(nèi)容因模型所屬的倉庫分層不同而有所區(qū)別。對于中間匯總層而言,只是在基礎(chǔ)模型基礎(chǔ)上的多維上卷,基礎(chǔ)模型確定以后,人工通過簡單的指標(biāo)拖拽,就可以自動生產(chǎn)DDL而且可以自動生產(chǎn)DML,相對較簡單,在此不做詳述。接下來,我們重點描述一下基礎(chǔ)事實層的詳細(xì)模型設(shè)計,具體如下圖所示:
圖6 詳細(xì)模型設(shè)計第一步,根據(jù)模型的出處確定模型名稱,經(jīng)過此處,不僅規(guī)范了模型命名,而且在數(shù)據(jù)生產(chǎn)前自動實現(xiàn)了資產(chǎn)掛載,方便了后續(xù)數(shù)據(jù)的管理和運營;第二步,根據(jù)第一步的模型掛載,約束并確定該模型要生產(chǎn)的事實,即該模型所包含的基礎(chǔ)事實字段由對應(yīng)業(yè)務(wù)過程下的快照表決定,自動生產(chǎn)基礎(chǔ)事實字段,該模型所包含的衍生事實由由對應(yīng)業(yè)務(wù)過程下的衍生指標(biāo)所需的限定條件決定,確保了需求、模型設(shè)計、物理實現(xiàn)三者的統(tǒng)一。通過該過程,我們約束了實際生產(chǎn)環(huán)節(jié)物理模型的隨意加工,從源頭消除了“煙囪式”開發(fā)帶來的冗余。通過元數(shù)據(jù)約束了對應(yīng)主題應(yīng)該生產(chǎn)哪些事實,從源頭防止了邊界不清帶來的交叉耦合問題,保障了最終物理模型的高內(nèi)聚、低耦合。
圖7 元數(shù)據(jù)驅(qū)動的模型設(shè)計從源頭消除煙囪式開發(fā)
第三步,基于總線矩陣確定物理模型的一致性維度,不是基于需求來添加維度,后期如果因需求變動而頻繁調(diào)整基礎(chǔ)模型,這樣會導(dǎo)致基礎(chǔ)模型復(fù)用性差,而是在模型生產(chǎn)之初,一次性完成維度的設(shè)計和生產(chǎn),以提升模型的穩(wěn)定性和復(fù)用性。
圖8 采用總線矩陣約束模型保障模型復(fù)用性和穩(wěn)定性
產(chǎn)品實現(xiàn)在闡述了詳細(xì)模型設(shè)計的理念和約束后,我們再詳細(xì)看一下在具體產(chǎn)品層面是如何實現(xiàn)的。詳細(xì)模型設(shè)計就是基于上一階段的高層模型設(shè)計和物理建模的基本原則,采用系統(tǒng)化的方式引導(dǎo)數(shù)據(jù)工程師按照標(biāo)準(zhǔn)的流程完成對應(yīng)的物理模型設(shè)計,以最終產(chǎn)出的DDL作為該環(huán)節(jié)的交付物,指導(dǎo)數(shù)據(jù)工程師在生產(chǎn)環(huán)節(jié),完成最終的DML編寫。這個環(huán)節(jié)除了輔助數(shù)據(jù)工程師完成規(guī)范化的模型設(shè)計外,還通過物理模型完備了上下文描述,包括完成了物理表與資產(chǎn)目錄的映射關(guān)系、物理字段與指標(biāo)維度的映射關(guān)系,為后續(xù)資產(chǎn)消費環(huán)節(jié)提供了完備的基礎(chǔ)元數(shù)據(jù)。按照物理模型設(shè)計最終的交付物來看,它的設(shè)計流程主要包括兩部分:第一,按照規(guī)范和標(biāo)準(zhǔn),確定物理模型的名稱;第二,按照規(guī)范和標(biāo)準(zhǔn),確定物理模型的數(shù)據(jù)字典。
- 通過確定所建物理模型對應(yīng)的數(shù)倉層級、主題域和業(yè)務(wù)過程,自動生成該物理表的名稱。
圖9 詳細(xì)模型設(shè)計之確定物理表的名稱和資產(chǎn)歸屬
- 基于高層模型設(shè)計環(huán)節(jié)確定的分析度量和維度,自動生成物理表對應(yīng)的數(shù)據(jù)字典,確保模型設(shè)計與最終物理落地的一致性,從源頭杜絕不規(guī)范的開發(fā)。
圖10 詳細(xì)模型設(shè)計之確定物理表的字段信息并完成指標(biāo)、維度與字段的映射
4.3 上線前卡點
高層模型設(shè)計和詳細(xì)模型設(shè)計約束和規(guī)范了數(shù)據(jù)工程師如何確定一個模型的DDL,對于如何約束和保證實際的加工邏輯(模型的DML)和業(yè)務(wù)定義保持一致,并沒有與之匹配的約束卡點。上線前卡點就是利用高層模型和詳細(xì)模型設(shè)計這兩個環(huán)節(jié)產(chǎn)生的元數(shù)據(jù),通過自動化的方式來完成DML與業(yè)務(wù)定義的一致性驗證,消除人工驗證帶來的成本問題。具體卡點驗證包括四類:
- 相同指標(biāo)不同出處的數(shù)據(jù)一致性驗證,將來自不同出處的相同指標(biāo)上卷到相同維度,它們具有相同的數(shù)值;
- 業(yè)務(wù)定義與具體實現(xiàn)的一致性驗證,此類驗證主要針對碼值類字段,具體數(shù)值必須與其對應(yīng)的業(yè)務(wù)定義一致;
- 研發(fā)合規(guī)的約束類驗證,例如,主鍵必須唯一、全表掃描、代碼流程分支覆蓋(T+1重導(dǎo)、批量重導(dǎo)、全量重導(dǎo));
- 變更時的級聯(lián)影響,包括下游的生產(chǎn)任務(wù)影響和消費任務(wù)影響。
5 總結(jié)
體系化建模是配送數(shù)據(jù)團隊圍繞著數(shù)據(jù)資產(chǎn)化建設(shè)“提質(zhì)降本和數(shù)據(jù)應(yīng)用提效”這一目標(biāo)孵化的產(chǎn)物,本著將標(biāo)準(zhǔn)流程工具化的思路,我們通過工具來約束和規(guī)范數(shù)據(jù)工程師的生產(chǎn),力圖將模型的規(guī)范化治理做到事前,避免重蹈業(yè)務(wù)快速發(fā)展階段“先建設(shè)后治理”的覆轍。在模型提質(zhì)方面,我們實現(xiàn)了高層模型設(shè)計、物理模型設(shè)計的統(tǒng)一以及業(yè)務(wù)定義與物理實現(xiàn)的統(tǒng)一,而且在提效方面,在線建模通過系統(tǒng)的方式為我們沉淀了寶貴的元數(shù)據(jù),是我們后續(xù)基于元數(shù)據(jù)進行應(yīng)用提效的關(guān)鍵。① 體系化建模,搭建起了數(shù)據(jù)定義到生產(chǎn)的橋梁,實現(xiàn)數(shù)據(jù)到信息的轉(zhuǎn)化,提供了完備的流程保障,并在配送內(nèi)部實現(xiàn)了涉及10多個主題、180多個原子指標(biāo)、300多個計算指標(biāo)和90多個衍生指標(biāo)的統(tǒng)一。
圖11 數(shù)據(jù)定義、生產(chǎn)、加工全流程統(tǒng)一
在美團內(nèi)部,涉及配送交易、履約等核心主題的規(guī)范性建設(shè)方面治理評分均取得了優(yōu)秀的成績,特別是在指標(biāo)完整性建設(shè)得分和物理模型維度完整性得分方面,均取得90分以上優(yōu)秀成績。
圖12 健康的主題得分
② 得益于體系化建模實現(xiàn)的元數(shù)據(jù)和數(shù)據(jù)的統(tǒng)一,我們實現(xiàn)了數(shù)據(jù)建設(shè)從“保姆”模式到“服務(wù)+自助”模式的轉(zhuǎn)變。在數(shù)據(jù)檢索方面,得益于體系化建模沉淀的高質(zhì)量元數(shù)據(jù),我們構(gòu)建了數(shù)據(jù)地圖,解決了數(shù)據(jù)“可搜索/可獲取”問題,并在檢索內(nèi)容方面實現(xiàn)了所建即所得。
圖13 數(shù)據(jù)可檢索在數(shù)據(jù)消費方面,得益于體系化建模沉淀的高質(zhì)量元數(shù)據(jù),我們實現(xiàn)了“服務(wù)+自助”的數(shù)據(jù)服務(wù)模式,不僅消除了傳統(tǒng)報表開發(fā)完全依賴產(chǎn)研帶來的開發(fā)流程長、需求響應(yīng)慢、覆蓋用戶少等問題,而且解決了無法“零SQL”即席分析的難題,滿足了業(yè)務(wù)人員通過“拖、拉、拽”即可快速產(chǎn)生分析報告的訴求。
圖14 按需自由組裝指標(biāo)獲取數(shù)據(jù)
目前,該模式廣泛應(yīng)用于所有業(yè)務(wù)大區(qū)”零SQL“數(shù)據(jù)運營人員早報、周報、季度述職等業(yè)務(wù)場景,得益于上述模式,不僅得到了一線人員廣泛好評,而且也將我們的數(shù)據(jù)RD從“取數(shù)”、“跑數(shù)”的繁重工作中解脫出來。
作者簡介
王鵬、新興、曉飛,均來自美團配送事業(yè)部數(shù)據(jù)團隊。