網(wǎng)站備案用座機租用重慶百度總代理
1. 整體架構(gòu)設(shè)計
DataHub 是一個第三代數(shù)據(jù)目錄系統(tǒng),專為現(xiàn)代數(shù)據(jù)棧設(shè)計,支持數(shù)據(jù)發(fā)現(xiàn)、協(xié)作、治理和端到端可觀測性。其架構(gòu)采用模型優(yōu)先的設(shè)計理念,注重不同工具和系統(tǒng)之間的互操作性。
1.1 架構(gòu)總覽
DataHub 的整體架構(gòu)可以分為以下幾個主要層次:
- 前端層:React 實現(xiàn)的 Web UI 和 Play Framework 實現(xiàn)的前端服務
- API 層:GraphQL API 和 REST API
- 服務層:元數(shù)據(jù)服務 (Metadata Service)
- 存儲層:文檔存儲 (MySQL/PostgreSQL)、搜索索引 (Elasticsearch) 和圖索引 (Neo4j/MySQL)
- 事件層:基于 Kafka 的元數(shù)據(jù)事件流
- 攝取層:Python 實現(xiàn)的元數(shù)據(jù)攝取框架
1.2 架構(gòu)亮點
DataHub 架構(gòu)的三個主要亮點:
-
Schema-first 元數(shù)據(jù)建模:使用序列化無關(guān)的語言 (PDL) 描述元數(shù)據(jù)模型,支持 REST 和 GraphQL API,以及基于 AVRO 的 Kafka 事件通信。
-
基于流的實時元數(shù)據(jù)管理平臺:元數(shù)據(jù)基礎(chǔ)設(shè)施采用流式設(shè)計,使元數(shù)據(jù)變更能在幾秒內(nèi)反映到平臺中,并允許訂閱元數(shù)據(jù)變更事件。
-
聯(lián)邦式元數(shù)據(jù)服務:支持由不同團隊擁有和運營的聯(lián)邦元數(shù)據(jù)服務,通過 Kafka 與中央搜索索引和圖進行通信,支持全局搜索和發(fā)現(xiàn)。
2. 核心組件工作原理
2.1 元數(shù)據(jù)存儲 (Metadata Store)
元數(shù)據(jù)存儲負責存儲構(gòu)成元數(shù)據(jù)圖的實體 (Entities) 和方面 (Aspects),提供 API 用于攝取元數(shù)據(jù)、按主鍵獲取元數(shù)據(jù)、搜索實體和獲取實體間關(guān)系。
技術(shù)實現(xiàn):
- Spring Java 服務托管一組 Rest.li API 端點
- MySQL 作為主要存儲
- Elasticsearch 用于搜索索引
- Kafka 用于事件流通信
主要功能:
- 元數(shù)據(jù)的 CRUD 操作
- 主鍵查詢
- 全文搜索
- 關(guān)系查詢(如血緣關(guān)系)