九、数据仓库详细介绍(元数据)

这篇具有很好参考价值的文章主要介绍了九、数据仓库详细介绍(元数据)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

元数据的文章,网上已经有很多了,元数据相关概念有限所以重复度很高。

我这里只是做个概念汇集,争取给大家介绍的全面一点。

1. 元数据定义

元数据(Meta-data)是描述数据的数据(The data about data),更准确点应该叫 The information abut data。如何理解这句话?就是描述信息、实体、系统的数据。

举几个例子

  • 175,大家有概念吗?如果我说这是一个男孩儿的身高大家是不是就懂了。如果我再加一个他才 14 岁信息量是不是更大了?因此:数据+元数据(描述数据的数据)=信息。

  • 遥控器,上边一堆按键如果没有文字说明大概率是没人会用的。我们只有通过按键上的标记+使用说明书这些遥控器的元数据,才能够很快的了解其功能并学会使用。

  • 数据库,每个数据库里都会有一堆的字典表,里边存储了数据库、表、字段、索引、视图、函数、存储过程、存储位置,也会有记录许多日志比如每一次的查询日志、数据库各种运行日志等。这些数据字典和数据库运行日志就是一个数据库的元数据,我们通过查询元数据就能了解到数据库里存储了哪些数据、数据库的查询性能、负载、健康状况等全方位的数据库信息。

数据不会自己管理自己,需要通过元数据去管理他们。

2. 元数据分类

行业内通常会把元数据分为四类,但我习惯把操作元数据归为技术元数据,所以事实上是分为三类。接下来我们逐个讲解下,力争把数据仓库涉及到的元数据全都涵盖进去。

2.1 业务元数据

广义来讲,所有用于描述业务各种逻辑的信息都可称为 Business Metadata。

这包括但不仅仅限于如下信息:

  • 商业术语:Business Glossary, 包括名词和详细定义。

  • 术语分类:Taxonomies,对于上述的商业术语的逻辑归类,可构成 Glossary Tree。

  • 业务规则:Business Rule。

  • 业务流程:Business Process,包括Activity, Input, Output, Supplier, Consumer, 等等。

业务元数据,在实际业务中,需要不断的进行维护且与业务方进行沟通确认。但这类数据很难在元数据管理系统中体现。

2.2 技术元数据

广义来讲,所有在计算机系统中的各类数据的描述均可称为 Technology Metadata

这里我把操作类的比如各种日志也都归为技术元数据了,大家按个人理解也可以单列出来。

数据仓库中的技术元数据一般包含以下五类:

  • 数据源元数据

  • 存储元数据

  • 计算元数据

  • 调度元数据

  • 数据应用元数据

2.2.1 数据源元数据

  • 数据源的 IP、端口、数据库类型。

  • 数据获取的方式,是抽取还是推送,是文件还是直连数据。

  • 数据存储的结构,关系表还是 Json,以及各列的定义。

2.2.2 存储元数据

包含物理模型和物理存储:

  • 表/列的详细信息(名称、备注、存储位置等),这是最最重要的数据资产。

  • 存储资源总量、使用情况、增长情况、空闲等。

  • 如果有视图、索引、存储过程、函数的也要算进来。

  • 主题域划分、总线矩阵、词根库等等。

  • 表、视图等的使用情况。

还有两种数据,虽然不属于元数据(规范点讲应该算作主数据),但对于数仓至关重要:

编码映射数据、统一维度数据

2.2.3 计算元数据

包含 ETL 配置和计算资源:

  • ETL 任务流定义,多少条任务流、用途是啥、所属层级。

  • ETL 流程依赖,这个至关重要,后续的数据流转和数据血缘都依赖于此。

  • 计算资源总量、使用情况、空闲等。

  • 代码部署位置,比如服务器位置、文件目录结构等。

  • 运行日志,记录了 ETL 运行的关键信息。

2.2.4 调度元数据

  • 调度时机、调度日志、以及可能会有的任务依赖。

  • 调度系统本身部署和运行所需其它信息。

2.2.5 应用元数据

  • 应用列表、最晚出数时间、BI 模型和物理模型的映射关系等等。

  • 指标/标签定义(名称、口径),当然这个归到业务元数据也能说的通。

  • 各个应用的使用情况(谁什么时候使用了什么)。

2.4 管理元数据

人员管理领域相关,包括管理流程、人员组织、角色职责、各种规范等。

数据管理活动相关,比如数据质量管理、数据资产管理、安全管理、成本治理等等过程中新产生的元数据。

3. 元数据价值

数据仓库的元数据,是对数据仓库所有环节(数据源、集成同步、存储、计算、数据管理、数据应用等等)沉淀下来的数据的描述性信息和过程日志信息,我们梳理数据资产、查找和使用数据、评估数据质量、了解数仓健康状况、成本治理等等都会首先从数仓元数据入手。

帮助数据平台了解自己本身的情况

例如我有哪些数据、我存储的数据有多大、如何找到我所需要的数据、我的数据何时产出等信息。完善的元数据是我们快速掌握数仓系统的关键。

自动化监控告警

我们根据对元数据的分析,可以自动化的获取数仓运行状况、评估模型和 ETL 代码的规范度、识别源数据变更、监控存储和计算资源的负载等等。

高效精准沟通

一方面,元数据中的管理元数据会记录不同用户、角色、部门的数据权限。如果有数据需要进行通知,则可以快速查询系统进行群发邮件等方式进行沟通,从而避免了造成沟通环节的缺人和多人情况发生。

另一方面,在与产品沟通业务或是与研发沟通接口时,可以根据业务元数据,确认彼此沟通的指标、维度含义。从而在根源上避免交流的歧义。进而提高沟通效率。

快速分析变更影响

因元数据被集中维护并管理引用关系,当发生变更时,可以通过元数据管理系统以实时分析出其所影响的业务功能、应用系统、涉及人员、是否涉及监管等影响信息。

4. 元数据应用

4.1 影响分析

在开发中,我们经常会遇到以下问题:

如果我要改动某个表或 ETL任务会造成怎样的影响?如若我要调整某个任务流的调度时间又会造成怎样的影响?

如果没有元数据,那我们可能需要遍历所有的脚本和数据才能得到想要的答案;而如果有成熟的元数据管理,那我们就可以直接得到答案节省大量时间。

4.2 血缘分析

血缘分析是一种技术手段,用于对数据处理过程的全面追踪,从而找到某个数据对象为起点的所有相关元数据对象以及这些元数据对象之间的关系。元数据对象之间的关系特指表示这些元数据对象的数据流输入输出关系。

在元数据管理系统成型后,我们便可以通过血缘分析来对数据仓库中的数据健康、数据分布、集中度、数据热度等进行分析。

4.3 数据地图

可以对数仓内的数据有一个宏观整体的认识:总项目数、总表数、占用存储量、存储趋势图、项目占用存储 Top、表占用存储 Top、热门表等等。

可以检索查找我们需要的数据:查找表结构表描述、查找表血缘、查找表权限、查找表的使用情况。

什么是数据地图、血缘分析和数据资产?

4.4 自动化监控告警

我们可以通过对各种元数据的分析,比如数据源元数据、ETL 运行日志、数据质量稽核日志、模型设计代码开发规范规范等,去自动识别问题,然后第一时间触发告警,以便尽早的解决问题。

数据仓库详细介绍(七.监控告警)

4.5 数据质量管理

数据质量管理依托数仓元数据,同时也会产生新的元数据。具体内容,我们在下一篇的“数仓数据质量下篇”再详细展开。

数据仓库详细介绍(九.数据质量)理论与经验

5. 项目制场景下的元数据管理

元数据管理,我们不必拘泥于形式,结合生产实际够用即可。

另外,上文中的元数据分类,个人感觉实际生产中并不会刻意参考,我们通常会根据数仓建设的流程去归类,不同环节产生不同的元数据。

实际上做项目的场景,甲方关注最多的是最终的数据应用以及交付时候的文档是否完备。甲方都不关心乙方更不会去专门梳理元数据了。所以元数据通常都是分散的,甚至很多都是文档,元数据管理主要依靠数仓规范,依靠领导的监督,挺难的。

源数据分析阶段,我们会产出数据源元数据,记录数据源有哪几个、数据如何访问如何采集、采集的内容有哪些、同步加载策略和时机是什么等等。元数据存储介质是文档。

需求分析阶段,我们会产生最终应用相关的元数据,比如多少张报表、每张报表有多少维度多少指标、报表的展现形式、筛选条件、排序规则、指标口径等等。元数据存储介质是文档。

九、数据仓库详细介绍(元数据)

模型设计落地阶段,我们产生物理模型元数据。元数据存储介质是模型设计文档,或者数据库的元数据。

九、数据仓库详细介绍(元数据)

ETL 设计开发阶段,我们产生 ETL 映射文档、ETL 流程依赖、数据血缘元数据。元数据存储介质是 ETL 设计文档。

九、数据仓库详细介绍(元数据)

九、数据仓库详细介绍(元数据)

上线运行阶段,我们还会产生任务调度、任务运行日志、存储空间使用情况、数据质量校验等元数据。元数据存储介质是日志文件或者数据库或者调度系统元数据。

九、数据仓库详细介绍(元数据)

6. 规范化的元数据管理

时过境迁,随着互联网时代的普及,大多数看重数据的公司都会组建自己的数据,市面上做数据的公司也大多是 Saas 模式,就算还用私有化的方式部署也都会有成熟的数据采集、存储、展现工具,附带的也会有数据治理工具、数据资产管理工具等等。

既然有了这么多完善的工具了,那么元数据管理自然而然的也会规范很多,接下来我们逐个阐述。

6.1 元数据生产

成熟的数仓应该会有完善的开发、检查、调度、数据管理等工具,元数据的生产也应该是通过工具沉淀,而不能像项目制那种只能依靠管理手段强制落文档了。

工具的好处,除了自动记录元数据外,还有规则校验的功能这在很大程度上降低了出错的概率。

6.1.1 建模工具

我们可以有一个系统,用来做模型设计,提交的时候会做校验(表字段命名是否符合规范是否存在于词根库、是否有备注、表的一些属性所属主题域所属分层等是否已指定)

如果没有这个系统的话,那么就需要有个程序定期检测数据存储的元数据,发现问题及时上报解决,确保元数据生产环节的准确、完整、合规。

6.1.2 指标/标签系统

首先会有个相对稳定的分类体系,所有指标或标签必须先在该系统注册并且挂靠到已有的分类体系下。然后定义好必要的属性,比如中英文名称、计算口径等等。

九、数据仓库详细介绍(元数据)

指标体系的属性模板

九、数据仓库详细介绍(元数据)

标签体系的属性参考

6.1.3 数据开发工具

数据开发工具,也可以是个 ETL 工具或者 shell 脚本+调度系统。

我们需要实现如下功能:数据计算、运行日志记录、参数传递、代码格式化和规范性校验、任务依赖配置。

数据计算的代码通常会是 SQL 语句,该工具记录下来的信息,就是完整的 ETL 元数据,另外我们可以通过解析 SQL 自动生成数据血缘。

6.1.4 调度配置工具

数据开发完成后,我们需要将任务流装载到调度工具里,调度工具会记录调度元数据,同时调度任务执行日志也可以当作 ETL 运行日志。

6.1.5 数据质量工具

我们通过数据质量工具,配置稽核校验规则,对关键数据进行卡点校验,而这些校验程序运行日志和运行结果都会成为数据质量元数据。

具体的数据质量工具设计思路,我会在下一篇做介绍。

6.2 元数据采集

元数据采集,就是定期将 6.1 提到的元数据生产工具产生的各种元数据搜集汇总起来,为下一步的管理和应用做准备。

如果没有元数据生产工具,就只能人肉录入了,但数据质量很难保证。

6.3 元数据管理

元数据管理的目的,一个是检查元数据生产环节的数据质量发现遗漏或者错误及时纠正,另一个就是对元数据做进一步分析转化,以便监控数据仓库整体的运转情况,同时为各种元数据应用提供数据支撑。文章来源地址https://www.toymoban.com/news/detail-471653.html

到了这里,关于九、数据仓库详细介绍(元数据)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一篇文章给你详细介绍交换机堆叠

    1.什么是堆叠? 简单来说,堆叠就是将多个设备的控制平面整合,虚拟成一台逻辑设备,这台设备具有统一的管理地址,L2和L3层协议对外也表现成一台设备。 2.为什么使用堆叠?(优缺点) 优点:扩展接入端口、高可用性、统一管理。 缺点:只能同厂商型号进行堆叠,升级改

    2024年02月04日
    浏览(79)
  • 一篇文章搞懂数据仓库:常用ETL工具、方法(1)

    ETL ,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,是数据仓库的生命线。 **抽取( Extract )**主要是针对各个业务系统及不同服务器的分散数据,充分理解数据定义后,规划需要的数据源及数据

    2024年04月17日
    浏览(36)
  • Git学习与gitlab中央仓库搭建(详细介绍)

    环境:centos7.3 git:分布式版本控制系统,是当前最流行的版本控制软件 创始人:林纳斯.拖瓦兹 1.安装git服务 2.配置git环境 不一定是data目录,但是尽量设为data命名的目录,可视度比较高 自动生成的git文件,是隐藏的文件,需要ls -a才可以列出 git目录的组成 branches 分支目录

    2024年02月02日
    浏览(61)
  • 【vim 学习系列文章 11 -- vim filetype | execute | runtimepath 详细介绍】

    下篇文章:【vim 学习系列文章 12 – vimrc 那点事】 上篇文章:【vim 学习系列文章 10 – vim 将代码中空格高亮显示方法】 在网上我们经常可以看到vimrc配置中有 filetype plugin indent on 这个配置,那么这个配置的功能是什么呢? filetype plugin indent on 是 Vim 中一个用于启动文件类型特

    2024年02月07日
    浏览(42)
  • 【ARM Coresight 系列文章 15.2 – components power domain 详细介绍】

    请阅读 【ARM Coresight SoC-400/SoC-600 专栏导读】

    2024年02月08日
    浏览(39)
  • Fiddler 到底能做什么?一篇文章给你详细介绍

    Fiddler是检查 Http 流量的最流行的工具之一。此工具可帮助我们非常轻松地测试 REST API / SOAP Web 请求。 题主的问题:Fiddler 到底能做什么。仔细思考,其实有两层意思: 第一层:Fiddler工具的应用范围 第二层:Fiddler工具的使用方法 为将这两层意思全部解决,所以本文分为6个章

    2024年02月05日
    浏览(84)
  • 【ARM Coresight 系列文章19.2 -- Cortex-A720 AMU 详细介绍】

    请阅读 【ARM Coresight SoC-400/SoC-600 专栏导读】 A-Prolifile 构架中的 Performance Monitoring Unit(PMU)和Activity Monitoring Unit(AMU)都具有性能计数器。AMU和PMU可以计数的事件类似,那么AMU和PMU有什么不同呢? AMU和PMU的区别在于: AMU和PMU用作不同用途 AMU和PMU有不同的编程模式 PMU的用途是性

    2024年02月19日
    浏览(57)
  • 【ARM Coresight 系列文章 3 -- DAP(Debug Access Port) 使用详细介绍】

    请阅读 【ARM Coresight SoC-400/SoC-600 专栏导读】

    2024年02月03日
    浏览(41)
  • c语言结构体看这篇文章就够啦(详细介绍结构体)

    前言:         c语言两大重要点,一个是指针,另一个就是结构体啦,这篇文章我将全面的介绍一下结构体,和他的使用,相信大家看完这篇以后定能对结构体有个深入的理解,并且会正确的使用它。  💞 💞     欢迎来到小马学习代码博客!!!  现在已经入冬了吧,小

    2024年02月02日
    浏览(47)
  • 44、Flink之module模块介绍及使用示例和Flink SQL使用hive内置函数及自定义函数详细示例--网上有些说法好像是错误的

    一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的datastream api用法、四大基石等内容。 3、

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包