美团酒旅起源数据治理平台的建设与实践
背景
作為一家高度數(shù)字化和技術(shù)驅(qū)動的公司,美團(tuán)非常重視數(shù)據(jù)價值的挖掘。在公司日常運行中,通過各種數(shù)據(jù)分析挖掘手段,為公司發(fā)展決策和業(yè)務(wù)開展提供數(shù)據(jù)支持。
經(jīng)過多年的發(fā)展,美團(tuán)酒旅內(nèi)部形成了一套完整的解決方案,核心由數(shù)據(jù)倉庫+各種數(shù)據(jù)平臺的方式實現(xiàn)。其中數(shù)據(jù)倉庫整合各業(yè)務(wù)線的數(shù)據(jù),消滅數(shù)據(jù)孤島;各種數(shù)據(jù)平臺擁有不同的特色和定位,例如:自助報表平臺、專業(yè)數(shù)據(jù)分析平臺、CRM數(shù)據(jù)平臺、各業(yè)務(wù)方向績效考核平臺等,滿足各類數(shù)據(jù)分析挖掘需求。早期數(shù)據(jù)倉庫與各種數(shù)據(jù)平臺的體系架構(gòu)如圖1所示:
圖1所示的體系架構(gòu),在業(yè)務(wù)需求的滿足上非常高效,但在長時間的使用過程中,也產(chǎn)生了如下一些問題:
- 各數(shù)據(jù)平臺或平臺內(nèi)不同模塊的指標(biāo)定義不一致。
- 各數(shù)據(jù)平臺或平臺內(nèi)不同模塊指標(biāo)計算口徑不一致。
- 各數(shù)據(jù)平臺或平臺內(nèi)不同模塊指標(biāo)數(shù)據(jù)來源不一致。
上述這些問題總結(jié)歸納起來,就是指標(biāo)數(shù)據(jù)不一致的問題,最終帶來的后果是指標(biāo)數(shù)據(jù)可信度底,嚴(yán)重影響分析決策。通過后續(xù)追蹤分析,上述問題的由來,主要是不同業(yè)務(wù)線的數(shù)據(jù)分析人員、數(shù)據(jù)開發(fā)人員,以及不同的產(chǎn)品之間,缺乏有效的溝通,也沒有一個統(tǒng)一的入口,來記錄業(yè)務(wù)的發(fā)生和加工過程。在加上人員的流動,長時間積累之后就產(chǎn)生了這些問題。針對這些問題,酒旅內(nèi)部啟動了數(shù)據(jù)治理項目,通過建設(shè)一個專業(yè)數(shù)據(jù)治理平臺,實現(xiàn)指標(biāo)維度及數(shù)據(jù)的統(tǒng)一管理,也探索一套高效的數(shù)據(jù)治理流程。
挑戰(zhàn)
在建設(shè)起源數(shù)據(jù)治理平臺的過程中,主要面臨的挑戰(zhàn)如下:
- 起源數(shù)據(jù)治理平臺應(yīng)該在架構(gòu)中的哪個位置切入,減少對原有系統(tǒng)的侵入,并實現(xiàn)數(shù)據(jù)治理目標(biāo)。
- 探索一套簡潔高效的管理流程,實現(xiàn)指標(biāo)維度信息統(tǒng)一管理,保證信息的唯一性、正確性。
- 整合各種存儲引擎,實現(xiàn)一套高并發(fā)、高可用的數(shù)據(jù)唯一出口。
- 做好各業(yè)務(wù)線間的信息隔離和管理,確保數(shù)據(jù)安全。
解決思路
為了達(dá)成數(shù)據(jù)治理的目標(biāo),起源數(shù)據(jù)治理平臺就必須記錄下業(yè)務(wù)發(fā)展過程,并映射到數(shù)據(jù)加工和數(shù)據(jù)提取,規(guī)范約束這些過程。因此起源數(shù)據(jù)治理平臺歸納到數(shù)據(jù)治理層,該層就位于數(shù)據(jù)倉庫層(或數(shù)據(jù)集市層)之上,數(shù)據(jù)應(yīng)用層之下起到橋梁的作用,而且提供一系列規(guī)則,改變原來無序交互方式,將數(shù)據(jù)倉庫層和數(shù)據(jù)應(yīng)用層的交互變?yōu)橛行虻摹⒖刹樵儭⒖杀O(jiān)控。新的體系架構(gòu)如圖2所示:
如上圖所示,在新的體系架構(gòu)下:對于數(shù)據(jù)倉庫層,起源數(shù)據(jù)治理平臺綜合業(yè)務(wù)組織形式、指標(biāo)數(shù)據(jù)來源、上層產(chǎn)品的使用及查詢的效率,指導(dǎo)數(shù)據(jù)倉庫模型的建設(shè);對于應(yīng)用層的產(chǎn)品,業(yè)務(wù)元數(shù)據(jù)信息及數(shù)據(jù)信息都是由起源數(shù)據(jù)治理平臺提供,保證了各數(shù)據(jù)產(chǎn)品獲取到的信息一致,而且還簡化了應(yīng)用層產(chǎn)品數(shù)據(jù)獲取成本,也降低了對原有系統(tǒng)的侵入。
平臺架構(gòu)
起源數(shù)據(jù)治理平臺核心是保證數(shù)據(jù)一致,在數(shù)據(jù)安全的前提下,盡可能提升數(shù)據(jù)分發(fā)能力。因此平臺內(nèi)部有著極其復(fù)雜的關(guān)系,需要在建設(shè)過程中進(jìn)行抽象,形成具有相對單一功能的模塊;合理地組織模塊的層級和連接關(guān)系,降低平臺的開發(fā)難度,并提升平臺的可維護(hù)性。平臺架構(gòu)如圖3所示,展示了平臺的內(nèi)部模塊組織方式。
如上圖所示起源數(shù)據(jù)治理平臺在功能模塊上由數(shù)據(jù)存儲、數(shù)據(jù)查詢、數(shù)據(jù)緩存、元數(shù)據(jù)管理、業(yè)務(wù)管理、安全管理、應(yīng)用管理、對外API接口構(gòu)成,各模塊的功能介紹如下。
數(shù)據(jù)存儲
起源數(shù)據(jù)治理平臺管理的數(shù)據(jù)存儲范圍包括:數(shù)據(jù)倉庫中的Topic層和數(shù)據(jù)應(yīng)用層,存儲方式包括:Hive、MySQL、Kylin、Palo、ES、Druid。如下圖4所示:
上圖所示的這些數(shù)據(jù)存儲中的數(shù)據(jù)的加工過程,由數(shù)據(jù)開發(fā)工程師負(fù)責(zé),具體采用哪種存儲介質(zhì),由數(shù)據(jù)開發(fā)工程師綜合所需數(shù)據(jù)存儲空間、查詢效率、模型的組織形式等因素決定。但后續(xù)的使用維護(hù)都由起源數(shù)據(jù)治理平臺管理,管理方式是通過管理這些數(shù)據(jù)表的元數(shù)據(jù)信息和查詢實現(xiàn),具體實現(xiàn)細(xì)節(jié)會在下面章節(jié)中詳解。
數(shù)據(jù)存儲托管之后,數(shù)據(jù)表元數(shù)據(jù)信息變更監(jiān)控、表數(shù)據(jù)生產(chǎn)(存儲空間、生產(chǎn)狀態(tài)及完成時間)監(jiān)控、表數(shù)據(jù)波動(同環(huán)比等)監(jiān)控以及表的使用(模型的構(gòu)建及查詢效率等)監(jiān)控及評估,都由起源數(shù)據(jù)治理平臺自動完成,所有信息的變動都會自動周知對應(yīng)的負(fù)責(zé)人,保證數(shù)據(jù)應(yīng)用的安全和穩(wěn)定。
元數(shù)據(jù)管理
元數(shù)據(jù)信息宏觀上包括兩大部分:業(yè)務(wù)元數(shù)據(jù)信息和數(shù)據(jù)元數(shù)據(jù)信息。其中業(yè)務(wù)元數(shù)據(jù)信息包括:指標(biāo)業(yè)務(wù)定義、維度的業(yè)務(wù)定義等;數(shù)據(jù)元數(shù)據(jù)信息包括:數(shù)據(jù)表元數(shù)據(jù)信息、模型元數(shù)據(jù)信息、維表與維度的綁定關(guān)系、數(shù)據(jù)模型字段與指標(biāo)的綁定關(guān)系。
起源平臺為了實現(xiàn)元數(shù)據(jù)信息的管理,設(shè)計了四個模塊實現(xiàn),分別是:數(shù)據(jù)表管理模塊、模型管理模塊、指標(biāo)管理模塊、維度管理模塊。元數(shù)據(jù)管理是起源數(shù)據(jù)治理平臺的核心,起源平臺就是通過控制好元數(shù)據(jù),來驅(qū)動數(shù)據(jù)的生產(chǎn)和消費。
數(shù)據(jù)表管理模塊
數(shù)據(jù)表管理模塊管理了數(shù)據(jù)庫信息和數(shù)據(jù)表信息。其中數(shù)據(jù)庫信息包括數(shù)據(jù)庫鏈接信息,數(shù)據(jù)庫信息維護(hù)后,起源數(shù)據(jù)治理平臺自動獲取對應(yīng)庫中表的元數(shù)據(jù)信息。
數(shù)據(jù)表信息包括:表的元數(shù)據(jù)信息(引擎、字段等)、表類型(維表或事實表)、表的使用情況(是否被模型使用)、表對應(yīng)的ETL、表的負(fù)責(zé)人、表的推薦度、描述信息、表的監(jiān)控配置及報警歷史、以及樣例數(shù)據(jù)等。上述這些信息為業(yè)務(wù)用戶提供指導(dǎo),為模型管理提供數(shù)據(jù)支持,為數(shù)據(jù)表和數(shù)據(jù)的穩(wěn)定提供監(jiān)控和預(yù)警。
模型管理模塊
模型管理模塊能夠還原業(yè)務(wù)落地后數(shù)據(jù)表的組織關(guān)系,包括:數(shù)據(jù)表的關(guān)聯(lián)方式(join、left join、semi join等)、數(shù)據(jù)表的關(guān)聯(lián)限制、模型ER圖、模型包含字段、模型字段與維度的綁定關(guān)系、模型與指標(biāo)的綁定關(guān)系。
不過在實際使用過程中,面向業(yè)務(wù)和面向分析的模型有所不同,起源數(shù)據(jù)治理平臺是面向分析的,所以主要的模型包括維度建模中的星型模型或雪花模型,再就是OLAP多維分析的MOLAP或ROLAP。模型管理如下圖5、圖6所示:
維度管理模塊
維度管理模塊包括基礎(chǔ)信息和技術(shù)信息,對應(yīng)著不同人員維護(hù)。其中基礎(chǔ)信息對應(yīng)維度的業(yè)務(wù)信息,由業(yè)務(wù)管理人員維護(hù),包括維度名稱、業(yè)務(wù)定義、業(yè)務(wù)分類。技術(shù)信息對應(yīng)維度的數(shù)據(jù)信息,由數(shù)據(jù)開發(fā)工程師維護(hù),包括是否有維表(是枚舉維度還是有獨立的維表)、是否是日期維、對應(yīng)code英文名稱和中文名稱、對應(yīng)name英文名稱和中文名稱。如果維度有維表,則需要和對應(yīng)的維度表綁定,設(shè)置code和name對應(yīng)的字段;如果維度是枚舉維,則需要填寫對應(yīng)的code和name。維度的統(tǒng)一管理,有利于以后數(shù)據(jù)表的標(biāo)準(zhǔn)化,也方便用戶的查看。
指標(biāo)管理模塊
指標(biāo)管理模塊核心包括基礎(chǔ)信息和技術(shù)信息管理,衍生信息包括關(guān)聯(lián)指標(biāo)、關(guān)聯(lián)應(yīng)用管理。基礎(chǔ)信息對應(yīng)的就是指標(biāo)的業(yè)務(wù)信息,由業(yè)務(wù)人員填寫,主要包括指標(biāo)名稱、業(yè)務(wù)分類、統(tǒng)計頻率、精度、單位、指標(biāo)類型、指標(biāo)定義、計算邏輯、分析方法、影響因素、分析維度等信息;基礎(chǔ)信息中還有一個比較重要的部分是監(jiān)控配置,主要是配置指標(biāo)的有效波動范圍區(qū)間、同環(huán)比波動區(qū)間等,監(jiān)控指標(biāo)數(shù)據(jù)的正常運行。
技術(shù)信息構(gòu)成比較復(fù)雜,包括數(shù)據(jù)類型、指標(biāo)代碼,但是核心部分是指標(biāo)與模型的綁定關(guān)系,通過使用演進(jìn)形成了當(dāng)前系統(tǒng)兩類綁定關(guān)系:綁定物理模型和構(gòu)建虛擬模型。綁定物理模型是指標(biāo)與模型管理中的物理模型字段綁定,并配置對應(yīng)的計算公式,或還包含一些額外的高級配置,如二次計算、模型過濾條件等;創(chuàng)建虛擬模型是通過已有指標(biāo)和其對應(yīng)的物理模型,具體步驟首先配置已有指標(biāo)的計算方式或指標(biāo)維度的過濾,然后選擇指標(biāo)已綁定的物理模型,形成一個虛擬模型,虛擬模型的分析維度就是所選指標(biāo)基礎(chǔ)模型的公共維度。
衍生信息中的關(guān)聯(lián)指標(biāo)、關(guān)聯(lián)應(yīng)用管理,是為了方便觀察指標(biāo)被那些其他指標(biāo)和數(shù)據(jù)應(yīng)用使用,這是因為指標(biāo)技術(shù)信息采用了嚴(yán)格權(quán)限控制,一旦被使用為了保證線上的運行安全是禁止變更的,只有解綁并審核通過后才可以編輯,所以這些衍生信息就是方便管理人員使用。指標(biāo)技術(shù)信息如圖7所示:
業(yè)務(wù)管理
業(yè)務(wù)管理按照功能劃分為業(yè)務(wù)線管理、主題管理和工單管理三部分,在系統(tǒng)的實際建設(shè)中是拆分為業(yè)務(wù)主題管理、數(shù)據(jù)主題管理和工單管理三大模塊實現(xiàn)的。相關(guān)模塊的建設(shè)主要保證業(yè)務(wù)人員和數(shù)據(jù)人員業(yè)務(wù)主題建設(shè),相關(guān)模塊的權(quán)限控制,業(yè)務(wù)流程審核,對應(yīng)資源的隔離以及業(yè)務(wù)資源加工申請和加工過程的記錄追蹤。具體實現(xiàn)和功能如下:
業(yè)務(wù)主題管理
實現(xiàn)業(yè)務(wù)業(yè)務(wù)線管理和業(yè)務(wù)主題管理,實現(xiàn)不同業(yè)務(wù)線的管理以及業(yè)務(wù)線下的業(yè)務(wù)主題管理。業(yè)務(wù)線的拆分還隱藏著其他模塊的權(quán)限管控和資源隔離的功能,不同業(yè)務(wù)線的用戶只能看到有權(quán)業(yè)務(wù)線的指標(biāo)和維度;而且業(yè)務(wù)線的用戶劃分為普通用戶和管理員,分別查看或編輯維度和指標(biāo)的業(yè)務(wù)信息。而且業(yè)務(wù)線和業(yè)務(wù)主題中分別維護(hù)的商分負(fù)責(zé)人對指標(biāo)進(jìn)行二級審核,因為新創(chuàng)建的指標(biāo)僅僅是普通指標(biāo),如果想要全網(wǎng)都能查看,則需要發(fā)起認(rèn)證,由這些人員審核。
數(shù)據(jù)主題管理
數(shù)據(jù)主題管理實現(xiàn)數(shù)據(jù)業(yè)務(wù)線和數(shù)據(jù)主題管理,實現(xiàn)不同數(shù)據(jù)線的管理以及數(shù)據(jù)線下的數(shù)據(jù)主題管理。數(shù)據(jù)線的拆分也隱藏著對數(shù)據(jù)表、模型、指標(biāo)、維度的資源隔離和權(quán)限管控的功能,不同數(shù)據(jù)線的用戶只能查看有權(quán)數(shù)據(jù)線的資源;而且數(shù)據(jù)線的用戶分為普通用戶和管理員,對有權(quán)資源進(jìn)行查看或編輯。數(shù)據(jù)線的接口人在工單模塊中具有審核工單的權(quán)限功能。數(shù)據(jù)主題的負(fù)責(zé)人擁有審核模型和指標(biāo)技術(shù)信息的權(quán)限功能。
工單模塊管理
工單模塊管理實現(xiàn)了指標(biāo)維度和對應(yīng)模型加工線上申請、審核、加工、審批的流程。整個模塊也是圍繞著這四個流程實現(xiàn)的,具體是業(yè)務(wù)人員發(fā)起指標(biāo)和維度集合的加工申請,然后由數(shù)據(jù)線接口人審核工單的合理性并分配對應(yīng)的數(shù)據(jù)開發(fā)工程師,數(shù)據(jù)開發(fā)工程師加工模型并與對應(yīng)的維度指標(biāo)綁定,然后在工單中提交由數(shù)據(jù)接口人審核是否合理,最終由工單發(fā)起人驗收。
這個流程是一個標(biāo)準(zhǔn)的工單流程,每個節(jié)點的業(yè)務(wù)流程可能會反復(fù),但是每次操作都進(jìn)行記錄,方便業(yè)務(wù)人員后期追蹤。工單管理如下圖8所示:
安全管理
安全管理是起源數(shù)據(jù)治理平臺核心功能之一,分為平臺操作權(quán)限管理和接口調(diào)用權(quán)限管理兩大部分。其中平臺操作權(quán)限管理是通過與公司將軍令權(quán)限管理系統(tǒng)打通,并配合平臺其他模塊中權(quán)限控制代碼,實現(xiàn)了權(quán)限管理、審批、審計三大功能模塊;接口權(quán)限管理是通過平臺內(nèi)的數(shù)據(jù)應(yīng)用管理和外部應(yīng)用管理模塊的映射關(guān)系,并在接口調(diào)用時鑒權(quán)實現(xiàn),這部分會在下面的應(yīng)用管理章節(jié)中介紹。
權(quán)限管理模塊
權(quán)限管理模塊是將平臺的資源分劃分為頁面權(quán)限、業(yè)務(wù)線&數(shù)據(jù)線用戶權(quán)限、數(shù)據(jù)應(yīng)用權(quán)限來實現(xiàn)的。頁面權(quán)限實現(xiàn)平臺內(nèi)頁面訪問控制。業(yè)務(wù)線&數(shù)據(jù)線用戶權(quán)限是將用戶分類為普通用戶和管理員,普通用戶只能查看業(yè)務(wù)線和數(shù)據(jù)線內(nèi)資源,管理員可以操作業(yè)務(wù)線和數(shù)據(jù)線內(nèi)的資源;并且通過業(yè)務(wù)線和數(shù)據(jù)線的獨立管理實現(xiàn)資源隔離,業(yè)務(wù)線實現(xiàn)了所屬維度和指標(biāo)的隔離;數(shù)據(jù)線實現(xiàn)了所屬數(shù)據(jù)表和模型的隔離,并且通過建立業(yè)務(wù)線和數(shù)據(jù)線的關(guān)聯(lián)關(guān)系,也保證了指標(biāo)和維度的技術(shù)信息操作隔離。數(shù)據(jù)應(yīng)用中每個應(yīng)用都是獨立管理的,每個應(yīng)用權(quán)限都拆分普通用戶和管理員,普通用戶可以訪問查詢應(yīng)用,管理員可以操作應(yīng)用。
審批模塊
審批模塊包含審批工作流、我的申請、我的審批構(gòu)成。審批工作流是根據(jù)不同的應(yīng)用場景實現(xiàn)不同層級的審批,例如:在指標(biāo)管理中服務(wù)于個人的普通指標(biāo)變更為服務(wù)于整個業(yè)務(wù)線的認(rèn)證指標(biāo),就需要發(fā)起兩級審批,由業(yè)務(wù)主題負(fù)責(zé)人和業(yè)務(wù)商分審核通過才可以;模型管理中新增或修改模型上線,都需要數(shù)據(jù)主題負(fù)責(zé)人審批;數(shù)據(jù)應(yīng)用的變更,都需要下游所有依賴外部應(yīng)用負(fù)責(zé)人審批才生效。我的申請和我的審批是平臺頁面方便用戶查看流程進(jìn)度和操作審核。審批模塊目標(biāo)是保證發(fā)布信息的正確性、系統(tǒng)服務(wù)的穩(wěn)定性。
審計模塊
審計模塊包括用戶操作記錄和記錄查看追蹤。用戶操作記錄是平臺各模塊調(diào)用接口記錄用戶每次操作前后的數(shù)據(jù)變更;記錄查看追蹤是檢索查詢頁面,查看對應(yīng)的變更。審計模塊保證了用戶操作追蹤追責(zé),也保證誤操作的信息恢復(fù)。
應(yīng)用管理
應(yīng)用管理由數(shù)據(jù)應(yīng)用、外部應(yīng)用、數(shù)據(jù)地圖三大模塊組成,它們構(gòu)成了對外服務(wù)的主體,記錄了外部應(yīng)用與平臺內(nèi)管理的指標(biāo)、維度、模型和表的關(guān)聯(lián)關(guān)系,也提供數(shù)據(jù)查詢展示、應(yīng)用層ETL生產(chǎn)的能力。而且數(shù)據(jù)開發(fā)人員從底層向上觀察,可以追蹤數(shù)據(jù)最終的所有流向;業(yè)務(wù)分析人員從頂層向下觀察,可以看到構(gòu)成服務(wù)的所有數(shù)據(jù)來源。
數(shù)據(jù)應(yīng)用模塊
數(shù)據(jù)應(yīng)用模塊是記錄生成每個服務(wù)所需的指標(biāo)、維度和數(shù)據(jù)模型的關(guān)系。每次服務(wù)中可以包含多個指標(biāo),這些指標(biāo)可以來源于多個數(shù)據(jù)模型,不過不同的數(shù)據(jù)模型中需要包含公共維度,因為是通過這些公共維度將不同模型關(guān)聯(lián)起來。
數(shù)據(jù)應(yīng)用中構(gòu)建的服務(wù)可以發(fā)布成查詢服務(wù)、應(yīng)用層ETL生產(chǎn)服務(wù)、對外API數(shù)據(jù)接口服務(wù)、通用報表配置服務(wù),來滿足業(yè)務(wù)的不同需求。數(shù)據(jù)應(yīng)用管理如下圖9所示:
外部應(yīng)用模塊
外部應(yīng)用模塊管理外部應(yīng)用和應(yīng)用內(nèi)的模塊,以及這些模塊訂閱的對應(yīng)數(shù)據(jù)應(yīng)用,目標(biāo)是實現(xiàn)API接口調(diào)用的權(quán)限管理和數(shù)據(jù)最終流向的記錄。具體的實現(xiàn)上模塊首先創(chuàng)建對應(yīng)的外部應(yīng)用,記錄外部應(yīng)用的名稱、URL、APPKEY等信息,然后由對應(yīng)應(yīng)用的負(fù)責(zé)人創(chuàng)建模塊,記錄模塊名稱、URL、moduleKey等信息。這些信息完善后,由對應(yīng)的數(shù)據(jù)應(yīng)用賦權(quán)給對應(yīng)的模塊,建立起數(shù)據(jù)應(yīng)用與外部應(yīng)用的聯(lián)系。最后在外部應(yīng)用調(diào)用平臺對外API接口時,進(jìn)行權(quán)限管理。
數(shù)據(jù)地圖
數(shù)據(jù)地圖功能是追查數(shù)據(jù)的流向,可以從數(shù)據(jù)表、模型、指標(biāo)、數(shù)據(jù)應(yīng)用、外部應(yīng)用任意節(jié)點查看上游數(shù)據(jù)來源和下游數(shù)據(jù)去向。起源數(shù)據(jù)治理平臺核心功能也是組織這些節(jié)點間的關(guān)系,形成完整的服務(wù),數(shù)據(jù)地圖就是通過上面介紹模塊記錄的關(guān)系,追蹤數(shù)據(jù)流向,方便數(shù)據(jù)開發(fā)人員和業(yè)務(wù)分析人員了解數(shù)據(jù)消費和數(shù)據(jù)來源。數(shù)據(jù)地圖如下圖10所示:
對外API
對外API接口是一套完整的對外信息提供接口,提供的功能分為元數(shù)據(jù)信息類的接口、數(shù)據(jù)類接口、監(jiān)控統(tǒng)計類接口,分別滿足外部平臺和分析人員的對應(yīng)需求。外部系統(tǒng)通過起源數(shù)據(jù)治理平臺獲取到的元數(shù)據(jù)和數(shù)據(jù)是經(jīng)過認(rèn)證并由平臺自動校驗后的,可以保證信息的一致性、正確性。
元數(shù)據(jù)信息接口
元數(shù)據(jù)信息接口提供的包括指標(biāo)、維度業(yè)務(wù)元數(shù)據(jù)信息和數(shù)據(jù)表、模型、指標(biāo)計算、維度維表相關(guān)的數(shù)據(jù)元數(shù)據(jù)信息,實現(xiàn)與上游系統(tǒng)信息共享,達(dá)到信息一致性的目標(biāo)。
數(shù)據(jù)類接口
數(shù)據(jù)類接口提供指標(biāo)維度數(shù)據(jù)查詢服務(wù),不單單滿足常見的單條SQL查詢,而且可以實現(xiàn)多次查詢聚合運算(例如:同環(huán)比等)以及跨引擎查詢,并通過并發(fā)處理,可以有效提升查詢效率,滿足更多的業(yè)務(wù)場景。接口具有監(jiān)控功能,能夠評估每次查詢效率,提供查詢指導(dǎo)或預(yù)警的能力。
監(jiān)控統(tǒng)計類接口
監(jiān)控統(tǒng)計類接口提供指標(biāo)數(shù)據(jù)監(jiān)控信息、指標(biāo)維度使用統(tǒng)計、數(shù)據(jù)接口的調(diào)用效率統(tǒng)計等服務(wù),幫助下游服務(wù)平臺了解服務(wù)質(zhì)量。
內(nèi)部工作原理
起源數(shù)據(jù)治理平臺內(nèi)部工作原理就是實現(xiàn)指標(biāo)、維度業(yè)務(wù)信息與數(shù)據(jù)模型計算關(guān)系的映射管理,并根據(jù)外部應(yīng)用所需的指標(biāo)、維度以及查詢條件選擇最優(yōu)的模型動態(tài)的實現(xiàn)查詢SQL或查詢Query的拼接,然后通過分布式查詢引擎實現(xiàn)數(shù)據(jù)的高效查詢,具體過程如下圖11所示:
上圖所示的分布式查詢引擎,整合了大數(shù)據(jù)分析常見的各種存儲,通過封裝的接口提供服務(wù)。而且分布式是通過Akka Cluster自主實現(xiàn),通過Cluster Singleton解決單點故障的問題,通過Redis實現(xiàn)了任務(wù)隊列的持久化,通過平衡子節(jié)點任務(wù)量實現(xiàn)任務(wù)的合理調(diào)度,通過查詢狀態(tài)監(jiān)控自動實現(xiàn)查詢降級和任務(wù)隊列的拆解,并且也完善了整個調(diào)度的監(jiān)控,可以實時查看任務(wù)和節(jié)點的運行情況。
管理流程
起源數(shù)據(jù)治理平臺生產(chǎn)所需參與的角色包括:業(yè)務(wù)人員和數(shù)據(jù)開發(fā)人員(RD)。為了保證信息的正確性,平臺內(nèi)有著嚴(yán)格的管理流程,需要不同的角色在對應(yīng)的節(jié)點進(jìn)行維護(hù)管理,平臺的管理流程如下圖12所示:
所上圖所示,指標(biāo)的業(yè)務(wù)信息需要業(yè)務(wù)人員首先進(jìn)行維護(hù),然后數(shù)據(jù)RD同學(xué)進(jìn)行相應(yīng)的數(shù)據(jù)表的建設(shè),維護(hù)對應(yīng)的數(shù)據(jù)表和模型的元數(shù)據(jù)信息,并完成指標(biāo)與模型的綁定,最后由數(shù)據(jù)RD同學(xué)構(gòu)建數(shù)據(jù)應(yīng)用為用戶、業(yè)務(wù)系統(tǒng)及數(shù)據(jù)產(chǎn)品等提供服務(wù)。
建設(shè)成果
經(jīng)過長時間的探索開發(fā),完成了起源數(shù)據(jù)治理平臺的建設(shè),成功的解決了上面提到的問題,并且已經(jīng)完成了酒旅內(nèi)部10+個數(shù)據(jù)平臺(包括定制化產(chǎn)品和通用報表服務(wù)平臺)的數(shù)據(jù)治理支持。起源數(shù)據(jù)治理平臺還帶來了一些額外的收獲,總結(jié)歸納起來實現(xiàn)了3個目標(biāo),提供了4種能力,如下:
- 統(tǒng)一指標(biāo)管理的目標(biāo)。保證指標(biāo)定義、計算口徑、數(shù)據(jù)來源的一致性。
- 統(tǒng)一維度管理的目標(biāo)。保證維度定義、維度值的一致性。
- 統(tǒng)一數(shù)據(jù)出口的目標(biāo)。實現(xiàn)了維度和指標(biāo)元數(shù)據(jù)信息的唯一出口,維值和指標(biāo)數(shù)據(jù)的唯一出口。
- 提供維度和指標(biāo)數(shù)據(jù)統(tǒng)一監(jiān)控及預(yù)警能力。
- 提供靈活可配的數(shù)據(jù)查詢分析能力。
- 提標(biāo)數(shù)據(jù)地圖展示表、模型、指標(biāo)、應(yīng)用上下游關(guān)系及分布的能力。
- 提供血緣分析追查數(shù)據(jù)來源的能力。
如果換位到指標(biāo)的角色,以辯證的角度分析,起源數(shù)據(jù)治理平臺解決了一個終極哲學(xué)問題:我是誰,我從哪里來,我到哪里去。
未來展望
起源數(shù)據(jù)治理平臺是天工體系(從數(shù)據(jù)管理、查詢到展示的一個完整生態(tài))的一部分,整個天工體系還包括如意通用報表系統(tǒng)、筋斗云數(shù)據(jù)查詢系統(tǒng)。通過對天工體系的建設(shè),直接目標(biāo)是為業(yè)務(wù)提供一整套高效、高質(zhì)量的數(shù)據(jù)服務(wù)平臺;但是在天工體系的建設(shè)中,進(jìn)行微服務(wù)治理,抽象形出一套統(tǒng)一標(biāo)準(zhǔn),吸納更多的業(yè)務(wù)參與建設(shè),為業(yè)務(wù)提供開發(fā)降級,避免服務(wù)的重復(fù)建設(shè),提升服務(wù)建設(shè)速度。如下圖13所示:
如上圖所示,天工體系開放三套交互標(biāo)準(zhǔn),實現(xiàn)模塊的可插拔和自由擴(kuò)展,分別是:
- 元數(shù)據(jù)交互標(biāo)準(zhǔn),實現(xiàn)元數(shù)據(jù)管理的可插拔。
- 數(shù)據(jù)查詢標(biāo)準(zhǔn),實現(xiàn)數(shù)據(jù)查詢引擎的可插拔。
- 可視化組件數(shù)據(jù)交互標(biāo)準(zhǔn),實現(xiàn)可視化組件的可插拔。
作者簡介
- 夷山,美團(tuán)點評技術(shù)專家,現(xiàn)任TechClub-Java俱樂部主席,2006年畢業(yè)于武漢大學(xué),先后就職于IBM、用友、風(fēng)行以及阿里巴巴。2014年加入美團(tuán),長期致力于BI工具、數(shù)據(jù)安全與數(shù)據(jù)質(zhì)量工作等方向。
- 李鵬,美團(tuán)點評技術(shù)專家,曾就職于搜狐暢游、網(wǎng)易,2018年加入美團(tuán)點評,長期致力于數(shù)據(jù)治理、數(shù)據(jù)倉庫建設(shè)、數(shù)據(jù)平臺研發(fā)等工作方向。
招聘
最后插播一個招聘廣告,有對數(shù)據(jù)產(chǎn)品工具開發(fā)感興趣的可以發(fā)郵件給 fuyishan#meituan.com。我們是一群擅長大數(shù)據(jù)領(lǐng)域數(shù)據(jù)工具,數(shù)據(jù)治理,智能數(shù)據(jù)應(yīng)用架構(gòu)設(shè)計及產(chǎn)品研發(fā)的工程師。
總結(jié)
以上是生活随笔為你收集整理的美团酒旅起源数据治理平台的建设与实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Litho在美团动态化方案MTFlexb
- 下一篇: 直通BAT JVM必考题:Minor G