前面我写了一篇关于对元数据和元数据管理的认知和理解的文章,有兴趣的朋友可以去看看。接下来我们讲一讲主数据管理(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. 「CEOI2013」Board

    description 洛谷P5513 solution 用一个二进制数维护这个节点所处的位置,那么"1"操作就是这个数\(*2\),"2"操作就是这个数\(* ...

  2. python应用(2):写个python程序给自己用

    用python写一个程序,然后在命令行上执行,看不到界面(UI),这种程序很常见了,叫命令行程序.然而很多人,特别是不懂程序的人,更需要看到的是一个有界面的,能通过鼠标操作的程序,毕竟已经迈进&quo ...

  3. Matlab 画图2

    fplot函数 plot函数的缺点:在实际应用中,函数随着自变量的变化趋势是未知的,如果自变量的离散区间不合理,则无法反应函数的变化趋势. fplot的作用:通过自适应算法,解决上述问题. fplot ...

  4. [Python]环境配置之pip加速

    背景 学习 Python 的话,仅掌握标准库是远不够的,有很多好用的第三方库我们也需要用到的,比如,由鼎鼎大名的 K 神开发的爬虫必不可少的 requests 库,一般都是必装的库吧.安装第三方库当然 ...

  5. 通过weakHashMap避免过期引用导致的内存泄漏

    问题由来 数组为基础实现的集合在退出元素时,并不会将引用指向空指针,过期引用存在对象便不会被回收. 措施 1.WeakHashMap当其中的key没有再被外部引用时,就会被回收.ThreadLocal ...

  6. c++11-17 模板核心知识(十三)—— 名称查找与ADL

    名称分类 名称查找 ordinary lookup ADL (Argument-Dependent Lookup) 官网的例子 ADL的缺点 在C++中,如果编译器遇到一个名称,它会寻找这个名称代表什 ...

  7. moviepy音视频剪辑:音视频的加载和输出

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 在本地进行音视频处理时,首先要从视频文件 ...

  8. 第8.5节 Python类中的__new__方法和构造方法__init__关系深入剖析:执行顺序及参数关系案例详解

    上节介绍了__new__()方法这个比构造方法还重要的方法的语法,本节通过案例来详细剖析__new__()方法的细节以及它与构造方法之间的关系. 一.    案例说明 本节以圆Cir类为例来说明,为了 ...

  9. 第三章 、使用Qt Designer进行GUI设计

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.Designer的界面功能介绍 进入Qt Designer以后,打开或新建一个ui文件,Qt D ...

  10. 深入理解.NET/WPF内存泄漏

    众所周知,内存管理和如何避免内存泄漏(memory leak)一直是软件开发的难题.不要说C.C++等非托管(unmanaged)语言,即使是Java..NET等托管(managed)语言,尽管有着完 ...