zl程序教程

您现在的位置是:首页 >  工具

当前栏目

基于Apache doris的元数据管理系统

2023-09-27 14:25:58 时间

这里我们要先搞懂什么是元数据 元数据和数据的区别是什么 元数据有什么作用

1.什么是元数据


举几个例子


如果一本书是一个“数据 那么它的书名、封面、出版社、作者、总页码就是它的“元数据”。


如果数据库中某个表是一个”数据” 那么它的列名、列类型、列长度、表注释就是它的 元数据 。


元数据用来描述数据的数据 通过描述数据的产生、存储、使用情况、业务含义等信息 以及数据管理人员相关信息。让人们能够清楚拥有什么数据、代表什么、源自何处、如何在系统中移动 以及哪些人可以使用源数据 如何使用


2.元数据分类


元数据可分为技术元数据和业务元数据


2.1 技术元数据


技术元数据是存储关于数据仓库系统技术细节的数据 是用于开发和管理数据仓库使用的数据 主要包括


数据字典 例如表名、注释信息、表的产出任务、表字段信息、含义和字段类型等 描述数据的结构信息。


数据血缘关系 描述表的继承关系 由哪些表经过哪些计算任务得到的。


数据特征 数据的属性 比如存储空间大小、访问热度、主题域、分层、表关联指标等。


2.2 业务元数据


为管理层和业务分析人员服务 从业务角度描述数据 包括商务术语、数据仓库中有什么数据、数据的位置和数据的可用性等 帮助业务人员更好地理解数据仓库中哪些数据是可用的以及如何使用。


企业概念模型 这是业务元数据所应提供的重要的信息 它表示企业数据模型的高层信息、整个企业的业务概念和相互关系。以这个企业模型为基础 不懂数据库技术和SQL语句的业务人员对数据仓库中的数据也能做到心中有数。


多维数据模型 这是企业概念模型的重要组成部分 它告诉业务分析人员在数据集市当中有哪些维、维的类别、数据立方体以及数据集市中的聚合规则。这里的数据立方体表示某主题领域业务事实表和维表的多维组织形式。


业务概念模型和物理数据之间的依赖 以上提到的业务元数据只是表示出了数据的业务视图 这些业务视图与实际的数据仓库或数据库、多维数据库中的表、字段、维、层次等之间的对应关系也应该在元数据知识库中有所体现


3.元数据管理功能

image.png


3.1 数据地图


数据地图展现是以拓扑图的形式对数据系统的各类数据实体、数据处理过程元数据进行分层次的图形化展现 并通过不同层次的图形展现粒度控制 满足开发、运维或者业务上不同应用场景的图形查询和辅助分析需要。


image.png

3.2 元数据分析


3.2.1 血缘分析


血缘分析 我们可以大致理解为是一个表的生成过程。它依赖了哪些表 怎么生成的。同时加上它依赖的表又是怎么生成的。


image.png

血缘分析的作用


问题定位 假设你用到了别人的数据 数据血缘分析能快速帮你定位到问题。


理解数据 如果你想用其它的数据源 首先要能理解它 不然数据口径能给你带来很大的麻烦。


影响评估 修改某份数据的时候能评估影响的范围大小。比如说现在你的小伙伴要调整自己开发的 Table J 这时候如果他不知道有谁在依赖这张表 冒然修改的话会带来毁灭性的伤害 但是有数据血缘分析的时候 至少能知道谁在使用这份数据。


数据血缘分析是元数据管理的重要应用之一 梳理系统、表、视图、存储过程、ETL、程序代码、字段等之间的关系 并采用图数据库进行可视化展现。总之就是通过可视化展示数据是怎么来的 经过了哪些过程、阶段及计算逻辑。


3.2.2 影响分析


基于元数据存储的数据定义、去向、转换关系、依赖关系等 提供影响分析管理 向上分析 功能


影响图 某实体表向上用于生成哪些实体 直接和间接 影响哪些数据汇总程序 直接和间接 。由当前数据节点向上树形扩散


3.2.3 表关联分析


提供表级关联关系分析功能 实现对数据流向分析 通过选定指定表操作对指定表进行数据流向分析 以实现对数据源数据具体流向的分析与统计


image.png

3.2.4 指标一致性分析


指标一致性分析是指用图形化的方式来分析比较两个指标的数据流图是否一致 从而了解指标计算过程是否一致。该功能是指标血缘分析的一种具体应用。指标一致性分析可以帮助用户清楚地了解到将要比较的两个指标在经营分析数据流图中各阶段所涉及的数据对象和转换关系是否一致 帮助用户更好地了解指标的来龙去脉 清楚理解分布在不同部门且名称相同的指标之间的差异 从而提高用户对指标值的信任。


3.3 安全管理


企业数据平台所存储的数据和提供的各类分析应用 涉及到公司经营方面的各类敏感信息。因此在数据系统建设过程中 须采用全面的安全管理机制和措施来保障系统的数据安全。


数据系统安全管理模块负责数据系统的数据敏感度、客户隐私信息和各环节审计日志记录管理 对数据系统的数据访问和功能使用进行有效监控。为实现数据系统对敏感数据和客户隐私信息的访问控制 进一步实现权限细化 安全管理模块应以元数据为依据 由元数据管理模块提供敏感数据定义和客户隐私信息定义 辅助安全管理模块完成相关安全管控操作。


可以通过元数据设置表及字段的安全等级 加密 脱敏 授权等 然后结合相应的规则对数据表及字段访问进行控制 确保数据安全


3.4 元数据服务


统一元数据服务 主要提供查询表、指标、维度基本信息的基础元数据服务以及查询表级血缘、字段级血缘的血缘服务。


3.5 数据详情


找到数据之后 通过数据详情功能可以快速了解数据表的基础信息 字段信息、分区信息、产出信息、数据血缘、数据预览 表关联信息、知识问答等


4.元数据管理系统架构

image.png


4.1 元数据采集


元数据采集分为人工录入和自动抽取 通过人工录入的方式实现物理表的准确归属 包括该表属于仓库哪一层、对应的主题、业务过程、星型模型关系等 以及指标的采集 从而完成技术元数据和业务元数据的采集 通过自动抽取的方式完成生产元数据的采集和使用元数据的采集 主要包括 物理模型的依赖关系、存储占用、热度、等信息。


4.1.1 元数据采集架构

image.png


4.1.2 业务数据元数据同步采集


实现对业务数据库数据表的元数据自动采集同步 包括建表语句中的中文备注信息 并将中文备注信息填写到对应的中文字段名称中 界面提供元数据修改功能 主要修改是添加业务技术负责人、修改表的中文名称、备注说明等信息 表的字段名称 类型、长度等信息不允许修改


4.1.3 数据仓表元数据采集


实现对数仓数据库数据表的元数据自动采集同步 包括建表语句中的中文备注信息 并将中文备注信息填写到对应的中文字段名称中 界面提供元数据修改功能 主要修改是添加数仓表对应技术负责人、修改表的中文名称、备注说明等信息 表的字段名称 类型、长度等信息不允许修改


4.2 元数据变更预警


对业务元数据的变更 主要是Mysql数据库 通过flink监控binlog的schema变更时间 一旦发现及时发送消息通知 后端监控变更消息队列 取到变更信息 发出元数据变更预警 并自动修改相应的元数据 生成版本信息。


其他业务数据库 需要定时的去采集业务系统元数据信息和历史元数据进行比对 发现元数据变更并及时预警


4.3 元数据版本管理


元数据要提供版本管理功能 以便进行业务追溯 业务系统数据库表会因为业务的变化数据结构也需要变化 需要提供元数据多的历史版本管理 可以查询元数据历史版本信息


4.4 元模型的构建


这里的元模型分为以物理表为核心的物理元模型构建 以及以血缘为中心的血缘元模型。

物理元模型 构建以物理表为中心 打通其与技术元数据 主题、业务过程、Schema 的关系 实现了物理表的清晰归属 打通其与生产元数据的关系 要加上物理表查询热度、资源消耗、查询密级等生产使用信息 打通其与指标、维度和应用的对应关系 为上层的取数应用建立了完备的元数据。


血缘元模型 以血缘为中心 通过监控Doris审计日志或者 如果是其他数据库可以通过埋点或者拦截的方式获取SQL 通过sql解析完成自动的血缘关系构建 不仅要构建从上游业务表到仓库表的物理血缘 而且要打通仓库表到下游对应报表的血缘 为后续的影响评估构建了完备的元数据基础


5. 元数据应用


ETL自动化管理 使用元数据信息自动生成物理模型 ETL程序脚本 任务依赖关系和调度程序 例如我们通过元数据实现Doris零代码接入 就是使用业务数据库表结构和Doris数仓对应的表结构实现字段自动化映射及检查


数据质量管理 使用数据质量规则元数据进行数据质量测量。数据质量根据设定的规则帮助您过滤出有问题的数据 并智能分析数据质量缺陷 我们通过在接入的业务元数据上加入数据规则 技术规则和业务规则 然后将规则自动下发到ETL任务中 实现对数据的清洗、转换等操作 从源头上保障数据质量 下图是我们基于元数据定义的ETL规则


image.png

数据安全管理 使用元数据信息进行表 字段及报表权限控制。可以方便查看用户和访问权限 并启用对象级和行级安全管理。对象级安全性确保通过身份验证的用户只能访问他们被授权查看的数据、表或列 其它数据则不可见。基于行的安全性会更进一步 可以限制特定的组成员只可以访问表中特定的数据。


数据标准管理 使用元数据信息生成标准的维度模型。


数据接口管理 使用元数据信息进行接口统一管理。多种数据源接入 并提供多种插件对接最流行的源系统。应该可以简单方便获取数据。


项目文档管理 使用元数据可以自动、方便的生成的健壮全面的项目文档 其以帮助您应对各种对于数据合规性要求。读取元数据模型 并生成pdf格式的描述文件。生成文档您查看每个对象的名称、设置、描述和代码





应用实践 | 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设 同程数科成立于 2015 年,是同程集团旗下的旅游产业金融服务平台。2020 年,同程数科基于 Apache Doris 丰富的数据接入方式、优异的并行运算能力、极简运维等特性,引入 Apache Doris 进行数仓架构2.0 的搭建。本文详细讲述了架构1.0 到 2.0 的演进过程及 Doris 的应用实践,希望对大家有所帮助
Apache Doris 整合 FLINK CDC + Iceberg 构建实时湖仓一体的联邦查询 这篇教程将展示如何使用 Flink CDC + Iceberg + Doris 构建实时湖仓一体的联邦查询分析,Doris 1.1版本提供了Iceberg的支持,本文主要展示Doris和Iceberg怎么使用,同时本教程整个环境是都基于伪分布式环境搭建,大家按照步骤可以一步步完成。完整体验整个搭建操作的过程。
应用实践 | 10 亿数据秒级关联,货拉拉基于 Apache Doris 的 OLAP 体系演进 货拉拉成立于 2013 年,成长于粤港澳大湾区,是一家从事同城、跨城货运、企业版物流服务、搬家、汽车销售及车后市场服务的互联网物流公司。截至 2022 年 4 月,货拉拉的业务范围已经覆盖了国内 352 座城市,月活司机达到 58 万,月活用户达到 760 万,包含 8 条以上的业务线。 货拉拉大数据体系为支撑公司业务,现在已经成立三个 IDC 集群、拥有上千台规模的机器数量,存储量达到了 20PB、日均任务数达到了 20k 以上,并且还处在快速增长的过程中
知乎基于 Apache Doris 的 DMP 平台架构建设实践|万字长文详解 知乎基于业务需求搭建了 DMP 平台,本文详细的介绍了 DMP 的工作原理及架构演进过程,同时介绍了 Apache Doris 在 DMP 平台的应用实践,本文对大家了解 DMP 工作方式很有帮助,欢迎阅读。 作者|用户理解 & 数据赋能研发 Leader 侯容
Apache Doris 查询分析功能使用 Doris提供了一个图形化的命令帮助用户方便分析一个具体的查询或者导入操作,在使用过程中的性能问题,本文主要介绍如何使用改功能.
使用 Apache Doris HyperLogLog 实现近似去重 在实际的业务场景中,随着业务数据量越来越大,对数据去重的压力也越来越大,当数据达到一定规模之后,使用精准去重的成本也越来越高,在业务可以接受的情况下,通过近似算法来实现快速去重降低计算压力是一个非常好的方式,本文主要介绍 Doris 提供的 HyperLogLog(简称 HLL)是一种近似去重算法。
基于Ansible实现Apache Doris快速部署运维指南 Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris的分布式架构非常简洁,易于运维,并且可以支持10PB以上的超大数据集。
通过Nginx TCP反向代理实现Apache Doris负载均衡 Nginx能够实现HTTP、HTTPS协议的负载均衡,也能够实现TCP协议的负载均衡。那么,问题来了,可不可以通过Nginx实现Apache Doris数据库的负载均衡呢?答案是:可以。接下来,就让我们一起探讨下如何使用Nginx实现Apache Doris的负载均衡。