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