基于Apache doris的元数据管理系统
Apache Doris 代码仓库地址:apache/incubator-doris 欢迎大家关注加星
这里我们要先搞懂什么是元数据?元数据和数据的区别是什么?元数据有什么作用
1.什么是元数据
举几个例子:
- 如果一本书是一个“数据",那么它的书名、封面、出版社、作者、总页码就是它的“元数据”。
- 如果数据库中某个表是一个”数据”,那么它的列名、列类型、列长度、表注释就是它的"元数据"。
元数据用来描述数据的数据,通过描述数据的产生、存储、使用情况、业务含义等信息,以及数据管理人员相关信息。让人们能够清楚拥有什么数据、代表什么、源自何处、如何在系统中移动,以及哪些人可以使用源数据,如何使用
2.元数据分类
元数据可分为技术元数据和业务元数据
2.1 技术元数据
技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,主要包括:
- 数据字典:例如表名、注释信息、表的产出任务、表字段信息、含义和字段类型等,描述数据的结构信息。
- 数据血缘关系:描述表的继承关系,由哪些表经过哪些计算任务得到的。
- 数据特征:数据的属性,比如存储空间大小、访问热度、主题域、分层、表关联指标等。
2.2 业务元数据
为管理层和业务分析人员服务,从业务角度描述数据,包括商务术语、数据仓库中有什么数据、数据的位置和数据的可用性等,帮助业务人员更好地理解数据仓库中哪些数据是可用的以及如何使用。
- 企业概念模型:这是业务元数据所应提供的重要的信息,它表示企业数据模型的高层信息、整个企业的业务概念和相互关系。以这个企业模型为基础,不懂数据库技术和SQL语句的业务人员对数据仓库中的数据也能做到心中有数。
- 多维数据模型:这是企业概念模型的重要组成部分,它告诉业务分析人员在数据集市当中有哪些维、维的类别、数据立方体以及数据集市中的聚合规则。这里的数据立方体表示某主题领域业务事实表和维表的多维组织形式。
- 业务概念模型和物理数据之间的依赖:以上提到的业务元数据只是表示出了数据的业务视图,这些业务视图与实际的数据仓库或数据库、多维数据库中的表、字段、维、层次等之间的对应关系也应该在元数据知识库中有所体现
3.元数据管理功能
3.1 数据地图
数据地图展现是以拓扑图的形式对数据系统的各类数据实体、数据处理过程元数据进行分层次的图形化展现,并通过不同层次的图形展现粒度控制,满足开发、运维或者业务上不同应用场景的图形查询和辅助分析需要。
3.2 元数据分析
3.2.1 血缘分析
血缘分析:我们可以大致理解为是一个表的生成过程。它依赖了哪些表,怎么生成的。同时加上它依赖的表又是怎么生成的。
血缘分析的作用:
- 问题定位:假设你用到了别人的数据,数据血缘分析能快速帮你定位到问题。
- 理解数据:如果你想用其它的数据源,首先要能理解它,不然数据口径能给你带来很大的麻烦。
- 影响评估:修改某份数据的时候能评估影响的范围大小。比如说现在你的小伙伴要调整自己开发的 Table J,这时候如果他不知道有谁在依赖这张表,冒然修改的话会带来毁灭性的伤害,但是有数据血缘分析的时候,至少能知道谁在使用这份数据。
数据血缘分析是元数据管理的重要应用之一,梳理系统、表、视图、存储过程、ETL、程序代码、字段等之间的关系,并采用图数据库进行可视化展现。总之就是通过可视化展示数据是怎么来的,经过了哪些过程、阶段及计算逻辑。
3.2.2 影响分析
基于元数据存储的数据定义、去向、转换关系、依赖关系等,提供影响分析管理(向上分析)功能
影响图:某实体表向上用于生成哪些实体(直接和间接),影响哪些数据汇总程序(直接和间接)。由当前数据节点向上树形扩散
3.2.3 表关联分析
提供表级关联关系分析功能,实现对数据流向分析,通过选定指定表操作对指定表进行数据流向分析,以实现对数据源数据具体流向的分析与统计
3.2.4 指标一致性分析
指标一致性分析是指用图形化的方式来分析比较两个指标的数据流图是否一致,从而了解指标计算过程是否一致。该功能是指标血缘分析的一种具体应用。指标一致性分析可以帮助用户清楚地了解到将要比较的两个指标在经营分析数据流图中各阶段所涉及的数据对象和转换关系是否一致,帮助用户更好地了解指标的来龙去脉,清楚理解分布在不同部门且名称相同的指标之间的差异,从而提高用户对指标值的信任。
3.3 安全管理
企业数据平台所存储的数据和提供的各类分析应用,涉及到公司经营方面的各类敏感信息。因此在数据系统建设过程中,须采用全面的安全管理机制和措施来保障系统的数据安全。
数据系统安全管理模块负责数据系统的数据敏感度、客户隐私信息和各环节审计日志记录管理,对数据系统的数据访问和功能使用进行有效监控。为实现数据系统对敏感数据和客户隐私信息的访问控制,进一步实现权限细化,安全管理模块应以元数据为依据,由元数据管理模块提供敏感数据定义和客户隐私信息定义,辅助安全管理模块完成相关安全管控操作。
可以通过元数据设置表及字段的安全等级,加密,脱敏,授权等,然后结合相应的规则对数据表及字段访问进行控制,确保数据安全
3.4 元数据服务
统一元数据服务,主要提供查询表、指标、维度基本信息的基础元数据服务以及查询表级血缘、字段级血缘的血缘服务。
3.5 数据详情
找到数据之后,通过数据详情功能可以快速了解数据表的基础信息,字段信息、分区信息、产出信息、数据血缘、数据预览,表关联信息、知识问答等
4.元数据管理系统架构
4.1 元数据采集
元数据采集分为人工录入和自动抽取,通过人工录入的方式实现物理表的准确归属(包括该表属于仓库哪一层、对应的主题、业务过程、星型模型关系等)以及指标的采集,从而完成技术元数据和业务元数据的采集,通过自动抽取的方式完成生产元数据的采集和使用元数据的采集,主要包括:物理模型的依赖关系、存储占用、热度、等信息。
4.1.1 元数据采集架构
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规则,
- 数据安全管理:使用元数据信息进行表,字段及报表权限控制。可以方便查看用户和访问权限,并启用对象级和行级安全管理。对象级安全性确保通过身份验证的用户只能访问他们被授权查看的数据、表或列,其它数据则不可见。基于行的安全性会更进一步,可以限制特定的组成员只可以访问表中特定的数据。
- 数据标准管理:使用元数据信息生成标准的维度模型。
- 数据接口管理:使用元数据信息进行接口统一管理。多种数据源接入,并提供多种插件对接最流行的源系统。应该可以简单方便获取数据。
- 项目文档管理:使用元数据可以自动、方便的生成的健壮全面的项目文档,其以帮助您应对各种对于数据合规性要求。读取元数据模型,并生成pdf格式的描述文件。生成文档您查看每个对象的名称、设置、描述和代码
基于Apache doris的元数据管理系统相关推荐
- 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设
应用实践 | 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设 导读:同程数科成立于 2015 年,是同程集团旗下的旅游产业金融服务平台.2020 年,同程数科基于 Apa ...
- 如何基于 Apache Doris 与 Apache Flink 快速构建极速易用的实时数仓
随着大数据应用的不断深入,企业不再满足离线数据加工计算的时效,实时数据需求已成为数据应用新常态.伴随着实时分析需求的不断膨胀,传统的数据架构面临的成本高.实时性无法保证.组件繁冗.运维难度高等问题日益 ...
- 小米 A/B 实验场景基于 Apache Doris 的查询提速优化实践
导读:Apache Doris 是小米集团内部应用最为广泛的 OLAP 引擎之一,本文主要从数据的角度分析 A/B 实验场景查询的性能现状,探讨基于 Apache Doris 的性能优化的解决方案.经 ...
- 基于 Apache Doris 数仓在作业帮的实践
1 背景 作业帮大数据团队主要负责建设公司级数仓,向公司各个重要产品线(拉新.教学.BI等)提供面向业务的数据信息,如到课时长.答题情况等.在过去半年多时间内,我们基于Apache Doris,构建了 ...
- 应用实践 | 物易云通基于 Apache Doris 的实时数据仓库建设
导读: 物易云通目前已成为国内产融供应链运营服务平台的领军企业之一,平台年交易额超过 200 亿元 , 随着公司业务的快速发展,对数据计算分析的时效要求也越来越高.经数据团队的调研对比,于 2021 ...
- 知乎基于 Apache Doris 的 DMP 平台架构建设实践|万字长文详解
导读:知乎基于业务需求搭建了 DMP 平台,本文详细的介绍了 DMP 的工作原理及架构演进过程,同时介绍了 Apache Doris 在 DMP 平台的应用实践,本文对大家了解 DMP 工作方式很有帮 ...
- 应用实践 | 特步集团基于 Apache Doris 的零售数据仓库项目实践
背景 特步集团有限公司是中国领先的体育用品企业之一,主要从事运动鞋.服装及配饰的设计.开发.制造和销售. 为了提高特步零售 BI 主题数据分析的准确性和时效性,降低对 SAP HANA 平台的依赖,2 ...
- 知乎基于 Apache Doris 的 DMP 平台架构建设实践
1. DMP 业务背景 DMP 平台是大家老生常谈的话题.在早期广告系统出现之后就拥有了类似的 DMP 平台,比如:腾讯的广点通.阿里巴巴的达摩盘等都是业界做的比较好的 DMP 平台典型.而知乎搭建属 ...
- 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践
导读: 随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时 OLAP 数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高 ...
最新文章
- 记录一个超分辨率算法项目,来自B站
- SpringBoot+Thymeleaf+DataTables实现数据的查询与显示
- Sonya and Informatics
- html怎么用小小的图片铺满作为背景,多种背景图片随机切换的应用
- 创建一对多表结构实例 /操作的三种方式
- 辽宁职称计算机和英语考试,2018年辽宁职称计算机报考有哪些要求?
- linux每日命令(1):which
- Minecraft InputFix
- carto笔记--- 传感器数据走向
- 基于RK3399芯片调试音频外接喇叭不能工作的问题
- WIN系统仿MAC任务栏工具分享——RocketDock
- Autovue与后台的管理系统集成示例
- 文件管理,文件判断,时间戳,通配符类命令
- 2022年双十一蓝牙耳机选哪款?便宜音质好的蓝牙耳机推荐
- 计算机打印机能不能取消正在,删除HP打印机驱动程序. 打印机驱动程序正在使用中,无法删除...
- win10环境下创建环境变量
- 【转】[Qt教程] Qt串口通信全新专题
- 度量学习 度量函数 metric learning deep metric learning 深度度量学习
- 【前端】性能优化 - WebP
- 分享 6 个 Vue3 开发必备的 VSCode 插件
热门文章
- MATLAB数字图像处理(一)——图像打开、保存与显示
- redis集群模式--解决redis单点故障
- Python正则表达式 re
- 《绿皮书》:剧情紧凑,语言很美
- veket linux输入法,智能通用输入法平台(SCIM for veket)
- ora-03114处理
- iOS SDWebImage详细介绍
- Discuz招商加盟门户网站整站模板/加盟项目网站商业版源码/整站带测试数据
- 3GPP TS 29244-g30 中英文对照 | 5.4.14 Deferred PDR activation and deactivation
- 线性回归(公式推导,Numpy、sklearn实现)