数据是组织最重要的资产
案例 | 快手智能元数据管理平台建设实践案例

案例 | 快手智能元数据管理平台建设实践案例

大数据中台领域中,元数据管理作为横向系统,贯穿了数据从生产到消费的全生命周期,包括大数据引擎、大数据系统等。元数据管理是数据中台重要组成部分,本次分享主要介绍快手建设元数据管理系统的挑战和解决方案,以及元数据如何提效数据应用和资源治理。(本文内容已经在2022 年 9 月 DataFunSummit2022 现代数据栈在线峰会进行过分享)

1 快手元数据管理建设背景

元数据是描述数据的数据,比如大数据表的Schema信息、BI 看板、数据集、指标模型等。元数据管理涉及数据中台多环节,包括数据同步、数据加工、数据服务等。快手元数据管理平台已经采集数据表、指标模型、AB任务、分析看板等几十种元数据类型。

元数据管理在快手的发展历史,可以分为三个阶段:

2 元数据管理2.0系统架构和关键技术

2.1 系统架构

快手从2020年开始建设元数据管理2.0平台,主要的建设思路是「统一化」和「主动化」:

  • 统一化:零散的烟囱式组件开发合并归一,提升效率
  • 主动化:以终为始,围绕业务价值建设元数据服务能力

我们在建设元数据管理2.0平台时,也面临诸多挑战:

鉴于上述挑战,元数据管理平台建设思路是 3+1 建设,即3个统一层+1个应用层

2.2 关键技术

我们在系统实践过程中,涉及几个关键技术,下面分别介绍。

  • 统一接入
  • 统一存储
  • 质量保障
  • 血缘分析
  • 数据自动分析

统一接入:如何解决烟囱式开发

元数据管理平台,引入统一的接入规范和流程,避免了过多差异化建设,减少了烟囱式开发。元数据实体类型,会继承基础实体,从而拥有对应基础属性,并扩展出特有属性。实体和关系的ETL处理,也遵从一致的处理流程,在系统落地实现上精简化。统一接入的价值点在于系统架构的优雅和清晰。

统一存储:如何存储异构实体

快手随着数据中台建设,所涉及重要的元数据实体类型达30+种,且结构差异性较大,如“Hive表”包括“列”,“列”又有“名称”、“描述”等属性,而“离线开发任务”的属性则大为不同。面对此情况,早期处理方式是为异构实体创建不同结构的表,以存储数据,然而该方式在面临多达30+种异构实体类型时扩展性较弱。除了异构性挑战外,元数据实体量级达亿级,且访问性能要求也很高。

面对以上问题,我们使用Atlas+JanusGraph方式存储数据。首先,该方案引入了类型系统,允许我们将元数据实体类型(Schema结构)作为数据直接存入系统,即完成动态录入元数据定义。第二,该图库底层存储是基于Hbase,可支撑亿级数据量,包括实体和关系都可以统一存储进来。第三,对于特定场景对元数据访问性能要求高,引入ES等组件来加速查询。

质量保障:如何打造高质量元数据

快手内使用元数据的系统很多,也不乏P0业务场景,他们对数据质量要求非常高,一旦出现问题,则可能会对数据生产及时性或者数据决策正确性造成很大影响。但是元数据管理平台时常出现质量问题,如元数据实体不一致,或者实体血缘错误。

快手元数据管理平台从两个方面保障质量:

血缘分析:如何基于血缘做影响分析和故障溯源

建设统一元数据层的一个重大应用场景是,我们有全局数据血缘视角,可以做全局血缘分析。当我们上游Hive表数据内容异常,可以及时推断影响下游哪些看板(影响分析);当数据指标出现异常,也可以快速定位上游环节异常(溯源)。

快手数据血缘涉及的数据量很大,单实体可有千级直接下游;此外数据血缘层级深,可达 50+;另外元数据图库性能较弱无法支撑大批量复杂查询。基于该现状,我们抽象了两类血缘分析场景:

  • 第一,简单同步查询,应对直接通过图库查询来预览实体临近的上下游血缘
  • 第二,多维异步分析,应对多条件且相对复杂的血缘分析场景

对于多维异步分析,相比于提交复杂图SQL查询,我们采取简单层级遍历方式,可控制查询并发量,而不对图库造成过大负载。此外它也引入BFS方式遍历图,这会有几个好处:

元数据自动分级:如何做数据分级保障

分级的思路在工程上有非常多的应用场景,比如服务分级、任务分级等。分级通常用于资源有限的情况下,如何最大化资源使用价值,达到业务目标。对于元数据也是一样,实体分级后,能允许我们提供分级质量保障能力,如高优实体具有更好的一致性、及时性、可用性保障。

元数据分级的思路是:

  • 划定基准等级:选定一批基准元数据实体,他们已有权威分级(如业务指标等级),将他们映射至元数据等级
  • 自动向上推导:基于上一步骤的基准实体,自动向上传导等级,由此可推断出图中父节点实体的优先级

事实上,经过分级后,我们发现P0实体占比很小,这意味着我们可使用有限资源优先保障P0实体的一致性、及时性、可用性。

3 元数据驱动资产应用和数据治理

元数据可应用于多类场景,包括:

  • 数据生产链路:提高数据生产效率,如辅助用户配置加工任务
  • 数据消费链路:助力数据查询分析效率,如辅助优化查询SQL
  • 数据管理链路:找数、管数、数据治理等横向数据管理效率

本文重点介绍元数据应用于找数、管数、数据治理。

3.1 数据地图

基于全量元数据,快手构建了数据地图,满足业务最迫切的找数需求。数据地图有三个关键能力:

3.2 资产管理

资产管理平台,提供了20+资产的管理能力,主要包括:

3.3 数据成本治理

数据治理一般包括多个维度,如数据成本、数据安全、数据质量、数据规范、数据模型、资产价值等。本文以成本为例介绍元数据如何驱动成本治理。快手大数据存储量达数EB级,成本很高。对于数据表而言,从其生命周期看,通常涉及几个环节:创建开发任务、使用资源运行任务、资源账单、资源治理等。元数据则是驱动整个流程闭环运转,主要是通过资源账单为抓手来牵引资源治理。

治理策略包括两类:

4 元数据管理平台 3.0 展望

快手元数据管理1.0,主要特征是手工化;而2.0则引入了统一平台化建设思路;未来 3.0 则主要是围绕着「低代码」、「自动化」、「智能化」等建设出主动元数据平台,并且开启智能数据管理时代:


作者简介:

倪顺,2019年加入快手,主要围绕数据中台开展工作,前后负责过数据服务、数据管理等平台建设,主要涉及元数据管理平台、数据地图、大数据资源管理等内容,提效数据开发和消费全链路。

快手数据中台团队介绍:

快手核心大数据中台团队,为全公司构建业界领先的智能大数据生产和分析平台,赋能全业务线提升公司数据创新效率。目前涉及方向包括数据开发工具链(离线和实时数据开发平台、数据同步、大规模工作流调度、全链路质检平台)、数据服务工具链(智能指标模型平台、百万级并发数据服务化平台)、数据分析工具链(一站式数据分析平台、专题式数据分析产品)、数据管理工具链(全链路元数据平台、资源管理平台、数据地图、数据安全平台)。也欢迎优秀同学加入我们!

本文来源  微信公众号:快手大数据

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注