元数据:快手元数据平台建设及应用场景

Posted 学而知之@

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元数据:快手元数据平台建设及应用场景相关的知识,希望对你有一定的参考价值。

点击上方「蓝字」关注我们

摘要:今天分享的主要内容是元数据相关的概念和快手元数据平台建设及应用场景。主要内容包括:

    

    1、元数据简介

    2、元数据分类

    3、元数据管理

    4、快手元数据平台建设背景

    5、快手元数据平台建设过程及现状

    6、快手元数据平台建设应用场景

    7、未来规划

一、元数据简介

元数据,简单定义就是描述数据的数据。在企业中,只要有数据存的地方,就有其对应的元数据。只有完整、准确的元数据存在,才能更好的理解数据,充分挖掘数据的价值。

还依稀记得我初次接触元数据概念时的场景,看到这个官方的解释,我有点蒙圈。怎么想,也感觉这概念像个套娃:【描述数据的数据】。后来又接触到了元元数据、元模型等概念:【元元数据,是定义元数据结构和语义的信息】、【由元数据组成的模型称之为元模型】。然后我就想再回到小学,好好学习一下语文...不明觉厉!

好了,举例来说明下元数据到底是什么:

这是奶茶的营养成分表,结合左边和上边的说明,进行理解:每100g奶茶含能量166KJ。按照定义【能量】【每100g】都是对数据166KJ的解释说明,这二者就是166KJ的元数据。

二、元数据分类

元数据主要分为两大类:技术元数据和业务元数据。其中各自又进行细分,下面来详细解读一下各自的详细内容和含义。

2.1 技术元数据:

  • 物理元数据

    描述物理资源的元数据,包括但不限于服务器、操作系统、机房位置等信息。

  • 数据源元数据

    描述数据源的元数据,通常包括四类:

    • 数据源地址(IP、PORT等)

    • 物理拓扑(设备、角色等)

    • 权限(用户名、口令等)

    • 库名、版本、域名等

  • 存储元数据

  • 描述对象存储的元数据,也是通常“狭义”上的元数据,包括:

    • 管理属性(创建人、应用系统、业务线、业务负责人等)

    • 生命周期(创建时间、DDL时间、版本信息等)

    • 存储属性(位置、物理大小等)

    • 数据特征(数据倾斜、平均长度等)

    • 使用特征(DML、刷新率等)

    • 数据结构:

      • 表/分区(名称、类型、备注)

      • 列(名称、长度、精度)

      • 索引(名称、类型、字段等)

      • 约束(类型、字段等)

  • 计算元数据

    描述计算过程的元数据,通常可分为数据抽取(ETL)或数据加工(job)两类计算。每类计算又可以进一步细分:

    • 控制元数据(配置属性、调度策略等)

    • 过程元数据(依赖关系、执行状态、执行日志等)

  • 质量元数据

  • 描述数据质量的一类数据。通常情况下是通过定义一系列质量指标反映数据质量。

  • 操作元数据

    描述数据是如何使用的一类元数据,通常包括:

    • 数据产生(产生时间、作业信息等)

    • 表访问(查询、关联、聚合等)

    • 表关联(关联表、关联字段、关联类型、关联次数等)

    • 字段访问(查询、关联、聚合、过滤等)

  • 运维元数据

    描述系统运维层面的元数据,通常包括任务类、报警类及故障类。

  • 成本元数据

    描述数据存储及计算成本的元数据,通常包括:

    • 计算成本(CPU、MEM等)

    • 存储成本(空间、压缩率等)

  • 标准元数据

    描述数据标准化内容的元数据,通常包括:

    • 代码管理(转换规则、对外接口等)

    • 映射管理

    • 数据展示(样式、规则、语义、单位等)

  • 安全元数据

    描述数据安全内容的元数据,通常包括:

    • 安全等级

    • 数据敏感性(是否敏感、脱敏算法等)

2.2 业务元数据:

  • 模型元数据

    数据建模,是一种对业务的描述,通过模型可更好地了解业务。常见的建模方式有范式模型、维度模型、多维建模等。下面以维度模型为例进行说明:

    • 业务线、板块、过程

    • 数据域、主题域

    • 维度、属性

    • 指标

    • 事实、度量

    • 集市与应用

  • 应用元数据

    描述数据应用类的元数据

  • 分析元数据

    从数据分析角度,描述业务的元数据,主要包括:

    • 数据域、主题域

    • 产品线、板块、业务过程

    • 业务流程

    • 业务规则

三、元数据管理

  • 为什么要管理元数据?

先看一个极端的例子:一个程序员在网上聊天,有一天,别人问他,你是程序员吗?程序员本能反应,就回了一个[true]。但是对方不懂编程,也不懂英语,一阵交涉,最终明白:原来很多程序语言里,true就等同于[是]。

奇葩说里马东曾经说过:“被误解是表达者的宿命”,当然被误解绝对不是表达者希望的结果。同样,数据治理也是一样,为了不被误解,我们要做好元数据的管理,尽量通俗易懂的进行阐述。

人与人要合作、交流,要理解对方表达的意思。而元数据就是沟通和理解的桥梁。

  • 如何管理元数据:

元数据也是根据实际业务场景定义属性,元数据会有通用的属性,比如名称、类型,不同类型的元数据还会有自己特定的属性。元数据既然也是数据,肯定是存储在数据库中的。元数据存储库是指存储元数据的物理数据库表,通常采用开源的关系型数据库(mysql)实现元数据存储。

下面从几个方面展开聊聊如何管理元数据:

  • 元数据范围:

    首先确定元数据来源范围,在实际的工作中,不是所有数据都是要做元数据管理,通常我们会选择业务数据做元数据管理,非业务数据是不会纳入管理范围内的,主要还是因为元数据管理是提供业务和开发人员快速掌握业务数据。

    确定规则后,就要结合公司的实际情况去梳理哪些业务系统、数据库、数据库用户、哪些表需要做元数据管理。当然也可以支持非结构化的元数据抽取,例如:word、pdf等。

  • 元数据接入:

    元数据从哪接入,一般都是从源系统接入。假如公司已经存在数仓或者实时性要求不高,为了节约开发工作量,对于已有的元数据会从数仓接入,还未接入的会从源系统进行接入。

    但这种方案也是存在风险的,假如数仓的数据和源系统出现不一致,就会导致元数据出错。现在大部分的元数据抽取都是采用配置自动化的方式进行。

  • 元数据标准:

    在梳理的过程中可能会出现有些数据库或者有些数据定义不规范的情况,导致元数据管理无法进行下去。那接下来需要建立元数据的管理规范,去反推前端的源数据进行整改,主要是保证元数据的完整性和一致性。

    针对不同的类型的公司要求,元数据会开放给不同的人群,所以要对元数据进行权限管理,规范里面就需定义权限的管理流程:元数据的权限分层、元数据权限申请流程、元数据的发布流程、元数据的审核流程。

    我的公司将元数据分为业务和技术两个管理属性,技术人员可以查看全域元数据,业务人员只能查看自己所对应业务流程的元数据,如要查看其他业务流程的元数据,需进行申请,申请流程要过元数据对应的业务和技术。

  • 元数据维护:

    元数据维护主要是对已经发布的元数据进行维护管理,已经发布上线的元数据,如需调整、优化则必须重新走元数据发布流程,不准许对元数据进行直接修改。为了安全,元数据所有操作行为都要记录到元数据操作日志里面。

    可以对元数据创建目录将不同的元数据挂在对应的目录下,按照业务流程、业务主题域、开发流程设计对应的目录,主要还是根据公司要求设计。

  • 元数据查找、分析、报告:

    有单独的页面支持元数据的模糊或精准快速查找,通过输入关键信息查找对应的元数据。我所在的公司将元数据作为数据资产的一类,因此我们需要产出元数据资产报告,从报告中能够快速的了解元数据访问热度、数据价值、数据成本、数据分布等相关信息。

四、快手元数据平台建设背景

  • 数据现状:

  • 面对的问题:

快手基于现状和面临的、亟待解决的问题,决定投入开发元数据平台。

目前所有公司对于元数据管理,主要有三种方可供选择:

  • Excel纯手工操作

    这种方式最大的弊端是维护工作量大,并且非常容易出错。我之前的公司就是这么玩的,当时就感觉low到爆炸。

  • 自研系统

  • 顾名思义,就像快手一样,通过投入人力、财力根据自己的业务场景和数据特征进行定制化开发。这样的系统最大的优点是操作简便、维护成本较低。

  • Atlas工具

    说到这个工具,可能有很多小伙伴不太清楚,但这哥们儿确实是目前为数不多的、开源的、比较好用的元数据管理工具,并且是Apache的。目前项目上正在使用的就是这哥们儿,确实比较容易上手。有不清楚的小伙伴,欢迎来扰。

五、元数据平台建设过程及现状

  • 元数据系统发展:

  • 如何抽象和管理:

PS:通过关系-实体模型将元数据进行抽象、关联。用这种E-R模型将元数据很好的管理起来,使结构更清晰,明了。

PS:通过将元数据进行分类,可以根据实际的业务场景对元数据进行针对性的调整和关联,使管理的动作更加简洁、高效。

  • 当前系统架构:

六、元数据平台应用场景

  • 找数:

PS:说到找数这个场景,大概很多小伙伴都会头疼。对,目前我就在受到这种场景的折磨。逻辑开发完,产品发现少了一些维度和指标。好了,找吧。

  • 全链路血缘

  • 数据治理平台

  • 其他应用场景

七、未来规划

  • 未来规划

写在最后

学习元数据的初期,我看了很多文献资料,被各种概念按在地上反复摩擦。其实就是[无形的数据],当这些解释落到纸面的时候,就成了[有形的元数据]。

为了钻研概念,我搜集了非常多的资料,提升了资料搜寻能力,元数据是数据产品的核心概念,这也为我后续理解数据产品的其他概念打好了基础。

实践是检验真理的唯一途径,也是探索、理解真理的唯一途径。实在弄不懂一个概念,那就去实践理解吧,你总会有顿悟的那一刻。

数据湖:Apache Iceberg在腾讯的探索和实践

快手如何是从模型规范开始进行数据治理的

基于快手直播场景聊一聊数据质量体系

作业帮实时数仓架构中的Doris是如何发挥神威的

基于阿里OneData思想,深入剖析数据仓库方法论

转载是一种动力 分享是一种美德,感谢小伙伴的关注和分享ღ( ´・ᴗ・` )。

以上是关于元数据:快手元数据平台建设及应用场景的主要内容,如果未能解决你的问题,请参考以下文章

Flink 在快手实时多维分析场景的应用

科技云报道:实现元宇宙,英伟达从打造基础建设平台开始

货拉拉数据治理平台建设实践

百度击败阿里云:1281 万元中标分布式存储项目

大数据平台下的数据治理

EEPlat PaaS 整体方案及技术原理