天天看點

火山引擎 DataLeap 建構Data Catalog系統的實踐 一:背景與調研思路

作者:位元組跳動資料平台
更多技術交流、求職機會,歡迎關注位元組跳動資料平台微信公衆号,回複【1】進入官方交流群

摘要

Data Catalog 産品,通過彙總技術和業務中繼資料,解決大資料生産者組織梳理資料、資料消費者找數和了解數的業務場景,并服務于資料開發和資料治理的産品體系。本文介紹了火山引擎 DataLeap 套件下Data Catalog系統的建構和疊代過程,概要介紹核心設計以及部分關鍵實作。

背景

中繼資料與Data Catalog

中繼資料,一般指描述資料的資料,對資料及資訊資源的描述性資訊。在目前大資料的上下文裡,通常又可細分為技術中繼資料和業務中繼資料。

Data Catalog,是一種中繼資料管理的服務,會收集技術中繼資料,并在其基礎上提供更豐富的業務上下文與語義,通常支援中繼資料編目、查找、詳情浏覽等功能。

中繼資料是Data Catalog系統的基礎,而Data Catalog使中繼資料更好的發揮業務價值。

Data Catalog的業務價值

火山引擎 DataLeap 套件下Data Catalog系統主要服務于兩類使用者的兩種核心場景。

對于資料生産者來說,他們利用Data Catalog系統來組織、梳理自己負責的各類中繼資料。生産者大部分是大資料開發的同學。通常,生産者會将某一批相關的中繼資料以目錄等形式編排到一起,友善維護。另外,生産者會持續的在技術中繼資料的基礎上,豐富業務相關的屬性,比如打業務标簽,添加應用場景描述,字段解釋等。

對于資料消費者來說,他們通過Data Catalog查找和了解他們需要的資料。在使用者數量和角色上看,消費者遠多于生産者,涵蓋了資料分析師、産品、營運等多種角色的同學。通常,消費者會通過關鍵字檢索,或者目錄浏覽,來查找解決自己業務場景的資料,并浏覽詳情介紹,字段描述,産出關系等,進一步的了解和信任資料。

另外,Data Catalog系統中的各類中繼資料,也會向上服務于資料開發、資料治理兩大類産品體系。

在大資料領域,各類計算和存儲系統百花齊放,概念和原理又千差萬别,對于中繼資料的采集、組織、了解、信任等,都帶來了很大挑戰。是以,做好一個Data Catalog産品,本身是一個門檻低、上限高的工作,需要有一個持續打磨提升的過程。

舊版本痛點

位元組跳動Data Catalog産品早期為能較快解決Hive的中繼資料收集與檢索工作,是基于LinkedIn Wherehows進行二次改造 。Wherehows架構相對簡單,采用Backend + ETL的模式。初期版本,主要利用Wherehows的存儲設計和ETL架構,自研實作前後端的功能子產品。

随着位元組跳動業務的快速發展, 公司内各類存儲引擎不斷引入,資料生産者和消費者的痛點都日益明顯。之前系統的設計問題,也到了需要解決的階段。具體來說:

  • 使用者層面痛點:資料生産者: 多引擎環境下,沒有便捷、友好的資料組織形式,來一站式的管理各類存儲、計算引擎的技術與業務中繼資料資料消費者: 各種引擎之間找數難,中繼資料的業務解釋零散造成了解數難,難以信任
  • 技術痛點:擴充性:新接入一類中繼資料時,整套系統傷筋動骨,開發成本月級别可維護性:經過一段時間的修修補補,整個系統顯的很脆弱,研發人員不敢随便改動;存儲依賴重,同時使用了MySQL、ElasticSearch、圖資料庫等系統存儲中繼資料,維護成本很高;接入一種中繼資料會增加2~3個ETL任務,運維成本直線上升

新版本目标

基于上述痛點,火山引擎 DataLeap 研發人員重新設計實作Data Catalog系統,希望能達成如下目标:

  • 産品能力上,幫助資料生産者友善快捷組織中繼資料,資料消費者更好的找數和了解數
  • 系統能力上,将接入新型中繼資料的成本從月級别降低為星期甚至天級别,架構精簡,單人業餘時間可運維

調研與思路

業界産品調研

站在巨人的肩膀上,動手之前火山引擎 DataLeap 研發人員針對業界主流DataCatalog産品做了産品功能和技術調研。因各個系統都在頻繁疊代,資料僅供參考。

産品分類 産品名稱 支援中繼資料種類 重要産品功能 機器學習能力 擷取資訊途徑 特點分析
獨角獸 C** 40+ 搜尋、血緣、标簽、評價與打分、認證、問答、Connector市場等 demo和文檔 功能豐富,成熟度高,産品設計上有諸多可借鑒之處
A** 60+ 搜尋、血緣、标簽、問答、Connector市場等 demo和文檔 功能較豐富,成熟度較高,産品能力可做參考
開源 A** A** 10+ 搜尋、血緣、标簽等 源碼和文檔 離線相關資料源支援較好,類型系統和存儲系統設計巧妙,但産品側能力弱。近期疊代較緩慢
L** D** 40+ 搜尋、血緣、标簽、統計大盤等 源碼和文檔 發展較快,背後商業化公司支援力度大,有線上demo環境可随時體驗,功能簡單直接
商業化 A** P** 30+ 搜尋、血緣、标簽、統計大盤等 産品體驗和文檔 功能較簡單,與其公有雲結合緊密,部分功能有借鑒意義

更新思路

根據調研結論,結合位元組已有業務特點,火山引擎 DataLeap 研發人員敲定了以下發展思路:

  • 對于搜尋、血緣這類核心能力,做深做強,對齊業界領先水準
  • 對于各産品間特色功能,挑選适合位元組業務特點的做融合
  • 技術體系上,存儲和模型能力基于Apache Atlas改造,應用層支援從舊版本平滑遷移

點選跳轉大資料研發治理套件-火山引擎了解更多

繼續閱讀