数据中台选型必读(二):数据中台如何搭建元数据管理中心
在上一篇文章数据中台选型必读(一):元数据管理是数据使用与共享的根基,我们明确了元数据管理是数据中台实现数据共享和复用的基础;也通过 Metacat 和 Apache Atlas 了解了现在业界主流的元数据管理产品是啥样的。
元数据管理架构
接下来,我们看看数据中台如何搭建元数据中心。
01
元数据中心五个关键目标
在搭建之前,需要明确元数据中心实现的五个关键目标:
第一,多业务线、多租户支持。
电商、短视频、内容推送等都是不同的业务线,同一个业务线内,也分为算法、数仓、风控等多个租户,因此,元数据中心必须支持多业务线、多租户。
传统模式下的烟囱式业务线系统
第二,多数据源的支持。
元数据中心必须要能够支持不同类型的数据源,同时还要支持相同数据源的多个集群。为了规范化管理,还需要考虑将半结构化的 KV 也纳入元数据中心的管理(比如 Kafka、Redis、HBase 等)。
这些系统本身并没有表结构元数据,因此,需要能够在元数据中心里定义 Kafka 中每个 Topic 的每条记录 JSON 中的格式,每个字段代表什么含义。
麦聪 DaaS 平台是唯一企业级支持所有主流数据源的产品
第三,支持字段级数据血缘查询。
元数据中心需要支持数据血缘的实时采集和高性能的查询,与此同时,查询必须支持字段级别的血缘。
字段血缘在做溯源的时候非常有效。因为大数据加工链路的下游是集市层,为了方便使用者使用,一般都是一些很宽的表,俗称“大宽表”。
字段级数据血缘查询
这个表的上游可能是有几十个表产生的,如果不通过字段血缘限定溯源范围,就会导致搜索范围变得很大,无法快速地精准定位到有问题的表。
此外,数据血缘还必须要支持生命周期管理,已经下线的任务,如果没有继续被调度,过期的血缘关系应该予以清理。
第四,与大数据平台集成。
元数据中心需要与 Ranger 集成,实现基于 tag 的权限管理方式。
在元数据中心中可以为表定义一组标签,Range 可以基于这个标签,对拥有某一个标签的一组表按照相同的权限授权。
数据目录标签管理
这种方式大幅提升了权限管理的效率。例如,对于会员、交易、毛利、成本,可以设定表的敏感等级,然后根据敏感等级,设定不同的人有权限查看或编辑。
此外,元数据中心作为基础元数据服务,包括自助取数分析系统,数据传输系统,数据服务,都应该基于元数据中心提供的统一接口获取元数据。
第五,支持对表和表中的字段打标签。
通过丰富的不同类型的标签,可以完善数据中台数据的特征,比如指标可以作为一种类型的标签打在表上,主题域、分层信息都可以作为不同类型的标签关联到表。
02
元数据中心架构
基于以上五个目标,搭建的元数据中心如下:
元数据中心架构
这个图按照功能模块分为数据血缘、数据字典和数据特征。
数据血缘由采集端、消息中间件、消费端以及血缘清理模块组成。
基于 Hive Hook,Spark Listener,Flink Hook 可以获取任务执行时输入表和输出表,推送给统一的消息中间件(Kafka),然后消费端负责将血缘关系沉淀到图数据库中。
图数据库选择 Neo4j,主要考虑是性能快、部署轻量化、依赖模块少,当然,开源的 Neo4j 没有高可用方案,并且不支持水平扩展。
但是,因为单个业务活跃的表规模基本也就在几万的规模,所以单机也够用,高可用可以通过双写的方式实现。
此外,血缘还有一个清理的模块,主要负责定时清理过期的血缘,一般可以把血缘的生命周期设置为 7 天。
数据字典部分,参考 Metacat 实现,由一个统一的 Connector Mananger 负责管理到各个数据源的连接。
对于 Hive、MySQL 元数据中心并不会保存系统元数据,而是直接连数据源实时获取;对于 Kafka、HBase、Redis 等 KV,在元数据中心里内置了一个元数据管理模块,可以在这个模块中定义 Value 的 schema 信息。
数据特征主要是标签的管理以及数据的访问热度信息。
元数据中心内置了不同类型的标签,同时允许用户自定义扩展标签类型。指标、分层信息、主题域信息都是以标签的形式存储在元数据中心的系统库里。
同时,元数据中心允许用户基于标签类型和标签搜索表和字段。此外,元数据中心统一对外提供了 API 访问接口,数据传输、数据地图、数据服务等其他的子系统都可以通过 API 接口获取元数据。
最后,Range 可以基于元数据中心提供的 API 接口,获取标签对应的表,然后根据标签更新表对应的权限,实现基于标签的权限控制。
那么,这个元数据中心有没有实际的界面?它长什么样子?用户如何使用这个元数据中心?
03
元数据中心界面
数据地图是基于元数据中心构建的一站式企业数据资产目录,可看作是元数据中心的界面。
数据开发、分析师、运营、算法工程师可以在数据地图上完成数据的检索,解决了“不知道有哪些数据?”“到哪里找数据?”“如何准确的理解数据”等难题。
麦聪提供类 Google 式搜索,帮助业务人员找到数据
数据地图提供了多维度的检索功能,使用者可以按照表名、列名、注释、主题域、分层、指标进行检索,查询结果按照匹配相关度进行排序。
考虑到数据中台中有一些表是数仓维护的表,有一些表数仓已经不再维护,在结果排序的时候,增加了数仓维护的表优先展示的规则。
数据地图还提供了按照主题域、业务过程导览,可以帮助使用者快速了解当前有哪些表可以使用。
当使用者定位到某一个表打开时,会进入详情页,详情页中会展示表的基础信息,字段信息、分区信息、产出信息以及数据血缘,从而可以帮助使用者了解这个表的来源和去向。
此外,数据地图可提供数据预览的功能,考虑到安全性因素,只允许预览 10 条数据,用于判断数据是否符合使用者的预期。
与此同时,提供收藏功能,方便使用者快速找到自己经常使用的表。当数据开发、分析师、数据运营找到自己需要的表时,在数据地图上可以直接发起申请对该表的权限申请。
数据中台元数据中心的搭建就全部介绍完了,下一章我们将系统介绍元数据在指标管理、模型设计、数据质量和成本治理四个领域发挥的作用,这些领域实现了数据中台 OneData 的核心理念。
评论