技术与产品概览
架构设计
元数据的接入
-
元数据接入支持T+1和近实时两种方式
-
上游系统:包括各类存储系统(比如Hive、 Clickhouse等)和业务系统(比如数据开发平台、数据质量平台等)
-
中间层:
- ETL Bridge:T+1方式运行,通常是从外部系统拉取最新元数据,与当前Catalog系统的元数据做对比,并更新差异的部分
- MQ:用于暂存各类元数据增量消息,供Catalog系统近实时消费
- 与上游系统打交道的各类Clients,封装了操作底层资源的能力
核心服务层
系统的核心服务,根据职责的不同,细拆为以下子服务:
- Catalog Service:支持元数据的搜索、详情、修改等核心服务
- Ingestion Service:接受外部系统调用,写入元数据,或主动从MQ中消费增量元数据
- Resource Control Plane:通过各类Clients,与底层的存储或业务系统交互,操作底层资源,比如建库建表,能力可插拔
- Q&A Service:问答系统相关能力,支持对元数据的字段含义、使用场景等提问和回答,能力可插拔
- ML Service:负责封装与机器学习相关的能力,能力可插拔
- API Layer:以RESTful API的形式整合系统中的各类能力
存储层
针对不同场景,选用的不同的存储:
- Meta Store:存放全量元数据和血缘关系,当前使用的是HBase
- Index Store:存放用于加速查询,支持全文索引等场景的索引,当前使用的是ElasticSearch
- Model Store:存放推荐、打标等的算法模型信息,使用HDFS,当ML Service启用时使用
元数据的消费
-
数据的生产者和消费者,通过Data Catalog的前端与系统交互
-
下游在线服务可通过OpenAPI访问元数据,与系统交互
-
Metadata Outputs Layer:提供除了API之外的另外一种下游消费方式
- MQ:用于暂存各类元数据变更消息,格式由Catalog系统官方定义
- Data warehouse:以数仓表的形式呈现的全量元数据
产品功能升级
产品能力上的升级迭代,大致分为以下几个阶段:
- 基础能力建设(2017-2019):数据源主要是离线数仓Hive,支持了Hive相关库表创建、元数据搜索与详情展示、表之间血缘,以及将相关表组织成业务视角的数据专题等
- 中阶能力建设(2019-2020年中):数据源扩展了Clickhouse与Kafka,支持了Hive列血缘,Q&A问答系统等
- 架构升级(2020年中-2021年初):产品能力迭代放缓,基于新设计升级架构
- 能力提升与快速迭代(2021年至今):数据源扩展为包含离线、近实时、业务等端到端系统,搜索和血缘能力有明显增强,探索机器学习能力,产品形态更成熟稳定。另外我们还具备了ToB售卖的能力。