更多技術交流、求職機會,歡迎關注位元組跳動資料平台微信公衆号,回複【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改造,應用層支援從舊版本平滑遷移
點選跳轉大資料研發治理套件-火山引擎了解更多