大數(shù)據(jù)時代的到來,讓越來越多的企業(yè)看到了數(shù)據(jù)資產(chǎn)的價值。將數(shù)據(jù)視為企業(yè)的重要資產(chǎn),已經(jīng)成為業(yè)界的一種共識,企業(yè)也在快速探索應(yīng)用場景和商業(yè)模式,并開始建設(shè)技術(shù)平臺。
但這里要特別強調(diào)一下,如果在大數(shù)據(jù)“拼圖”中遺忘了數(shù)據(jù)治理,可能再多的技術(shù)投入也是一種徒勞。因為沒有數(shù)據(jù)治理這一環(huán)節(jié),其帶來后果往往是:隨處可見的數(shù)據(jù)不統(tǒng)一,難以提升的數(shù)據(jù)質(zhì)量,難以完成的模型梳理,難以保障的數(shù)據(jù)安全等等,源源不斷的基礎(chǔ)性數(shù)據(jù)問題會進一步產(chǎn)生,進而導(dǎo)致數(shù)據(jù)建設(shè)難以真正發(fā)揮其商業(yè)價值。
因此,消除數(shù)據(jù)的不一致性,建立規(guī)范的數(shù)據(jù)標準,提高數(shù)據(jù)治理能力,實現(xiàn)數(shù)據(jù)安全共享,并能夠?qū)?shù)據(jù)作為企業(yè)的寶貴資產(chǎn)應(yīng)用于業(yè)務(wù)、管理、戰(zhàn)略決策中,發(fā)揮數(shù)據(jù)資產(chǎn)價值變得尤為迫切和重要,數(shù)據(jù)治理呼之欲出。本文將介紹美團配送技術(shù)團隊在數(shù)據(jù)治理方面的一些探索和實踐,希望能夠?qū)Υ蠹矣兴鶈l(fā)和幫助。
1. 如何理解數(shù)據(jù)治理
數(shù)據(jù)治理,從嚴格的定義來講是對組織的大數(shù)據(jù)管理并利用其進行評估、指導(dǎo)和監(jiān)督的體系框架。企業(yè)通過制定戰(zhàn)略方針、建立組織架構(gòu)、明確職責分工等,實現(xiàn)數(shù)據(jù)的風險可控、安全合規(guī)、績效提升和價值創(chuàng)造,并提供創(chuàng)新的大數(shù)據(jù)服務(wù)。從個人實踐的層面來講,數(shù)據(jù)治理是對存量數(shù)據(jù)治理和增量數(shù)據(jù)管控的一個過程,對存量數(shù)據(jù)實現(xiàn)由亂到治、建章立制,對增量數(shù)據(jù)實現(xiàn)嚴格把控、行不逾矩的約束。
2. 要達成的目標
數(shù)據(jù)治理本身并不是目的,它只是實現(xiàn)組織戰(zhàn)略目標的一個手段而已。從組織職能和體量大小方面來看,不同類型組織的數(shù)據(jù)治理目標大不相同,而基于目前美團配送數(shù)據(jù)團隊所處的組織職能和發(fā)展階段來說,我們希望通過數(shù)據(jù)治理解決數(shù)據(jù)生產(chǎn)、管理和使用過程中遇到的問題,完善已有的生產(chǎn)管理流程規(guī)范,保障數(shù)據(jù)安全和數(shù)據(jù)一致性,從而促進數(shù)據(jù)在組織內(nèi)無障礙地進行共享。
3. 何時進行數(shù)據(jù)治理
找準數(shù)據(jù)治理的切入點,是關(guān)乎數(shù)據(jù)治理成敗的關(guān)鍵。很多同學會問,如果將數(shù)倉建設(shè)分為數(shù)倉雛形階段、數(shù)倉迭代階段和能力沉淀階段,數(shù)據(jù)治理應(yīng)該在哪個階段切入為宜呢?其實,我們不該把數(shù)據(jù)治理看作是一個階段性的項目,它應(yīng)該是一個貫徹數(shù)據(jù)建設(shè)各階段的長期工程,只是在不同階段根據(jù)業(yè)務(wù)特點和技術(shù)特點其覆蓋的范圍和關(guān)注的目標有所不同而已。
在數(shù)倉雛形階段,也就是美團配送業(yè)務(wù)剛成立時,在該階段中業(yè)務(wù)有兩個特點:第一,重規(guī)模、快擴張;第二,業(yè)務(wù)變化快,數(shù)據(jù)需求多。為了快速響應(yīng)業(yè)務(wù)的需求,并能夠保障數(shù)據(jù)交付結(jié)果的準確性,我們主要進行技術(shù)規(guī)范和指標口徑的治理,在規(guī)范治理方面,通過制定一系列研發(fā)規(guī)范來保障研發(fā)質(zhì)量,并在實際建模過程中不斷迭代和完善我們的研發(fā)質(zhì)量。在指標治理方面,我們對存量指標口徑進行梳理,從而確保指標口徑對外輸出一致。
在數(shù)倉迭代階段,我們希望通過架構(gòu)治理改變前期開發(fā)的“煙囪式”模型,消除冗余,提升數(shù)據(jù)一致性。并且隨著數(shù)倉中管理的數(shù)據(jù)越多,數(shù)據(jù)安全和成本問題也變得越發(fā)重要。所以在該階段,我們在產(chǎn)研層面逐步開展架構(gòu)治理、資源治理和安全治理。在架構(gòu)治理方面,我們明確了數(shù)倉中各層和各主題的職責和邊界,構(gòu)建一致的基礎(chǔ)數(shù)據(jù)核心模型,并制定一系列的指標定義規(guī)范來確保指標的清晰定義,并基于業(yè)務(wù)迭代來不斷完善和迭代相應(yīng)的模型和規(guī)范。在資源治理方面,我們通過對不同層級的數(shù)據(jù)采用不同生命周期管理策略,確保用最少的存儲成本來滿足最大的業(yè)務(wù)需求。在安全治理方面,我們通過制定一系列的數(shù)據(jù)安全規(guī)范來確保數(shù)據(jù)的使用安全。
在能力沉淀階段,我們基于前兩個階段所做的業(yè)務(wù)和技術(shù)沉淀,將前期一系列規(guī)范形成標準,從業(yè)務(wù)到產(chǎn)研,自上而下地推動數(shù)據(jù)治理,并通過建立相應(yīng)的組織、流程和制度來保障標準在該階段的全面落地實施,并通過建設(shè)數(shù)據(jù)治理平臺來輔助更高質(zhì)量地執(zhí)行標準。
4.如何開展數(shù)據(jù)治理
從大的階段來看,數(shù)據(jù)治理主要分為存量數(shù)據(jù)“由亂到治”的階段,以及增量數(shù)據(jù)嚴格按照規(guī)章制度實施確保“行不逾矩”的運營階段。在“由亂到治”的過程中,我們需要沉淀出規(guī)章制度、標準規(guī)范,以及輔以規(guī)章制度標準規(guī)范實施的工具和組織。在增量數(shù)據(jù)的運營階段,我們主要靠對應(yīng)的組織確保規(guī)章制度的落實,通過審計定期考察實施效果,并在長期的運營中不斷完善規(guī)章制度。在實現(xiàn)存量數(shù)據(jù)“由亂到治”的階段,我們主要采取了“兩步走”策略,具體執(zhí)行策略如下所示。
4.1 定標準,提質(zhì)量
第一步,主要圍繞著業(yè)務(wù)標準、技術(shù)標準、數(shù)據(jù)安全標準和資源管理標準進行展開。通過業(yè)務(wù)標準,指導(dǎo)一線團隊完成指標的規(guī)范定義,最終達成業(yè)務(wù)對指標認知一致性這一目標;然后通過技術(shù)標準來指導(dǎo)研發(fā)同學規(guī)范建模,從技術(shù)層面解決模型擴展性差、冗余多等問題并保障數(shù)據(jù)一致性;通過安全標準來指導(dǎo)我們加強數(shù)據(jù)的安全管控,確保數(shù)據(jù)拿不走、走不脫,針對敏感數(shù)據(jù),用戶看不懂;通過資源管理標準的制定,幫助我們在事前做好資源預(yù)算,在事中做好資源管理,在事后做好賬單管理。
4.1.1 業(yè)務(wù)標準
業(yè)務(wù)標準主要是指標的管理和運營標準,我們主要解決三個問題:指標由誰來定義,指標該如何定義,指標該如何運營?;谶@三個問題,我們同時提出了三條原則:
業(yè)務(wù)團隊負責指標的定義。
產(chǎn)研商分負責給出指標定義標準和輔助工具,輔助業(yè)務(wù)團隊完成指標的規(guī)范定義,達成指標認知一致性這一目標。
最后由指標管理委員會負責指標的管理與運營,保障指標從創(chuàng)建、審核、上線以及到最后消亡的整個生命周期的運營。
為統(tǒng)一指標的定義,我們將指標分為原子指標、衍生指標和派生指標,原子指標通過限定條件和時間的限定生成衍生指標。衍生指標間的“四則混合運算”構(gòu)成了派生指標。我們不但制定了指標的標準定義,還對其做了準確的資產(chǎn)歸屬,一個指標出自一個具體的業(yè)務(wù)過程,一個業(yè)務(wù)過程歸屬于不同的數(shù)據(jù)域,多個數(shù)據(jù)域構(gòu)成了美團配送業(yè)務(wù)線下的分析場景,如下圖所示:
4.1.2 技術(shù)標準
這里所說的技術(shù)標準,主要是針對數(shù)據(jù)RD提出的建模標準和數(shù)據(jù)生產(chǎn)規(guī)范,通過建模標準來明確數(shù)倉分層架構(gòu),并清晰定義每一層的邊界與職責,采用維度建模的設(shè)計理念。我們的整個倉庫架構(gòu)分為四層:操作層、基礎(chǔ)事實層、中間層和應(yīng)用層,并在每一層同步制定對應(yīng)的建模規(guī)范,如下圖所示:
除了建模標準外,我們還制定了涵蓋從生產(chǎn)到運維環(huán)節(jié)的生產(chǎn)規(guī)范以保障模型的質(zhì)量,主要包括上線前的模型評審、生產(chǎn)過程中的完成元數(shù)據(jù)配置、DQC、SLA和生命周期設(shè)置以及上線后的日常運維機制等等。尤其針對元數(shù)據(jù)管理和生命周期管理,我們分別制定了倉庫每一層元數(shù)據(jù)維護規(guī)范和生命周期管理規(guī)范,其中元數(shù)據(jù)管理規(guī)范,是依據(jù)數(shù)倉各層級中各種類型表的建模標準來制定,需要做到規(guī)范命名,明確數(shù)據(jù)歸屬,并打通業(yè)務(wù)元數(shù)據(jù)和技術(shù)元數(shù)據(jù)之間的關(guān)系。而生命周期管理規(guī)范,是依據(jù)配送業(yè)務(wù)特點和數(shù)倉各層級現(xiàn)狀來制定的,如下表所示:
4.1.3 安全標準
圍繞數(shù)據(jù)安全標準,首先要有數(shù)據(jù)的分級、分類標準,確保數(shù)據(jù)在上線前有著準確的密級。第二,針對數(shù)據(jù)使用方,要有明確的角色授權(quán)標準,通過分級分類和角色授權(quán),來保障重要數(shù)據(jù)拿不走。第三,針對敏感數(shù)據(jù),要有隱私管理標準,保障敏感數(shù)據(jù)的安全存儲,即使未授權(quán)用戶繞過權(quán)限管理拿到敏感數(shù)據(jù),也要確保其看不懂。第四,通過制定審計標準,為后續(xù)的審計提供審計依據(jù),確保數(shù)據(jù)走不脫。
4.1.4 資源管理標準
在資源管理方面,配送技術(shù)工程部已經(jīng)對資源管理涉及的內(nèi)容進行了合理抽象和準確定義,抽象出租戶、資源和項目組等概念。不管是后續(xù)的資源預(yù)算還是資源管理,我們都需要基于租戶和項目組來進行運營,因此,對于業(yè)務(wù)團隊而言,我們只需要將租戶和項目組特定職能劃分清楚,然后根據(jù)不同的職能歸屬我們的資產(chǎn),并分配生產(chǎn)該資產(chǎn)所需要的資源。為了方便后續(xù)的運營,我們對每個租戶和項目組分配確定了責任人,由責任人對運營結(jié)果負責。
對業(yè)務(wù)部門來說,資源管理的關(guān)鍵是對數(shù)據(jù)資產(chǎn)做清晰的分類,基于數(shù)據(jù)的分類劃分不同的租戶和項目組,將數(shù)據(jù)和租戶、項目組實現(xiàn)一一映射。由于租戶和項目組都有特定的責任人對其負責,因此,我們通過這種映射關(guān)系,不僅實現(xiàn)了資產(chǎn)的隔離,還實現(xiàn)了資產(chǎn)確權(quán)(項目組負責人同時對資產(chǎn)負責和運營)。我們整體將數(shù)據(jù)分為兩大類,一是原始數(shù)據(jù),包括流到數(shù)據(jù)中心的數(shù)據(jù)和日志中心的數(shù)據(jù),針對流入數(shù)據(jù)中心的數(shù)據(jù),根據(jù)其產(chǎn)生的方式不同,又進一步分為業(yè)務(wù)數(shù)據(jù)和流量數(shù)據(jù)。二是加工數(shù)據(jù),對應(yīng)著數(shù)據(jù)團隊的倉庫建設(shè)和其他團隊的集市建設(shè)?;谏鲜龅拿枋觯槍Y源管理,我們做了如下劃分和確權(quán):
4.2 重實施,保落實
第二步,落實第一步的標準,完成數(shù)據(jù)治理第一階段的目標,實現(xiàn)存量數(shù)據(jù)“由亂到治”,并完成相應(yīng)組織和工具的建設(shè),為實現(xiàn)第二階段“行不逾矩”這一目標提供工具和組織能力。在此過程中,主要分成三個方面的治理工作:第一,架構(gòu)模型“由亂到治”的治理,消除模型冗余、跨層引用和鏈路過長等問題,在架構(gòu)上保證模型的穩(wěn)定性和數(shù)據(jù)一致性;第二,元數(shù)據(jù)“由亂到治”的治理,實現(xiàn)指標的標準定義、技術(shù)元數(shù)據(jù)的完整采集并建立指標與表、字段的映射關(guān)系,徹底解決指標認知一致性,以及用戶在使用數(shù)據(jù)過程中的“找數(shù)難”等問題;第三,圍繞著隱私安全和共享安全加強數(shù)據(jù)的安全管控來實現(xiàn)數(shù)據(jù)走不脫、拿不走,以及隱私數(shù)據(jù)看不懂這一目標。
4.2.1 架構(gòu)治理
總結(jié)起來,架構(gòu)方面的治理主要是解決兩個問題:第一,模型的靈活性,避免需求變更和業(yè)務(wù)迭代對核心模型帶來的沖擊,讓RD深陷無休止的需求迭代中;第二,數(shù)據(jù)一致性,消除因模型冗余、跨層引用等問題帶來的數(shù)據(jù)一致性問題。
模型靈活性
配送解決的是效率、成本和體驗三者之間的平衡問題,即在滿足一定用戶體驗的條件下,如何提升騎手配送效率,服務(wù)更多的商家,以及如何管控騎手,降低配送成本。抽象到數(shù)據(jù)層面,基本上反映為上游包裹來源的變化、配送對外提供服務(wù)的變化以及對內(nèi)業(yè)務(wù)管控的變化。為屏蔽業(yè)務(wù)迭代給核心模型帶來的沖擊,我們通過對外封裝包裹屬性和對內(nèi)封裝運單屬性,抽象出包裹來源、提供服務(wù)、業(yè)務(wù)架構(gòu)等一致性維度,任何業(yè)務(wù)迭代在數(shù)據(jù)層面只涉及維度的調(diào)整,大大降低了對核心模型沖擊和“煙囪式”數(shù)據(jù)建設(shè)問題(新來一個業(yè)務(wù),就拉起一個分支進行建設(shè))。
配送指標體系建設(shè)的一個重點就是要輸出各組織層級的規(guī)模、體驗和效率指標,實現(xiàn)對運力的有效管控,運力所屬組織的層級關(guān)系會隨業(yè)務(wù)的迭代而不斷變化。為了適應(yīng)這種變化,避免僅僅因增加維度帶來中間層數(shù)據(jù)的重復(fù)建設(shè),我們將組織層級維表由固定層級建模方式調(diào)整為橋接表的方式來自適配組織層級變化,從而實現(xiàn)了中間層模型可以自動適配組織層級的變化,能自動產(chǎn)生新維度的指標。如下圖所示:
在精細化分析的場景下,業(yè)務(wù)會有分時段、分距離段以及分價格段的數(shù)據(jù)分析訴求。我們以分時段為例,有晚高峰、午高峰、下午茶等不同的分時段,不同的業(yè)務(wù)方對同一個時段的定義口徑不同,即不同的業(yè)務(wù)方會有不同的分時段策略。為解決該場景下的分析訴求,我們在事實表中消除退化維度,將原來封裝到事實表的時段邏輯遷移到維度表中,并將事實表中的時間進行按特定的間隔進行刻度化作為維表中的主鍵,將該主鍵作為事實表的外鍵。這樣,針對業(yè)務(wù)不同的時間策略需要,我們就可以在維表中進行配置,避免了重復(fù)調(diào)整事實表和反復(fù)刷數(shù)的問題。即通過將時間、價格、距離事實刻度化,實現(xiàn)靈活維度分析。如下圖所示:
數(shù)據(jù)一致性
數(shù)據(jù)一致性得不到保障的一個根本原因,是在建模的過程中沒有實現(xiàn)業(yè)務(wù)口徑標簽化,并將業(yè)務(wù)口徑下沉到主題層。很多同學在基于需求進行開發(fā)時,為實現(xiàn)方便,將新指標口徑通過“Case When”的方式在應(yīng)用層和中間層進行封裝開發(fā),主題層建設(shè)不能隨著業(yè)務(wù)的迭代不斷完善,RD在開發(fā)過程中會直接引用倉庫的快照表在中間層或應(yīng)用層完成需求開發(fā)。久而久之,就會造成數(shù)據(jù)復(fù)用性低下,相同指標的口徑封裝在不同的應(yīng)用表來滿足不同報表的需求,但隨著應(yīng)用的增多,很難保障相同指標在不用應(yīng)用表封裝邏輯的一致性,數(shù)據(jù)一致性難以得到保障,同時這種方式還帶來兩個嚴重后果:第一,跨層引用增多,數(shù)據(jù)復(fù)用性低下,造成計算和存儲成本的浪費;第二,一旦指標口徑發(fā)生變化,將是一個“災(zāi)難”,不僅影響評估是一個問題,而且涉及該指標的應(yīng)用層邏輯調(diào)整對RD來說也是一個巨大的挑戰(zhàn)。
因此,我們在“由亂到治”的治理過程中,以衍生事實的方式實現(xiàn)業(yè)務(wù)口徑標簽化,將業(yè)務(wù)邏輯下沉到主題層,消除跨層引用和模型冗余等問題,從技術(shù)層面保障數(shù)據(jù)一致性是該階段架構(gòu)治理的重點。我們在業(yè)務(wù)上,已經(jīng)劃分了嚴格的數(shù)據(jù)域和業(yè)務(wù)過程,在主題建設(shè)層面,將業(yè)務(wù)劃分的數(shù)據(jù)域作為我們的主題,并基于業(yè)務(wù)過程進行維度建模,將屬于該業(yè)務(wù)過程的指標口徑封裝在對應(yīng)業(yè)務(wù)過程下的衍生事實中。
4.2.2 元數(shù)據(jù)治理
元數(shù)據(jù)治理主要解決三個問題:首先,通過建立相應(yīng)的組織、流程和工具,推動業(yè)務(wù)標準的落地實施,實現(xiàn)指標的規(guī)范定義,消除指標認知的歧義;其次,基于業(yè)務(wù)現(xiàn)狀和未來的演進方式,對業(yè)務(wù)模型進行抽象,制定清晰的主題、業(yè)務(wù)過程和分析方向,構(gòu)建完備的技術(shù)元數(shù)據(jù),對物理模型進行準確完善的描述,并打通技術(shù)元數(shù)據(jù)與業(yè)務(wù)元數(shù)據(jù)的關(guān)系,對物理模型進行完備的刻畫;第三,通過元數(shù)據(jù)建設(shè),為使用數(shù)據(jù)提效,解決“找數(shù)、理解數(shù)、評估”難題以及“取數(shù)、數(shù)據(jù)可視化”等難題。
首先,為保障業(yè)務(wù)標準的順利實施,實現(xiàn)業(yè)務(wù)對指標認知一致性這一目標。我們協(xié)同產(chǎn)研、商分、業(yè)務(wù)部門推動成立了度量衡委員會,并建立起指標運營機制,通過組織保障來實現(xiàn)指標運營按照規(guī)范的標準和流程實施。如下圖所示:
其次,基于配送業(yè)務(wù)的現(xiàn)狀和未來演進方式,我們進行了高度的業(yè)務(wù)抽象,完成了主題、業(yè)務(wù)過程和分析方向等元數(shù)據(jù)內(nèi)容的建設(shè)。配送即物流,通過線上系統(tǒng)和線下運營,我們將用戶的配送需求和美團的運力進行有效的資源配置,實現(xiàn)高服務(wù)體驗、低成本的配送服務(wù)。對外,我們將配送服務(wù)通過平臺化的方式,提供給用戶、商戶和電商平臺,以滿足不同用戶在不同業(yè)務(wù)場景下的配送需求。 對內(nèi),我們通過不同的調(diào)度模式將運單池中的運單調(diào)度給合適的騎手來完成履約,平衡規(guī)模、成本和體驗之間的關(guān)系。如下圖所示:
基于以上的業(yè)務(wù)模式,我們劃分了運單主題(對履約數(shù)據(jù)域下的數(shù)據(jù)進行構(gòu)建,支撐規(guī)模和體驗的數(shù)據(jù)分析需求)、調(diào)度主題(調(diào)度數(shù)據(jù)域下產(chǎn)生的數(shù)據(jù),用于支撐調(diào)度策略的分析)、結(jié)算、評價、投訴、取消主題(用于支撐體驗、成本數(shù)據(jù)分析需求)和管控主題(用于支撐運力獎懲、違規(guī)和招募分析需求)等各種主題,并在每個主題下劃分對應(yīng)的業(yè)務(wù)過程,在應(yīng)用層制定分析方向的分析標簽,通過對元數(shù)據(jù)內(nèi)容的建設(shè)完成對業(yè)務(wù)的抽象,為物理模型的刻畫準備了基礎(chǔ)數(shù)據(jù)。
第三,元數(shù)據(jù)服務(wù)建設(shè),我們打通了元數(shù)據(jù)從采集到構(gòu)建再到應(yīng)用的整條鏈路,為使用數(shù)據(jù)提效,解決“找數(shù)、理解數(shù)、評估”難題以及“取數(shù)、數(shù)據(jù)可視化”難題。在整個建設(shè)過程中,我們圍繞著元數(shù)據(jù)采集、元模型構(gòu)建、元數(shù)據(jù)服務(wù)以及最后的產(chǎn)品應(yīng)用進行展開,整體架構(gòu)如下圖所示:
元數(shù)據(jù)采集
元數(shù)據(jù)采集分為人工錄入和自動抽取,通過人工錄入的方式實現(xiàn)物理表的準確歸屬(包括該表屬于倉庫哪一層、對應(yīng)的主題、業(yè)務(wù)過程、星型模型關(guān)系等)以及指標的采集,從而完成技術(shù)元數(shù)據(jù)和業(yè)務(wù)元數(shù)據(jù)的采集,通過自動抽取的方式完成生產(chǎn)元數(shù)據(jù)的采集和使用元數(shù)據(jù)的采集,主要包括:物理模型的依賴關(guān)系、存儲占用、熱度、等信息。
元模型構(gòu)建
分為以物理表為核心的基礎(chǔ)元模型構(gòu)建,以及以血緣為中心的血緣元模型?;A(chǔ)元模型構(gòu)建以物理表為中心,打通其與技術(shù)元數(shù)據(jù)(主題、業(yè)務(wù)過程、Schema)的關(guān)系,實現(xiàn)了物理表的清晰歸屬,打通其與生產(chǎn)元數(shù)據(jù)的關(guān)系,為其加上了物理表查詢熱度、資源消耗、查詢密級等生產(chǎn)使用信息,打通其與指標、維度和應(yīng)用的對應(yīng)關(guān)系,為上層的取數(shù)應(yīng)用建立了完備的元數(shù)據(jù)。血緣元模型以血緣為中心,不僅構(gòu)建了從上游業(yè)務(wù)表到倉庫離線表的物理血緣,而且打通了倉庫離線表到下游對應(yīng)報表的血緣,為后續(xù)的影響評估構(gòu)建了完備的元數(shù)據(jù)基礎(chǔ)。
元數(shù)據(jù)服務(wù)
統(tǒng)一元數(shù)據(jù)服務(wù)(OneService),主要提供兩類元數(shù)據(jù)服務(wù),提供查詢表、指標、維度基本信息的基礎(chǔ)元數(shù)據(jù)服務(wù)以及查詢表級血緣、字段級血緣的血緣服務(wù)。
元數(shù)據(jù)應(yīng)用
主要孵化出了三個產(chǎn)品,以“找數(shù)、理解數(shù)、影響評估”為應(yīng)用場景的數(shù)據(jù)地圖(Wherehows),以“取數(shù)、數(shù)據(jù)可視化”為應(yīng)用場景的數(shù)據(jù)可視化(QuickSight),以及以管理審計為目的的管理審計報表。
4.2.3 安全治理
安全治理主要加強了敏感數(shù)據(jù)的安全治理和數(shù)據(jù)共享環(huán)節(jié)的安全治理。通過對隱私數(shù)據(jù)的安全治理,不僅要保證其在存儲環(huán)節(jié)的不可見性,而且還要保證在其使用環(huán)節(jié)對用戶進行雙重鑒權(quán),字段的密級鑒權(quán)和解密的密鑰鑒權(quán);通過對數(shù)據(jù)共享環(huán)節(jié)的安全治理,我們在數(shù)據(jù)分級分類的基礎(chǔ)上,使數(shù)據(jù)的權(quán)限控制從表級權(quán)限控制擴展到行級權(quán)限控制。
敏感數(shù)據(jù)安全治理
敏感數(shù)據(jù)的安全治理,主要是解決敏感數(shù)據(jù)的存儲安全和使用安全。離線場景下,敏感數(shù)據(jù)存儲安全要解決兩大挑戰(zhàn):
確保倉庫側(cè)處理方案既要屏蔽上游業(yè)務(wù)系統(tǒng)變動帶來的影響,又要屏蔽自身策略對下游BI系統(tǒng)的影響。
要避免敏感數(shù)據(jù)在整個加工鏈路中的擴散。
因此,為解決倉庫處理方案與上游業(yè)務(wù)系統(tǒng)和下游BI系統(tǒng)的解耦問題,我們在上游敏感數(shù)據(jù)落到ODS環(huán)節(jié),確保落到ODS層的敏感數(shù)據(jù)必須是明文,為保障其安全,對ODS層的所有數(shù)據(jù)進行文件加密,但是在使用層面,對下游鏈路透明保障下游鏈路的正常生產(chǎn),并限制ODS層數(shù)據(jù)權(quán)限的開放。ODS層數(shù)據(jù)只用于安全生產(chǎn),通過此方案既屏蔽了上游處理方案對倉庫的影響,又解決了敏感數(shù)據(jù)的安全問題。當數(shù)據(jù)從離開倉庫時,在傳輸環(huán)節(jié)對敏感數(shù)據(jù)進行可逆操作,將敏感數(shù)據(jù)以明文的形式推入BI庫,實現(xiàn)與下游BI系統(tǒng)的解耦。為解決敏感數(shù)據(jù)在整個生產(chǎn)鏈路的擴散,我們在快照層對敏感數(shù)據(jù)進行脫敏處理,從快照層開始消除敏感數(shù)據(jù),為保障敏感數(shù)據(jù)的可逆性,將ODS層的敏感數(shù)據(jù)抽取到安全庫中并進行加密存儲,實現(xiàn)安全獨立管理。具體執(zhí)行如下圖所示:
針對敏感數(shù)據(jù)的使用安全,我們通過對敏感字段的權(quán)限控制和對解密密鑰的權(quán)限控制,來實現(xiàn)敏感數(shù)據(jù)使用安全這一目標。針對單獨抽取的敏感數(shù)據(jù),我們除了針對敏感數(shù)據(jù)設(shè)置其相應(yīng)的密級確保敏感數(shù)據(jù)的權(quán)限管控外,還基于"暗語"的加密方式為每個項目組分配一個相同的密鑰,并且將該密鑰存放到與Hadoop集群集成的KMS進行管理(確保支撐離線計算的高并發(fā)),確保解密時實現(xiàn)密鑰的權(quán)限管控。
共享環(huán)節(jié)安全治理
針對共享環(huán)節(jié)的安全治理,我們主要是在數(shù)據(jù)生產(chǎn)環(huán)節(jié)完成數(shù)據(jù)的分級分類和數(shù)據(jù)確權(quán),在數(shù)據(jù)的使用環(huán)節(jié)完成數(shù)據(jù)的表級權(quán)限控制和行級權(quán)限控制。確保數(shù)據(jù)在使用環(huán)節(jié)規(guī)范的審批流轉(zhuǎn),權(quán)限開放以后的安全審計,保證數(shù)據(jù)走不脫。
首先,我們在生產(chǎn)環(huán)節(jié)B3、B2、B1層數(shù)據(jù)按照主題或?qū)嶓wC層數(shù)據(jù)按照應(yīng)用方向進行邏輯劃分,并設(shè)定資源的密級和權(quán)限負責人。特別地為實現(xiàn)B3層數(shù)據(jù)在查詢環(huán)節(jié)可按照業(yè)務(wù)線進行權(quán)限管控這一目標(即行級鑒權(quán)),針對B3層數(shù)據(jù),我們標記該數(shù)據(jù)需要在查詢環(huán)節(jié)進行行級權(quán)限管控,標記使用行級鑒權(quán)所需的字段和該字段對應(yīng)的枚舉值。
其次,在使用環(huán)節(jié),我們按照資產(chǎn)密級和使用人角色完成數(shù)據(jù)的審批流轉(zhuǎn),實現(xiàn)數(shù)據(jù)的安全共享。
第三,針對B3層數(shù)據(jù),審計是否設(shè)置了行級權(quán)限管控。在數(shù)據(jù)開放時是否存在越權(quán)使用的情況,以及針對即將離職員工加強數(shù)據(jù)的使用審計,保證數(shù)據(jù)走不脫。
在數(shù)據(jù)“由亂到治”的治理過程中,我們不僅實現(xiàn)了存量數(shù)據(jù)的“由亂到治”,并且在此過程中沉淀出了一系列的建模方法論、工具,并建立了相應(yīng)的安全小組和指標運營組織。同時,我們?yōu)楹罄m(xù)增量數(shù)據(jù)治理確保數(shù)據(jù)建設(shè)“行不逾矩”,提供了強有力的組織保障、穩(wěn)定的輔助工具和嚴格的執(zhí)行標準。在數(shù)據(jù)治理的第二階段實現(xiàn)增量數(shù)據(jù)的“行不逾矩”的過程中,我們主要圍繞大數(shù)據(jù)架構(gòu)審計、大數(shù)據(jù)安全與隱私管理審計、大數(shù)據(jù)質(zhì)量管理審計和大數(shù)據(jù)生命周期管理審計這四方面的工作展開,保障治理工作的持續(xù)進行,不斷提高了組織的治理水平。
5. 工具簡介
5.1 數(shù)據(jù)地圖(Wherehows)
數(shù)據(jù)地圖作為元數(shù)據(jù)應(yīng)用的一個產(chǎn)品,聚焦于數(shù)據(jù)使用者的“找數(shù)”場景,實現(xiàn)檢索數(shù)據(jù)和理解數(shù)據(jù)的“找數(shù)”訴求。我們通過對離線數(shù)據(jù)集和在線數(shù)據(jù)集的元數(shù)據(jù)刻畫,滿足了用戶找數(shù)和理解數(shù)的訴求,通過血緣圖譜,完成物理表到產(chǎn)品的血緣建設(shè),消除用戶人肉評估的痛苦。
離線數(shù)據(jù)場景
1.關(guān)鍵字檢索和向?qū)Р樵児餐鉀Q了“找數(shù)據(jù)”的問題:大部分的檢索數(shù)據(jù)場景下,數(shù)據(jù)使用者都可以通過關(guān)鍵字檢索來得到匹配結(jié)果。剩下的一小部分場景,例如,對于新人入職后如何了解整個數(shù)倉和指標的體系(數(shù)倉分幾層,每層解決什么問題,都孵化出什么模型;整個指標、維度體系都是怎么分類,有哪些指標和維度),這部分場景可以使用向?qū)Р樵児δ堋O驅(qū)Р樵兿喈斢诜诸惒樵?,將表和指標按照業(yè)務(wù)過程進行分類,用戶可以按照分類逐步找到想要的表或指標。
2.我們打通了業(yè)務(wù)元數(shù)據(jù)和技術(shù)元數(shù)據(jù)之間的關(guān)系,提高了“找數(shù)據(jù)”的能力:通過“Wherehows”查找到指標后,不僅不可查看指標的業(yè)務(wù)定義,還能查看指標的技術(shù)實現(xiàn)邏輯,指標在哪些維度或維度組合中已經(jīng)實現(xiàn),并且能夠在哪張表里找到這些維度,或維度組合的指標數(shù)據(jù)。反之,也可以知道在某個維度下已經(jīng)實現(xiàn)了哪些指標,對應(yīng)的指標在哪些表里。這些功能能讓用戶更加方便地找到想要的數(shù)據(jù)。
3.我們提供了較為完善的數(shù)據(jù)信息,幫助用戶更好理解數(shù)據(jù):對于表的信息,“Wherehows”除了提供表和字段的中英文名稱、描述信息等基礎(chǔ)信息外,為了幫助用戶更好地理解表的建設(shè)思路,我們還提供了表的星型模型(可以關(guān)聯(lián)的一致性維度及對應(yīng)的維度表)、表的血緣關(guān)系等信息。
4.我們通過評論問答功能,幫助用戶可以快速得到問題反饋:如果用戶看了信息后還是感到有問題,“Wherehows”提供評論問答的功能,用戶通過這個功能可以進行提問,會有相應(yīng)的負責人進行回復(fù)。對于重復(fù)問反復(fù)問的問題,用戶通過查看其它人的提問和回復(fù)就能找到答案。并且負責人還會定期的將問答信息沉淀到對應(yīng)的元數(shù)據(jù)里,不斷地對元數(shù)據(jù)進行補充和完善。
業(yè)務(wù)數(shù)據(jù)場景
業(yè)務(wù)數(shù)據(jù)場景主要想解決的一個問題是,如何知道一個業(yè)務(wù)表(MySQL表)有沒有同步到數(shù)倉。如果沒有同步,能夠找誰進行同步。因為已經(jīng)打通“業(yè)務(wù)表 -> 數(shù)倉表 -> 產(chǎn)品”三者之間的血緣關(guān)系,我們能夠輕松解決業(yè)務(wù)數(shù)據(jù)場景的問題。
生產(chǎn)評估場景
在日常數(shù)據(jù)生產(chǎn)工作中,我們經(jīng)常需要對表進行影響評估、故障排查、鏈路分析等工作,這些工作如果靠純?nèi)斯とプ?,費時費力。但現(xiàn)在我們已經(jīng)打通了“業(yè)務(wù)表/字段 -> 數(shù)倉表/字段 -> 產(chǎn)品”三者之間的血緣關(guān)系,就能夠在10分鐘內(nèi)完成評估工作。對于不同的場景,血緣鏈路提供了兩個便捷的功能:過濾和剪枝。例如,某個表邏輯需要修改,需要看影響哪些下游表或產(chǎn)品?應(yīng)該要通知哪些RD和PM?這種情況下,血緣工具直觀地顯示影響了哪些負責人和產(chǎn)品,以及這個表的下游鏈路。
有些表的鏈路很長,整個血緣關(guān)系圖很大,這樣會導(dǎo)致用戶定位信息或問題。所以血緣工具提供了剪枝的功能,對于沒用的、不想看到的分支可以剪掉,從而讓整個鏈路變得更加直觀。
5.2 數(shù)據(jù)可視化(QuickSight)
聚焦于數(shù)據(jù)使用者“取數(shù)”場景,使用QuickSight,用戶可以不再關(guān)心數(shù)據(jù)的來源,不再擔心數(shù)據(jù)的一致性,不再依賴RD的排期開發(fā)。通過所選即所得的方式,滿足了用戶對業(yè)務(wù)核心指標的二次加工、報表和取數(shù)訴求。首先,我們通過指標池、數(shù)據(jù)集等概念對離線生產(chǎn)的指標進行邏輯隔離,針對不同用戶開發(fā)不同的數(shù)據(jù)集以達到權(quán)限控制的目的,如下圖所示:
其次,我們?yōu)橛脩籼峁┮幌盗械慕M件,幫助用戶基于為其開放的數(shù)據(jù)集實現(xiàn)指標的二次加工和數(shù)據(jù)可視化功能,滿足其在不同業(yè)務(wù)場景下的取數(shù)和可視化應(yīng)用。如下圖所示:
經(jīng)過三個階段的治理工作,我們在各個方面都取得了較好的效果:
在數(shù)據(jù)標準方面,我們制定了業(yè)務(wù)標準、技術(shù)標準、安全標準、資源管理標準,從而保障了數(shù)據(jù)生產(chǎn)、管理、使用合規(guī)。
在數(shù)據(jù)架構(gòu)方面,我們通過橋接表、時間刻度化、業(yè)務(wù)口徑下沉等手段提升模型靈活性,并保障數(shù)據(jù)一致性,消除跨層引用和模型冗余等問題。
在數(shù)據(jù)安全方面,我們加強了對敏感數(shù)據(jù)和數(shù)據(jù)共享環(huán)節(jié)的安全治理,保證數(shù)據(jù)拿不走、走不脫,隱私數(shù)據(jù)看不懂。
在元數(shù)據(jù)建設(shè)方面,我們打通了從采集到構(gòu)建再到應(yīng)用的整條鏈路,并為數(shù)據(jù)使用人員提供數(shù)據(jù)地圖、數(shù)據(jù)可視化等元數(shù)據(jù)應(yīng)用產(chǎn)品,幫助他們解決了“找數(shù)”、“取數(shù)”、“影響評估”等難題。
未來,我們還會繼續(xù)通過組織、規(guī)范、流程等手段持續(xù)對數(shù)據(jù)安全、資源利用、數(shù)據(jù)質(zhì)量等各方面進行治理,并在數(shù)據(jù)易用性上下功夫,持續(xù)降低用戶的數(shù)據(jù)使用成本。
在數(shù)據(jù)架構(gòu)方面,隨著數(shù)據(jù)庫技術(shù)的飛速進步,現(xiàn)在已經(jīng)有很多數(shù)據(jù)庫能夠支持千萬級乃至億級數(shù)據(jù)的現(xiàn)算先用,我們也在嘗試使用這些數(shù)據(jù)庫幫助提升數(shù)據(jù)開發(fā)效率,改善數(shù)倉分層管理和應(yīng)用支撐效率。
在數(shù)據(jù)產(chǎn)品方面,我們將持續(xù)完善數(shù)據(jù)地圖、數(shù)據(jù)可視化等數(shù)據(jù)應(yīng)用產(chǎn)品,幫助用戶快速探查、高效分析,真正發(fā)揮數(shù)據(jù)的業(yè)務(wù)價值。
作者簡介
王鵬,2016年加入美團點評,目前在配送事業(yè)部數(shù)據(jù)團隊負責眾包業(yè)務(wù)數(shù)據(jù)建設(shè)、數(shù)據(jù)治理和系統(tǒng)化相關(guān)工作。
家豪,2018年加入美團點評,目前在配送事業(yè)部數(shù)據(jù)團隊負責眾包業(yè)務(wù)數(shù)據(jù)建設(shè)、數(shù)據(jù)治理和系統(tǒng)化相關(guān)工作。
編輯:hfy
評論
查看更多