当前位置: 首页 > news >正文

终于有人把元数据讲明白了

429cb7638bd7b99995ce6e6422eed4f4.gif

646421b43a7b3b003ced1f179629dce3.png

导读:元数据是数据的“说明书”,完善的元数据有利于数据使用者了解企业有什么数据,它们分布在哪里,数据的业务含义是什么,数据口径及颗粒度是怎样的,需要使用数据时应该向谁提出申请,以及如何获取数据。

c265456edb04a3335cdeedee0a383ee5.png

bb55ce8bb844637f1d6b00f30143f2a5.png

元数据管理工具是企业数据治理的重要抓手,它可以帮助企业解决数据查找难、理解难等问题,促进数据的集成和共享。

01

系统架构

从应用角度看,元数据管理平台可分为数据源层、元数据采集层、元数据管理层、元数据应用层四层架构,如图1所示。

1. 数据源层

企业的元数据来自多个方面:

  • 业务系统中的元数据,例如ERP、CRM、SCM、OA等;

  • 数据管理平台中的元数据,例如数据仓库、ODS、数据湖等;

  • 数据处理工具中的元数据,例如ETL工具的脚本元数据;

  • 数据分析工具中的元数据,例如Cognos、Power BI中的元数据;

  • 各种半结构化数据源,例如Word、PDF、Excel等各种格式化电子文件。

2. 元数据采集层

元数据管理工具是否强大部分体现在其对各类数据源的采集能力上,支持的各类数据源类型越多,说明元数据采集能力越强大。

1fd447c3616e79e5668154d286879466.png

图1 元数据管理平台

元数据采集层主要通过对各类数据源的适配,实现元数据的统一采集,并将其存储于符合CWM标准的中央元数据仓库中。

3. 元数据管理层

元数据管理层提供了对元数据的管理、维护、查询功能,包括元数据查询、元数据管理、元数据版本管理、元数据变更管理、元数据适配器管理等。

4. 元数据应用层

元数据应用层提供了元数据的浏览和分析功能,包括企业数据地图、元数据血统分析、元数据影响分析、元数据冷热度分析、元数据全链分析、元数据模型查询等功能。元数据管理工具可以指导企业数据资产管理的建设,支持数据质量的探查,促进企业数据标准的落地。

02

元数据采集

通过元数据管理平台可以将分散、异构的信息资源进行统一采集、描述、定位、检索、评估、分析,实现数据的结构化,为机器处理创造可能,从而大大降低数据治理的人工成本。

1. 采集内容

元数据采集内容主要包括业务元数据、技术元数据和操作元数据,详细说明见表1。

表1 元数据采集内容说明

beac0c40c94c9f31b386ce047d39a51a.png

2. 采集方式

元数据采集方式主要有两种:自动化采集和人工采集。

(1)自动化采集

自动化采集主要是通过元数据管理工具提供的各类适配器进行元数据采集。元数据适配器是基于不同数据源的元数据桥接器,不同数据源内部的元数据桥是不同的,因此没有一个万能适配器可以用于所有类型数据源的元数据采集。

当前MySQL、Oracle、PostgreSQL等关系型数据库的元数据采集方式大都是通过JDBC连接各种数据源的元数据所在库,然后通过SQL的方式查询各数据源的元数据库表,提取出元数据信息。JDBC就是关系型数据库的一个桥接器。

而对于一些半结构化、非结构化元数据,则需要用到图像识别、自然语言处理等人工智能技术,构建专业的元数据采集适配器,进行元数据的识别和采集。

在元数据采集过程中,元数据采集适配器十分重要,元数据采集既要适配各种DB、各类ETL、各类数据仓库和报表产品,还要适配各类结构化或半结构化数据源。元数据采集适配器可以通过自动化的方式对企业各类数据源的元数据进行统一采集、统一管理。

(2)人工采集

在元数据管理实践中,最难采集的往往不是技术元数据或操作元数据,而是业务元数据。由于企业缺乏统一的数据标准,业务系统竖井化建设,系统建设过程中没有对业务元数据进行统一定义,所以即使通过元数据适配器将业务系统的技术元数据采集到元数据仓库中,也很难识别这些表、视图、存储过程、数据结构的业务含义。这就需要采用人工的方式对现有数据的业务元数据进行补齐,以实现元数据的统一管理。

03

元数据管理

1. 元数据管理功能

市场上主流的元数据管理产品基本都包括元数据查询、元模型管理、元数据维护、元数据变更管理、元数据版本管理、采集适配器管理、元数据接口等功能。

  • 元数据查询:支持按关键字的全文搜索,通过元数据查询功能可以准确定位元数据。

  • 元模型管理:基于元数据管理工具构建符合CWM规范的元数据仓库,实现元模型统一、集中化管理,支持元模型导入与导出,支持新增、修改、权限设置等功能。

  • 元数据维护:提供对信息对象的基本信息、属性、被依赖关系、依赖关系、组合关系等元数据的新增、修改、删除、查询、发布等功能,以管理企业的数据标准。

  • 元数据变更管理:元数据的变更需要经过审核才能发布,元数据管理工具提供元数据审核、元数据版本等功能,以支撑元数据的变更管理。 

  • 元数据版本管理:提供元数据的版本管理功能,对于元数据新增、修改、删除、发布和状态变更都有相应的流程,同时支持元数据版本的查询、对比、回滚。

  • 采集适配器管理:提供元数据采集适配器的新增、修改、删除、配置等功能。

  • 元数据接口:元数据管理工具提供统一的元数据访问接口服务,一般支持REST或Web Service等接口协议。通过元数据访问服务,支持企业元数据的共享。

2. 元数据分析功能

元数据分析功能包括数据资源地图、血缘分析、影响分析、冷热度分析、关联度分析、对比分析等。

  • 数据资源地图:基于企业元数据生成并以拓扑图的形式展示企业数据资源的全景地图,方便用户清晰直观地查找和浏览企业数据资源。

  • 血缘分析:也叫血统分析,采用向上追溯的方式查找数据来源于哪里,经过了哪些加工和处理。常用于在发现数据问题时,快速定位和找到数据问题的原因。

  • 影响分析:功能与血缘分析类似,只是血缘分析是向上追溯,而影响分析是向下追踪,用来查询和定位数据去了哪里。常用于当元数据发生变更时,分析和评估变更对下游业务的影响。

  • 冷热度分析:也叫活跃度分析,用于评估哪些数据是常用的,哪是数据是“沉睡”的。

  • 关联度分析:分析不同数据实体之间的关联关系,从而判断数据的重要程度。

  • 对比分析:对于选定的多个元数据或者一个元数据的多个版本进行比较,找出差异,再根据差异分析对业务的影响。

04

元数据应用

元数据是描述数据的数据,它可以帮助描述、理解、定位、查找企业的数据,支持数据的管理和使用。元数据不仅是数据治理的基础,而且在应用系统开发、数据仓库建设过程中也发挥着重要作用。

1. 元数据在数据治理中的应用

元数据管理是数据治理的基础,它用于定义和描述数据、数据之间的关系,以及数据如何管理、如何使用。元数据在数据治理中的主要应用如下:

  • 定义和描述业务域、业务主题和数据实体;

  • 描述数据结构和数据关系;

  • 描述源系统、目标系统、表、视图、存储过程和字段属性;

  • 定义和描述数据资产目录;

  • 定义和描述主数据模型的属性;

  • 管理数据标准;

  • 描述数据质量规则和数据质量检核结果;

  • 识别和定义数据集中的敏感数据、敏感属性;

  • 血缘分析和影响分析;

  • 描述数据流向,数据来自哪里、流向哪里;

  • 描述数据管理,谁负责管理数据、在哪里管理;

  • 描述数据的使用,谁有权使用数据、在哪里使用。

2. 元数据在应用系统开发过程中的应用

应用系统的开发一般需要3个环境:开发环境、测试环境和生产环境。在应用系统开发上线的过程中,经常会遇到在开发环境测试没有问题的应用系统,集成到测试环境中或迁移到生产环境中就会出现问题,例如SQL脚本执行不了,缺少数据表或视图,依赖的非空字段数据缺失,或者主外键关系、索引不正确等。

针对以上问题,元数据管理工具提供了一个行之有效的破解之法,如图2所示。

b86b903accfe9c9ec0b2b3ddb185d16e.png

图2 元数据在应用开发过程中的应用

1)通过元数据管理工具对应用系统所涉及的数据模型、库表结构进行规划设计,落地系统级逻辑模型。

2)基于反向工程将元数据管理工具中的数据模型导入应用系统的开发、测试、生产等环境中,应用系统的开发可以在元数据管理工具提供的数据模型基础之上构建物理库表。

3)通过元数据管理工具自动化采集开发、测试、生产三个环境的库结构、表结构、字段结构、视图与存储过程结构等元数据。

4)在应用系统开发过程中,从开发到测试部署之前,通过元数据管理工具的对比分析功能,迅速找到开发和测试环境中不一致的地方,支持在测试环境快速部署应用系统,并确保数据环境的一致性。

同理,应用系统在生产环境中的部署和运行也可以采用第4)步,以确保生产环境与开发、测试环境一致,支持应用系统的快速上线。

3. 元数据在数据仓库中的应用

数据仓库是用于数据分析、支持管理决策的系统。一个数据分析图表的诞生并不是一帆风顺的,需要经过多次的数据抽取、清洗、转换、汇总,才能将数据的结构、数据依赖关系、数据层次关系等理清晰,统一数据口径,将复杂的问题简单化,让设计者和使用者明确感知到数据的整个生命周期,以支持数据分析。

数据仓库是一个典型的分层设计的数据架构,其分层设计反映了数据在数据仓库中的加工处理过程。元数据作为数据仓库的核心组成部分,主要用于记录和管理数据在数据仓库中的整个流转过程,实现对数据仓库各层级数据进行统一管理,如图3所示。

207370171bb3330ba219d0e83654bee9.png

图3 元数据在数据仓库中的应用

元数据在数据仓库中的应用如下:

  • 描述数据源的库表结构、数据关系以及每个数据项的定义;

  • 描述数据源中每个数据项的值域范围和更新频率;

  • 描述数据源与数据仓库之间的数据映射关系;

  • 描述数据仓库中有哪些数据以及它们来自哪里;

  • 描述数据在数据仓库各层中的加工处理过程;

  • 元数据管理工具为数据管理者和使用者提供了理解和查询数据的一致语言;

  • 利用元数据管理工具的元数据变更和版本管理功能,管理数据仓库的数据模型,支持将元数据恢复到某一版本;

  • 利用元数据管理工具的血缘分析、影响分析等功能,对数据仓库中的数据问题快速定位、快速查找;

  • 利用元数据管理工具的开放式元数据交换标准,实现数据仓库中数据的交换和共享。

05

总结

元数据管理工具提供了可靠、便捷的工具,能够对企业分散的元数据进行统一、集中化管理,帮助企业绘制数据地图、统一数据口径、标明数据方位、控制模型变更。利用元数据管理工具可以更好地获取、共享、理解和应用企业的数据信息,降低数据集成和管理成本,提高数据资产的透明度。

关于作者:

罗小江,用友集团助理总裁、平台和数据智能事业部总经理、北京软件和信息服务业协会云计算专委会副会长、中国企业财务管理协会企业风险管控专业委员会副主任委员。

石秀峰,用友集团数据治理专家、中国电子商会数据资源服务创新专业委员会受聘专家、数据质量管理智库(DQPro)受聘专家。

本文摘编于《一本书讲透数据治理:战略、方法、工具与实践》,经出版方授权发布。(ISBN:9787111694489)转载请保留文章出处。

93d6e98a02ea735ca46ced847e0024a3.png

推荐阅读《一本书讲透数据治理》

转载请联系:zj06220_0

推荐理由:本书基于国际主流的数据治理框架和用友多年的数据治理经验,从道、法、术、器4个维度全面、深入展开,不仅有数据治理在战略层面的顶层设计,还有数据治理在执行层面的实施方法,既可以作为数据治理的纲领性指南,又可作为数据治理的实操手册。

8aca3eba8874d9ed3807319eadbe3da7.png

一年一度的423读书日就要来了,华章科技在此期间为您带来7场不同主题的技术干货直播,直播内容及观看方式请点击上方链接查看。

757524705041ed3c6c5cecf1e299330b.gif

更多精彩回顾

书讯 | 4月书讯(上)|  上新了,华章

书讯 | 4月书讯(下)| 上新了,华章

资讯 | 视频时代的大数据:问题、挑战与解决方案

书单 | 金三银四求职季,十道腾讯算法真题解析!

干货 | TypeScript 中的“类型”到底是个啥?

收藏 | 终于有人把Scrapy爬虫框架讲明白了

上新 | NLP大牛菲利普•科恩机器翻译权威著作

赠书 | 数字经济下半场中,金融企业应该如何进行数字化经营呢?

f93c09a181fbb1f7ce08fe6b5ad402f7.gif

1b90e1d7f1e2449becd6ccaad8ff0bc7.gif

点击阅读全文购买

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Go语言精进之路:你知道什么是Go语言编程思维吗?
  • Java冷启动慢?不存在的!
  • 分布式系统一致性的本质,看这篇秒懂
  • 如何应对数字化转型这个大命题,这些书给你答案
  • 俩人同样写代码,我拿七千他咋五万八...
  • 通往Electron高手之路
  • 终于有人把隐私计算讲明白了
  • ​卜东波研究员:高观点下的少儿计算思维
  • 我来告诉你Go项目标准结构如何布局
  • 终于有人把智能制造与工业4.0讲明白了
  • 你的工资是怎样被平均的?终于有人把平均数、中位数和众数讲明白了
  • 隐私计算:使用混淆电路开源框架Obliv-C解决百万富翁难题
  • MySQL 批量插入数据,一次插入多少行数据效率最高?
  • 智能风控行业发展浅见
  • 5月上新(下)丨设计致物系列+少儿编程好书推荐
  • 自己简单写的 事件订阅机制
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Computed property XXX was assigned to but it has no setter
  • Java,console输出实时的转向GUI textbox
  • js对象的深浅拷贝
  • JS学习笔记——闭包
  • MD5加密原理解析及OC版原理实现
  • mysql 5.6 原生Online DDL解析
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • Unix命令
  • Yeoman_Bower_Grunt
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 少走弯路,给Java 1~5 年程序员的建议
  • 算法之不定期更新(一)(2018-04-12)
  • 我有几个粽子,和一个故事
  • 智能合约Solidity教程-事件和日志(一)
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 带你开发类似Pokemon Go的AR游戏
  • ​queue --- 一个同步的队列类​
  • # include “ “ 和 # include < >两者的区别
  • #etcd#安装时出错
  • #NOIP 2014#Day.2 T3 解方程
  • #前后端分离# 头条发布系统
  • $NOIp2018$劝退记
  • (CVPRW,2024)可学习的提示:遥感领域小样本语义分割
  • (Note)C++中的继承方式
  • (Qt) 默认QtWidget应用包含什么?
  • (二十六)Java 数据结构
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (转)甲方乙方——赵民谈找工作
  • ******之网络***——物理***
  • ***详解账号泄露:全球约1亿用户已泄露
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .bat批处理(一):@echo off
  • .cn根服务器被攻击之后
  • .NET 2.0中新增的一些TryGet,TryParse等方法