前面我写了一篇关于对元数据和元数据管理的认知和理解的文章,有兴趣的朋友可以去看看。接下来我们讲一讲主数据管理(MDM)。

主数据管理(MDM)

主数据是系统间共享数据,它是系统间信息交换的基准。主数据管理目标是使各系统在获取基准数据时,能够保证数据是最新的、一致的、准确的,能够实时进行各系统间数据验证。

根据主数据管理实施的复杂程度,大体可以把主数据管理可以分为六个层次,从低到高反映了主数据管理的不同成熟度。并非层级越高的主数据管理方式就是最好的,应当根据数据本身的质量与现有体系情况,选择合适的治理层级。

Level 0 :未实施主数据管理

Level 0意味着企业的各个应用之间没有任何的数据共享,整个企业没有数据定义元素存在。比如,一个公司销售很多产品,对这些产品的生产和销售由多个独立的系统来处理,各个系统独立处理产品数据并拥有自己独立的产品列表,各个系统之间不共享产品数据。在Level 0, 每个独立的应用负责管理和维护自己的关键数据(比如产品列表、客户信息等),各个系统间不共享这些信息,这些数据是不连通的。但是,如果业务数据质量极高,也无需主数据管理。Level 0适合业务数据质量极高,且企业有较为完善的数据管理机制,能做到数据源的统一。

Level 1 :列表管理

列表管理是处理数据统一的一种方式。在公司内部,会通过手工的方式维护一个逻辑或物理的列表。当各个异构的系统和用户需要某些数据的时候,就可以索取该列表了。对于这个列表的维护,包括数据添加、删除、更新以及冲突处理,都是由各个部门的工作人员通过一系列的讨论和会议进行处理的。业务规则(Business Rules)是用来反映价值的一致性,当业务规则发生改变或者出现类似的情况时,这样高度手工管理的流程容易发生错误。由于列表管理是通过手工管理的,其列表维护的质量取决于谁参加了变更管理流程,一旦某人缺席,将会影响列表的维护。Level 1适合业务数据质量较高,只有很少数的数据不统一,并且目前已有较完善的文件管理机制的情况。这种情况下仅需提供简单的列表即可处理,但是,大部分情况下建议采取Level 2或更高层次的主数据管理。

Level 2 :事实表管理

Level 2与Level 1相比的不同之处在于,Level 2将主数据存入数据库的事实表中,引入了对主数据的自动管理。通过建立统一的数据标准,将主数据集中存储,提供详细数据的访问和共享,为各个系统间共享使用数据提供了可靠的支持。同时,由于主数据存储在数据库中,所以可以使用数据库CRUD的方式进行操作,能够更科学的管理数据。在未实现数据集成的大多数情况都推荐Level 2。但是如果有数据湖或数据仓库,Level 3或更高层次将会更加合适。

Level 3 :数据湖管理

与Level 2相比,Level 3打破了各个独立应用的组织边界,抽取各个系统的数据集成管理。在这个数据集成的情况下,将主数据管理放入其中统一管理。

企业主数据面临一致性的挑战。数据在不同的地方存在,数据所代表的含义也是不同的,数据的规则各个系统之间也是不一样的。在Level 3,公司对主题域内容采用集中管理方式。这意味着应用系统,作为消费者或使用主数据,拥有一个共识就是数据是主题数据内容的映像,打破了各个独立应用的组织边界。集中处理意味着为主数据管理构建了一个通用的、基于目标构建的平台。然而,大多数公司发现主数据管理正在挑战他们现有的IT架构:他们拥有太多的独立平台处理主数据。Level 3的集中化数据访问、控制跨不同应用和系统使用数据。这极大的降低了应用数据访问的复杂性,大大简化了面向数据规则的管理,比一个分散环境具有更多的功能和特点。在实现数据集成,且各部门没有差异化的数据需求或定时更新数据转化规则时推荐此种方案,但是如果数据需求较高需要用到Level 4或更高层次的主数据管理。

Level 4 :更新管理

在Level 4的架构中,数据湖中的主数据和数据源之间使用ETL工具实现每日批量更新。当主数据记录详细资料被修改后,所有应用的相关数据元素都将被更新。在企业的应用数据库中,数据的编码规则一般都是静态的。然而,在一些极端情况下,数据编码规则会时常发生变动,例如频繁的新增记录,修改记录。在这种情况下,所有系统都是同一个版本:当变更发生时,数据湖中主数据将定时更新,形成改变的直接操作视图。从Level 3到Level 4意味着主数据传播和供应不需要源系统专门的开发或支持,还意味着所有的应用清楚的知道他们并不拥有或控制主数据,他们仅仅使用数据来支持他们自己的功能和流程。由于增加了一项ETL作业,Level 4的开发需要消耗额外的时间。然而,Level 4并不是最高层次的抽象架构,如果需要实现各部门差异化的数据需求时,就需要引入Level 5的流程管理。

Level 5 :流程管理

Level 5可以保证主数据反映一个公司业务规则和流程,并证实其正确性。由于部分公司数据编码相对比较复杂,影响业务数据访问和操作的规则以及策略相对也比较复杂。假定任何一个单一系统可以包含并管理与主参考数据相关的各种类型的规则是不切实际的,工作流和流程整合的支持是必不可少的。总体来说,Level 5通过引入主数据的流程管理,控制数据湖和各源系统中数据的编码/解码,以此同时保证数据湖的统一性和源系统数据需求的多样性。使用Level 5意为着数据源的高度不统一,部门各成一套体系,且数据需求及其复杂。实施一个Level 5级别的主数据管理将相当耗时,且会消耗大量时间和源系统对接。

总结

Level 0未实施主数据管理,Level 1采取一个列表管理主数据,Level 2使用数据库管理主数据,Level 3在数据湖中集成主数据管理,Level 4在数据湖和ETL过程中抽象出主数据管理,Level 5在整个数据流程实现主数据的编码/解码。

主数据管理(MDM)的6大层级简述,你不可不知的数据治理参考!的更多相关文章

  1. 主数据及其管理MDM

    什么是主数据 企业数据的管理包含主数据,元数据,交易数据. 主数据是描述企业核心实体的基础数据,比如客户.用户.产品.员工等. 它是具有高业务价值的.可以在企业内跨越各个业务部门被重复使用的数据,并且 ...

  2. 【转载】主数据管理(MDM)与元数据管理

    主数据(Master Data)和元数据(Meta Data)是两个完全不同的概念.元数据是指表示数据的相关信息,比如数据定义等,而主数据是指实例数据,比如产品目录信息等.比如,某省地税开发了一套 征 ...

  3. DB-MDM:MDM/主数据管理 百科

    ylbtech-DB-MDM:MDM/主数据管理 百科 主数据管理(MDM Master Data Management)描述了一组规程.技术和解决方案,这些规程.技术和解决方案用于为所有利益相关方( ...

  4. 大数据分析中数据治理的重要性,从一个BI项目的失败来分析

    很多企业在做BI项目时,一开始的目标都是想通过梳理管理逻辑,帮助企业搭建可视化管理模型与深化管理的精细度,及时发现企业经营管理中的问题. 但在项目实施和验收时,BI却变成了报表开发项目,而报表的需求往 ...

  5. 数据治理之元数据管理的利器——Atlas入门宝典

    随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程.作为Hadoop生态最紧密的元数据管理与发现工具,Atlas在其中扮演着重要的位置.但是其官方文档不是很丰富,也不够详细.所以整 ...

  6. 一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事

    微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物.互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况 ...

  7. Data.gov.uk电子政务云,牛津大学NIE金融大数据实验室王宁:数据治理的现状和实践

    牛津大学NIE金融大数据实验室王宁:数据治理的现状和实践 我是牛津互联网研究院的研究员,是英国开放互联网的一个主要的研究机构和相关政策制订的一个机构.今天主要给大家介绍一下英国数据治理的一些现状和实践 ...

  8. 数据层交换和高性能并发处理(开源ETL大数据治理工具--KETTLE使用及二次开发 )

    ETL是什么?为什么要使用ETL?KETTLE是什么?为什么要学KETTLE?        ETL是数据的抽取清洗转换加载的过程,是数据进入数据仓库进行大数据分析的载入过程,目前流行的数据进入仓库的 ...

  9. 通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全。

    通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全. 1.先下手为强!在规划部署阶段就确定数据的隐私保护策略,最好是在将数据放入到Hadoop之前就确定好保 ...

随机推荐

  1. 「CSP-S 2020」儒略日

    description luogu loj(暂无数据) solution 这道题作为T1,对选手们仔细看清题目的好习惯,以及不为2h调试.5k代码而心态爆炸的重要能力进行了较好的锻炼, 特别准备的只有 ...

  2. linux(cemtos7.x)安装docker

    卸载旧版本 yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest ...

  3. Running Median POJ - 3784

    本题使用对顶堆做法. 为了动态维护中位数,我们可以建立两个堆 :一个大根对,一个小根堆. 用法:在动态维护的过程中,设当前的长度为length,大根堆存从小到大排名 $1 \thicksim \dfr ...

  4. Pytest自动化测试 - 必知必会的一些插件

    Pytest拥有丰富的插件架构,超过800个以上的外部插件和活跃的社区,在PyPI项目中以" pytest- *"为标识. 本篇将列举github标星超过两百的一些插件进行实战演示 ...

  5. Java蓝桥杯02——第二题集锦:生日蜡烛、星期一、方格计数、猴子分香蕉

    第二题 生日蜡烛(结果填空) 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填 ...

  6. finalize和clean

    弊端 1.执行的时间不确定,资源释放不能靠这2个方法.Cleaner规范指出:"清除方法在System.exit期间的行为是与实现相关的.不确保清除动作是否会被调用." 2#.如果 ...

  7. SQL注入步骤

    1.判断是否存在注入,注入是字符型还是数字型2.猜解SQL查询语句中的字段数3.确定回显的字段数4.获取当前数据库5.获取表中字段名6.下载数据

  8. 2、Spring Cloud和dubbo简介

    1.Spring Cloud简介 (1).Spring Cloud简介 SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负 ...

  9. docker镜像无法删除 Error:No such image:xxxxxx

    前言 docker镜像无法删除,通过 docker images 查看镜像明明存在就是删除不了. 删除提示:Error:No such image:xxxxxxx 具体截图内容如下: 解决方法 进入目 ...

  10. Python使用property函数定义属性访问方法如果不定义fget会怎么样?

    我们知道Python使用property函数定义属性访问方法时的语法如下: 实例属性=property(fget=None, fset=None, fdel=None, doc=None) 而是要@p ...