在數(shù)據(jù)中臺建設必知(一)中,我們明確了元數(shù)據(jù)管理是數(shù)據(jù)中臺實現(xiàn)數(shù)據(jù)共享和復用的基礎;也通過Metacat和Apache Atlas了解了現(xiàn)在業(yè)界主流的元數(shù)據(jù)管理產(chǎn)品是啥樣的。 元數(shù)據(jù)管理架構 接下來,我們看看數(shù)據(jù)中臺如何搭建元數(shù)據(jù)中心。 01 元數(shù)據(jù)中心五個關鍵目標 在搭建之前,需要明確元數(shù)據(jù)中心實現(xiàn)的五個關鍵目標: 第一,多業(yè)務線、多租戶支持。 電商、短視頻、內容推送等都是不同的業(yè)務線,同一個業(yè)務線內,也分為算法、數(shù)倉、風控等多個租戶,因此,元數(shù)據(jù)中心必須支持多業(yè)務線、多租戶。 傳統(tǒng)模式下的煙囪式業(yè)務線系統(tǒng) 第二,多數(shù)據(jù)源的支持。 元數(shù)據(jù)中心必須要能夠支持不同類型的數(shù)據(jù)源,同時還要支持相同數(shù)據(jù)源的多個集群。為了規(guī)范化管理,還需要考慮將半結構化的KV 也納入元數(shù)據(jù)中心的管理(比如Kafka、Redis、HBase等)。 這些系統(tǒng)本身并沒有表結構元數(shù)據(jù),因此,需要能夠在元數(shù)據(jù)中心里定義Kafka中每個Topic的每條記錄JSON中的格式,每個字段代表什么含義。 麥聰DaaS平臺是唯一企業(yè)級支持所有主流數(shù)據(jù)源的產(chǎn)品 第三,支持字段級數(shù)據(jù)血緣查詢。 元數(shù)據(jù)中心需要支持數(shù)據(jù)血緣的實時采集和高性能的查詢,與此同時,查詢必須支持字段級別的血緣。 字段血緣在做溯源的時候非常有效。因為大數(shù)據(jù)加工鏈路的下游是集市層,為了方便使用者使用,一般都是一些很寬的表,俗稱“大寬表”。 字段級數(shù)據(jù)血緣查詢 這個表的上游可能是有幾十個表產(chǎn)生的,如果不通過字段血緣限定溯源范圍,就會導致搜索范圍變得很大,無法快速地精準定位到有問題的表。 此外,數(shù)據(jù)血緣還必須要支持生命周期管理,已經(jīng)下線的任務,如果沒有繼續(xù)被調度,過期的血緣關系應該予以清理。 第四,與大數(shù)據(jù)平臺集成。 元數(shù)據(jù)中心需要與Ranger集成,實現(xiàn)基于tag的權限管理方式。 在元數(shù)據(jù)中心中可以為表定義一組標簽,Range可以基于這個標簽,對擁有某一個標簽的一組表按照相同的權限授權。 數(shù)據(jù)目錄標簽管理 這種方式大幅提升了權限管理的效率。例如,對于會員、交易、毛利、成本,可以設定表的敏感等級,然后根據(jù)敏感等級,設定不同的人有權限查看或編輯。 此外,元數(shù)據(jù)中心作為基礎元數(shù)據(jù)服務,包括自助取數(shù)分析系統(tǒng),數(shù)據(jù)傳輸系統(tǒng),數(shù)據(jù)服務,都應該基于元數(shù)據(jù)中心提供的統(tǒng)一接口獲取元數(shù)據(jù)。 第五,支持對表和表中的字段打標簽。 通過豐富的不同類型的標簽,可以完善數(shù)據(jù)中臺數(shù)據(jù)的特征,比如指標可以作為一種類型的標簽打在表上,主題域、分層信息都可以作為不同類型的標簽關聯(lián)到表。 02 元數(shù)據(jù)中心架構 基于以上五個目標,搭建的元數(shù)據(jù)中心如下: 元數(shù)據(jù)中心架構 這個圖按照功能模塊分為數(shù)據(jù)血緣、數(shù)據(jù)字典和數(shù)據(jù)特征。 數(shù)據(jù)血緣由采集端、消息中間件、消費端以及血緣清理模塊組成。 基于Hive Hook,Spark Listener,F(xiàn)link Hook可以獲取任務執(zhí)行時輸入表和輸出表,推送給統(tǒng)一的消息中間件(Kafka),然后消費端負責將血緣關系沉淀到圖數(shù)據(jù)庫中。 圖數(shù)據(jù)庫選擇Neo4j,主要考慮是性能快、部署輕量化、依賴模塊少,當然,開源的Neo4j沒有高可用方案,并且不支持水平擴展。 但是,因為單個業(yè)務活躍的表規(guī)模基本也就在幾萬的規(guī)模,所以單機也夠用,高可用可以通過雙寫的方式實現(xiàn)。 此外,血緣還有一個清理的模塊,主要負責定時清理過期的血緣,一般可以把血緣的生命周期設置為7天。 數(shù)據(jù)字典部分,參考Metacat實現(xiàn),由一個統(tǒng)一的 Connector Mananger負責管理到各個數(shù)據(jù)源的連接。 對于Hive、MySQL元數(shù)據(jù)中心并不會保存系統(tǒng)元數(shù)據(jù),而是直接連數(shù)據(jù)源實時獲取;對于Kafka、HBase、Redis等KV,在元數(shù)據(jù)中心里內置了一個元數(shù)據(jù)管理模塊,可以在這個模塊中定義Value的schema信息。 數(shù)據(jù)特征主要是標簽的管理以及數(shù)據(jù)的訪問熱度信息。 元數(shù)據(jù)中心內置了不同類型的標簽,同時允許用戶自定義擴展標簽類型。指標、分層信息、主題域信息都是以標簽的形式存儲在元數(shù)據(jù)中心的系統(tǒng)庫里。 同時,元數(shù)據(jù)中心允許用戶基于標簽類型和標簽搜索表和字段。此外,元數(shù)據(jù)中心統(tǒng)一對外提供了API訪問接口,數(shù)據(jù)傳輸、數(shù)據(jù)地圖、數(shù)據(jù)服務等其他的子系統(tǒng)都可以通過API接口獲取元數(shù)據(jù)。 最后,Range可以基于元數(shù)據(jù)中心提供的API接口,獲取標簽對應的表,然后根據(jù)標簽更新表對應的權限,實現(xiàn)基于標簽的權限控制。 那么,這個元數(shù)據(jù)中心有沒有實際的界面?它長什么樣子?用戶如何使用這個元數(shù)據(jù)中心? 03 元數(shù)據(jù)中心界面 數(shù)據(jù)地圖是基于元數(shù)據(jù)中心構建的一站式企業(yè)數(shù)據(jù)資產(chǎn)目錄,可看作是元數(shù)據(jù)中心的界面。 數(shù)據(jù)開發(fā)、分析師、運營、算法工程師可以在數(shù)據(jù)地圖上完成數(shù)據(jù)的檢索,解決了“不知道有哪些數(shù)據(jù)?”“到哪里找數(shù)據(jù)?”“如何準確的理解數(shù)據(jù)”等難題。 麥聰提供類Google式搜索,幫助業(yè)務人員找到數(shù)據(jù) 數(shù)據(jù)地圖提供了多維度的檢索功能,使用者可以按照表名、列名、注釋、主題域、分層、指標進行檢索,查詢結果按照匹配相關度進行排序。 考慮到數(shù)據(jù)中臺中有一些表是數(shù)倉維護的表,有一些表數(shù)倉已經(jīng)不再維護,在結果排序的時候,增加了數(shù)倉維護的表優(yōu)先展示的規(guī)則。 數(shù)據(jù)地圖還提供了按照主題域、業(yè)務過程導覽,可以幫助使用者快速了解當前有哪些表可以使用。 當使用者定位到某一個表打開時,會進入詳情頁,詳情頁中會展示表的基礎信息,字段信息、分區(qū)信息、產(chǎn)出信息以及數(shù)據(jù)血緣,從而可以幫助使用者了解這個表的來源和去向。 此外,數(shù)據(jù)地圖可提供數(shù)據(jù)預覽的功能,考慮到安全性因素,只允許預覽 10 條數(shù)據(jù),用于判斷數(shù)據(jù)是否符合使用者的預期。 與此同時,提供收藏功能,方便使用者快速找到自己經(jīng)常使用的表。當數(shù)據(jù)開發(fā)、分析師、數(shù)據(jù)運營找到自己需要的表時,在數(shù)據(jù)地圖上可以直接發(fā)起申請對該表的權限申請。 數(shù)據(jù)中臺元數(shù)據(jù)中心的搭建就全部介紹完了,下一章我們將系統(tǒng)介紹元數(shù)據(jù)在指標管理、模型設計、數(shù)據(jù)質量和成本治理四個領域發(fā)揮的作用,這些領域實現(xiàn)了數(shù)據(jù)中臺OneData的核心理念。 數(shù)據(jù)中臺系列文章大家可以移步主頁合集查看。 麥聰軟件,全球領先的DaaS廠商,數(shù)據(jù)中臺2.0領導者。世界500強集團中已有30多家選用,兩年內幫助近400家企業(yè)數(shù)字化轉型更進一步。核心產(chǎn)品麥聰DaaS平臺包含統(tǒng)一數(shù)據(jù)管理和統(tǒng)一數(shù)據(jù)服務兩大模塊,具備數(shù)據(jù)集成、數(shù)據(jù)開發(fā)、數(shù)據(jù)質量、數(shù)據(jù)服務系列功能,歡迎大家?guī)е髽I(yè)數(shù)字化問題與我們一起討論。 |
|