天天看點

資料中台選型必讀(二):資料中台如何搭建中繼資料管理中心

在資料中台選型必讀(一)中,我們明确了中繼資料管理是資料中台實作資料共享和複用的基礎;也通過Metacat和Apache Atlas了解了現在業界主流的中繼資料管理産品是啥樣的。

中繼資料管理架構

接下來,我們看看資料中台如何搭建中繼資料中心。

01

中繼資料中心五個關鍵目标

在搭建之前,需要明确中繼資料中心實作的五個關鍵目标:

第一,多業務線、多租戶支援。

電商、短視訊、内容推送等都是不同的業務線,同一個業務線内,也分為算法、數倉、風控等多個租戶,是以,中繼資料中心必須支援多業務線、多租戶。

傳統模式下的煙囪式業務線系統

第二,多資料源的支援。

中繼資料中心必須要能夠支援不同類型的資料源,同時還要支援相同資料源的多個叢集。為了規範化管理,還需要考慮将半結構化的KV 也納入中繼資料中心的管理(比如Kafka、Redis、HBase等)。

這些系統本身并沒有表結構中繼資料,是以,需要能夠在中繼資料中心裡定義Kafka中每個Topic的每條記錄JSON中的格式,每個字段代表什麼含義。

麥聰DaaS平台是唯一企業級支援所有主流資料源的産品

第三,支援字段級資料血緣查詢。

中繼資料中心需要支援資料血緣的實時采集和高性能的查詢,與此同時,查詢必須支援字段級别的血緣。

字段血緣在做溯源的時候非常有效。因為大資料加工鍊路的下遊是集市層,為了友善使用者使用,一般都是一些很寬的表,俗稱“大寬表”。

字段級資料血緣查詢

這個表的上遊可能是有幾十個表産生的,如果不通過字段血緣限定溯源範圍,就會導緻搜尋範圍變得很大,無法快速地精準定位到有問題的表。

此外,資料血緣還必須要支援生命周期管理,已經下線的任務,如果沒有繼續被排程,過期的血緣關系應該予以清理。

第四,與大資料平台內建。

中繼資料中心需要與Ranger內建,實作基于tag的權限管理方式。

在中繼資料中心中可以為表定義一組标簽,Range可以基于這個标簽,對擁有某一個标簽的一組表按照相同的權限授權。

資料目錄标簽管理

這種方式大幅提升了權限管理的效率。例如,對于會員、交易、毛利、成本,可以設定表的敏感等級,然後根據敏感等級,設定不同的人有權限檢視或編輯。

此外,中繼資料中心作為基礎中繼資料服務,包括自助取數分析系統,資料傳輸系統,資料服務,都應該基于中繼資料中心提供的統一接口擷取中繼資料。

第五,支援對表和表中的字段打标簽。

通過豐富的不同類型的标簽,可以完善資料中台資料的特征,比如名額可以作為一種類型的标簽打在表上,主題域、分層資訊都可以作為不同類型的标簽關聯到表。

02

中繼資料中心架構

基于以上五個目标,搭建的中繼資料中心如下:

中繼資料中心架構

這個圖按照功能子產品分為資料血緣、資料字典和資料特征。

資料血緣由采集端、消息中間件、消費端以及血緣清理子產品組成。

基于Hive Hook,Spark Listener,Flink Hook可以擷取任務執行時輸入表和輸出表,推送給統一的消息中間件(Kafka),然後消費端負責将血緣關系沉澱到圖資料庫中。

圖資料庫選擇Neo4j,主要考慮是性能快、部署輕量化、依賴子產品少,當然,開源的Neo4j沒有高可用方案,并且不支援水準擴充。

但是,因為單個業務活躍的表規模基本也就在幾萬的規模,是以單機也夠用,高可用可以通過雙寫的方式實作。

此外,血緣還有一個清理的子產品,主要負責定時清理過期的血緣,一般可以把血緣的生命周期設定為7天。

資料字典部分,參考Metacat實作,由一個統一的 Connector Mananger負責管理到各個資料源的連接配接。

對于Hive、MySQL中繼資料中心并不會儲存系統中繼資料,而是直接連資料源實時擷取;對于Kafka、HBase、Redis等KV,在中繼資料中心裡内置了一個中繼資料管理子產品,可以在這個子產品中定義Value的schema資訊。

資料特征主要是标簽的管理以及資料的通路熱度資訊。

中繼資料中心内置了不同類型的标簽,同時允許使用者自定義擴充标簽類型。名額、分層資訊、主題域資訊都是以标簽的形式存儲在中繼資料中心的系統庫裡。

同時,中繼資料中心允許使用者基于标簽類型和标簽搜尋表和字段。此外,中繼資料中心統一對外提供了API通路接口,資料傳輸、資料地圖、資料服務等其他的子系統都可以通過API接口擷取中繼資料。

最後,Range可以基于中繼資料中心提供的API接口,擷取标簽對應的表,然後根據标簽更新表對應的權限,實作基于标簽的權限控制。

那麼,這個中繼資料中心有沒有實際的界面?它長什麼樣子?使用者如何使用這個中繼資料中心?

03

中繼資料中心界面

資料地圖是基于中繼資料中心建構的一站式企業資料資産目錄,可看作是中繼資料中心的界面。

資料開發、分析師、營運、算法工程師可以在資料地圖上完成資料的檢索,解決了“不知道有哪些資料?”“到哪裡找資料?”“如何準确的了解資料”等難題。

麥聰提供類Google式搜尋,幫助業務人員找到資料

資料地圖提供了多元度的檢索功能,使用者可以按照表名、列名、注釋、主題域、分層、名額進行檢索,查詢結果按照比對相關度進行排序。

考慮到資料中台中有一些表是數倉維護的表,有一些表數倉已經不再維護,在結果排序的時候,增加了數倉維護的表優先展示的規則。

資料地圖還提供了按照主題域、業務過程導覽,可以幫助使用者快速了解目前有哪些表可以使用。

當使用者定位到某一個表打開時,會進入詳情頁,詳情頁中會展示表的基礎資訊,字段資訊、分區資訊、産出資訊以及資料血緣,進而可以幫助使用者了解這個表的來源和去向。

此外,資料地圖可提供資料預覽的功能,考慮到安全性因素,隻允許預覽 10 條資料,用于判斷資料是否符合使用者的預期。

與此同時,提供收藏功能,友善使用者快速找到自己經常使用的表。當資料開發、分析師、資料營運找到自己需要的表時,在資料地圖上可以直接發起申請對該表的權限申請。