主数据是指在整个企业范围内各个系统(操作 /事务型应用系统以及分析型系统 )间要共享的数据,比如,可以是与客户 (customers),供应商(suppliers),帐户(accounts)以及组织单位(organizational units) 相关的数据。主数据通常需要在整个企业范围内保持一致性(consistent)、 完整性 (complete) 、可控性 (controlled) ,为了达成这一目标, 就需要进行主数据管理(Master Data Management ,MDM) 。

什么是主数据管理 (Master Data Management , MDM)

主数据是指在整个企业范围内各个系统(操作 /事务型应用系统以及分析型系统 )间要共享的数据,比如,可以是与客户(customers),供应商(suppliers),帐户(accounts)以及组织单位 (organizational units) 相关的数据。

主数据通常需要在整个企业范围内保持一致性(consistent) 、完整性 (complete) 、可控性 (controlled) ,为了达成这一目标,就需要进行主数据管理 (M aster Data Management , MDM) 。需要注意的是,主数据不是企业内所有的业务数据,只是有必要在各个系统间共享的数据才是主数据,比如大部分的交易数据、 帐单数据等都不是主数据,而像描述核心业务实体的数据,而像客户、供应商、帐户、组织单位、员工、合作伙伴、位置信息等都是主数据。 主数据是企业内能够跨业务重复使用的高价值的数据。这些主数据在进行主数据管理之前经常存在于多个异构或同构的系统中。

主数据管理

主数据管理 (Master Data Management ,MDM) 是指一组约束和方法用来保证一个企业内主题域和系统内相关数据和跨主题域和系统的相关数据的实时性、含义和质量。这是从深层次来说来说明主动主数据管理 (MDM) 的深度和复杂性, 简单的说, 主数据管理 (MDM) 保证你的系统协调和重用通用、正确的业务数据 (主数据 )。通常,我们会把主数据管理作为应用流程的补充,通过从各个操作 / 事务型应用以及分析型应用中分离出主要的信息,使其成为一个集中的、 独立于企业中各种其他应用核心资源, 从而使得企业的核心信息得以重用并确保各个操作 / 事务型应用以及分析型应用间的核心数据的一致性。通过主数据管理,改变企业数据利用的现状,从而更好地为企业信息集成做好铺垫。

主数据管理 (MDM) 可以帮助我们创建并维护整个企业内主数据的单一视图(Si ngle View),保证单一视图的准确性、一致性以及完整性,从而提供数据质量,统一商业实体的定义,简化改进商业流程并提供业务的响应速度。从变化的频率来看,主数据和日常交易数据不一样,变化相对缓慢,另外,主数据由于跨各个系统,所以对数据的一致性、 实时性以及版本控制要求很高。

主数据管理其实在很早之前就一直存在,只不过现在随着业务发展以及监管的需要,对主数据的实时性、准确性、一致性有了更高的要求,才被业界广泛接受,各个厂商相应的推 出了一系列的主数据管理集成与基础套件以及 特定领域的解决方案。近年来最明显的变化是,客户在以前的时候经常问的问题是:主数据管理是什么 ”,而现在客户经常问的问题演变成了:“我们的业务的确存在一些问题,主数据管理正好可以解决这个问题,我们怎么开始”。与以前相比,客户对主数据管理 (MDM)的认识有了巨大的进步,并开始尝试用主数据管理(MDM)解决他们在整个企业范围内进行跨业务、跨主题域时遇上的各种挑战和问题:比如税务行业, 税务局在按纳税人在一些分析统计时, 就发现关于纳税人的基本信息分布在核心征收管理系统、发票管理系统、个人所得税系统、增值税管理系统等多达几十个系统中,使得统计分析变得困难起来,在比如在医疗设备公司,由于没有按照供应商进行产品层次的分类,各个产品的描述也很不一样,使得产品目录的维护十分困难。随着业务的发展,对各行各业来说, 生成并维护一个统一的主数据系统变的十分迫切和必要,特别是对一些跨国公司,如何在不同的地区 (各个国家和地区 )的业务系统之间维护关于客户、产品目录、供应商等信息的单一视图更是重要。

需要注意的是,主数据(Master Data)和元数据(Meta Data)是两个完全不同的概念。元数据是指表示数据的相关信息,比如数据定义等,而主数据是指实例数据,比如产品目录信息等。比如,某省地税开发了一套征收管理软件,以市为单位部署了17 套,每套征收管理软件中的元数据都是一样的, 但是主数据还是需要进行管理的。主数据管理和传统数据仓库解决方案不是一个概念,数据仓库会将各个业务系统的数据集中在一起在进行业务的分析,而主数据管理系统不会把所有数据都管理起来,只是把需要在各个系统间共享的主数据进行采集和发布。相对于传统数据仓库解决方案的单向集成,主数据管理正注重将主数据的变化同步发布到各个关联的业务系统中 (主数据管理数据是双向的 )。

主数据管理问题存在的根源

对于大多数的企业都存在主数据管理的问题,个人以为这是由于业务发展的渐进性以及IT 技术发展的渐进性造成的,正是由于这种渐进性, 各大企业的业务系统从经历了从无到有,从简单到复杂,从而形成了一个又一个的业务竖井。从根本上来说,不可能只使用一个业务系统就能覆盖企业的所有业务,即便对一些国际大型的公司提供的套件来说也是一个不可能完成的任务 (即便对套件来说,经常也存在一个跨国企业在不同的国家或地区部署多个实例的现象,也就是没有集中部署该套件,而是在很多地方分散部署了该套件 )。对企业来说,业务系统的构建更多是以项目为中心,从下而上的构建系统,而不是至上而下的构建系统,必然缺乏整个企业范围内的统一规划,从而使得一些需要在各个业务中共享的数据(主数据 )被分散到了各个业务系统进行分别管理。分散管理的主数据由于没有不具备一致性、 准确性、完整性,使得各个企业普遍存在着产品管理不力、供应商管理不力、订单管理不力等现象。解决这一问题的根本方法就是引入主数据管理 (MDM) ,主数据不光指需要共享的数据,更包含需要共享的业务规则和策略。

主数据成熟度

主数据管理 (MDM) 的成熟度根据主数据管理实施的复杂程度,参照 Jill Dyche, Evan Levy 的观点大体可以把主数据 管理可以分为五个层次, 从低到高反映了主数据管理 (MDM) 的不同成熟度。下面我们简单介绍一下这五个层次:

Level 0 :没有实施任何主数据管理(MDM)

在Level 0的情况下,意味着企业的各个应用之间没有任何的数据共享,整个企业没有数据定义元素存在。比如,一个公司销售很多产品,对这些产品的生产和销售由多个独立的系统来处理,各个系统独立处理产品数据并拥有自己独立的产品列表,各个系统之间不共享产品数据。在Level 0, 每个独立的应用负责管理和维护自己的关键数据(比如产品列表、客户信息等),各个系统间不共享这些信息,这些数据是不连通的。

Level 1 :提供列表

不管公司大还是小,列表管理是我们常用的一种方式。在公司内部,会通过手工的方式维护一个逻辑或物理的列表。当各个异构的系统和用户需要某些数据的时 候,就可以索取该列表了。对于这个列表的维护,包括数据添加、删除、更新以及冲突处理,都是由各个部门的工作人员通过一系列的讨论和会议进行处理的。业务规则是用来反映价值的一致性,当业务规则发生改变或者出现类似的情况时,这样高度手工管理的流程容易发生错误。由于列表管理是通过手工管理的,其列表维护的质量取决于谁参加了变更管理流程,一旦某人缺席,将会影响列表的维护。

Level1比Level 0的不同就是,各个部门虽然还是独立维护各自的关键数据,但会通过列表管理维护一个松散的主数据列表,能够向其他各个部门提供其需要的数据。在Level 1中, 数据变更决定以及数据变更操作都是由人来决定的,因此,只有人完成数据变更决定后才会变更数据。在实际情况中,虽然数据变更流程有严格的规定,但是由于缺乏集中的、基于规则的数据管理,当数据量比较大时,数据维护的成本会变的很高,效率也会很低。当主数据,比如客户信息、产品目录信息等数量比较少时,列表 管理的方式是可行的,但是当产品目录或客户列表出现爆炸式增长以后,列表管理的变更流程将变得困难起来。Level 1 依赖于人的协作。在企业范围内实现客户或产品列表就如同维护不同部门之间人们的关系一样。如果客户或产品存在层次或分组,列表将很难提供,并且通常在Level 1因为过于复杂难以被管理。

Level 2 :同等访问(通过接口的方式,各个系统与主数据主机之间直接互联)

Level 2与Level 1相比,引入了对主数据的(自动)管理。通过建立数据标准,定义对存储在中央知识库中详细数据的访问和共享,为各个系统间共享使用数据提供了严密的支持。中央知识库通常会被称为主数据主机。这个知识库可以是一个数据库或者一个应用系统,通过在线的方式支持数据的访问和共享。Level 2引入了“同等访问”,也就是说一个应用可以调用另一个应用来更新或刷新需要的数据。在这个阶段,规则管理、数据质量和变更管理必须在企业范围内作为附加功能定制构建。在Level 2,数据变更是自动完成的—通过由具体技术实现的标准流程,允许多应用系统修改数据。Level 2可以支持不同的应用使用和变更单一、共享的数据知识库。Level 2 需要每个同等应用理解基本的业务规则以便访问主列表、与主列表进行交互。因此,每个同等应用必须正确恰当地创建、增加、更新和删除数据。授权应用有责任坚持数据管理原则和约束。

Level 3 :集中总线处理

与Level 2相比,Level 3打破了各个独立应用的组织边界,使用各个系统都能接受的数据标准统一建立和维护主数据(Level 2的主数据主机上存储的数据还是按照各个系统分开存储的,没有真正的整合在一起)。集中处理意味着为MDM构建了一个通用的、基于目标构建的平台。大多数公司发现MDM正在挑战他们现有的IT架构:他们拥有太多的独立平台处理主数据。MDM Level 3 集中数据访问、控制跨不同应用和系统使用数据。这极大的降低了应用数据访问的复杂性,大大简化了面向数据规则的管理,使MDM比一个分散环境具有更多的功能和特点。企业主数据面临一致性的挑战。数据在不同的地方存在,数据所代表的含义也是不同的,数据的规则各个系统之间也是不一样的。集中MDM处理-通过一个公共的平台作为一个总线(HUB)-说明一个共识,从多个系统整合主题域数据,意味着使用集中、标准化的方法转换异构操作数据,不管其在源系统中是什么样子,都会被整合起来。在Level 3,公司对主题域内容采用集中管理方式。这意味着应用系统,作为消费者或使用主数据,拥有一个共识就是数据是主题数据内容的映像,打破了各个独立应用的组织边界。在Level 3,一个公司可以让任意两个系统共享数据和说对方的语言。Level 3还降低了等同访问的复杂性。"消费"应用不再需要支持系统定位和操作逻辑。任何与源系统数据相关的分布式细节都会被MDM总线集中处理。在Level 3自动数据标准意味着:建立目标数据值表示和通过必要的步骤提供精确的主数据值捕获。在所有的分类中从Level 3开始第一次支持一致性的企业数据视图。数据质量规则在这里进行数据清洗和错误纠正。

Level 4 :业务规则和政策支持

一旦数据从多个数据源整合在一起,主题域视图超越单独的应用并表现为一个企业视图,你将获得事实的单一版本。当事实的单一版本已经能够提供出来时,来自业务主管和执行人员的必然反应经常是:“证明它”。Level 4可以保证主数据反映一个公司业务规则和流程,并证实其正确性。Level 4通过引入主数据来支持规则,并对MDM总线以及其它外部系统进行完整性检查。由于多数公司相对比较复杂,影响业务数据访问和操作的规则以及策略 相对也比较复杂。假定任何一个单一系统可以包含并管理与主参考数据相关的各种类型的规则是不切实际的。因此,如果一个MDM总线真正打算提供企业范围内数据的精确性,工作流和流程整合的支持是必不可少的。

MDM系统必须不仅支持基于规则的整合,还要能够整合外部的工作流。这些规则可能包括通过总线与临床系统交互或等待另一个系统或者人(有权限做出改变的人)审批。通过一个MDM总线,规则定义可以不仅局限在逻辑上,还可以依赖于其他系统的输入。当然,协调和审计数据意味着可以回退其他系统(或业务流程)来保证数据变化经过严格的审批,这样错误可以被发现并且事务在需要的时候可以被回滚。Level 4提出对规则和策略扩展性的支持。通过总线以一个灵活可持续的方式支持任何面向业务的规则集合这很重要。

比如,如果一个商店经理更新一个产品的价格,总线系统需要能够和一个可信系统(比如,商品管理系统)进行协商以便使规则生效。详细规则将支持另一个系统中存在产品价格的变更—总线需要能够理解能够处理和批准变更的权限系统或方法。这些规则可能涉及到复杂性或隐私限制,禁止它们直接在总线上存在。在Level 4, 一个企业可以支持一套步骤或任务,在一个特殊的创建、读取、更新和删除任务被允许之前这些步骤或任务必须遵守。工作流自动化经常用来支持发生在总线上的事 件或活动的授权。但是变更管理远远不仅仅是工作流:它可以包括基于逻辑的流程和基于人的决策。变更管理的存在可以支持动态业务,允许变更。Level 4支持集中规则管理,但是规则本身和相关的处理是可以分开的。换句话说,MDM总线需要保证规则是集中应用的,即便这个规则是在总线外居住的。

Level 5 :企业数据集中

在Level 5 ,总线和相关的主数据被集成到独立的应用中。主数据和应用数据之间没有明显的分隔。他们是一体的。当主数据记录详细资料被修改后,所有应用的相关数据元素都将被更新。这意味着所有的消费应用和源系统访问的是相同的数据实例。这本质上是一个闭环的MDM:所有的应用系统通过统一管理的主数据集成在一起。在这个级别,所有在系统看起来都是事实的同一个版本。操作应用系统和MDM内容是同步的,所以当变更发生时,操作应用系统都将更新。在那些熟悉的MDM架构风格中,持久总线架构,当一个总线更新所有的操作应用系统将体现这种变更,形成改变的直接操作视图。在注册环境中,当数据数据更新时,总线将通过Web服务连接相关系统应用事务更新。因此,Level 5提供一个集成的,同步的架构,当一个有权限的系统更新一个数据值时,公司内所有的系统将反映这个变更。系统更新完数据值后不要单选其他系统中相应值的更新:MDM将使这种更新变得透明。

一个公司在完成MDM Level 5后将使他们所有的应用连在一起—既包括操作的也包括分析的—所有访问主数据是透明的。Level 5是把数据概念作为一种service来实现。Level 5保证了一个一致的主数据主题域企业映像。定义“客户”和其他应用接受客户主数据业务规则变化实际上是一回事。Level 5移走了主数据的最后一个障碍:统一采用数据定义、授权使用和变更传播。

如何构建一个主数据管理 (MDM) 的解决方案

第一步:

在开始构建主数据管理 (MDM) 解决方案之前,首先需要明确我们当前的数据管理现状是什么样子的,而我们的目标是什么,具体可以参照上一小节:主数据管理(MDM) 的成熟度。

第二步

需要确定我们的每个主数据域的范围(这也是前期需求分析的一部分 )。常见的主题域有:

Party :可以反映任何合法的实体 , 无论是个体还是组织。

Product :既包括物理存在的货物,也可以是任何服务。

Account :包括期限和条件,以及相关的各种关系。

Location :既可以独立存在,也常常与其他主数据域共存。

第三步,进行数据管理系统的设计,在设计时要注意以下几点:

数据采集和发布是否实时,最小的响应时间是多少。

数据转换规则能否让客户定制,而不是硬编码。

如果根据数据质量标准清理主数据域中的主数据。

主数据的历史版本控制、变更监控控制、权限控制。

当主数据变化时, 要能记录该变化, 另外还要对主数据形成层次并记录其不同的版本值

第四步,开发部署测试。

[SAP-MDM]MDM的基本概念--主数据管理详解相关推荐

  1. oracle sap 用友 保险财务系统比较,SAP和用友的财务管理系统比较详解

    SAP和用友的财务管理系统比较详解 发表时间:2015-11-30 发布者:奥维奥科技 (一)SAP的财务管理体系 SAP 是基于流程的管理,流程管理是为了客户需求而设计的,一种以规范化的构造端到端的 ...

  2. 基于Kubernetes构建Docker集群管理详解

    from: 基于Kubernetes构建Docker集群管理详解 Kubernetes是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动 ...

  3. Spring事务管理详解_基本原理_事务管理方式

    Spring事务管理详解_基本原理_事务管理方式 1. 事务的基本原理 Spring事务的本质其实就是数据库对事务的支持,使用JDBC的事务管理机制,就是利用java.sql.Connection对象 ...

  4. ELKElasticSearch5.1基础概念及配置文件详解【转】

    1. 配置文件 elasticsearch/elasticsearch.yml 主配置文件 elasticsearch/jvm.options jvm参数配置文件 elasticsearch/log4 ...

  5. python装饰器详解-Python装饰器基础概念与用法详解

    本文实例讲述了Python装饰器基础概念与用法.分享给大家供大家参考,具体如下: 装饰器基础 前面快速介绍了装饰器的语法,在这里,我们将深入装饰器内部工作机制,更详细更系统地介绍装饰器的内容,并学习自 ...

  6. [OHIF-Viewers]医疗数字阅片-医学影像-Module: Panel-自定义面板-中二-Reduxreact-redux状态管理详解...

    [OHIF-Viewers]医疗数字阅片-医学影像-Module: Panel-自定义面板-中二-Redux&react-redux状态管理详解 先上官方文档,推荐阅读英文原版文档,是最新.最 ...

  7. SAP UI5 应用开发教程之一百零二 - SAP UI5 应用的打印(Print)功能实现详解试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 作者简介 Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今.Jerry 是 SAP 社区导师,S ...

  8. Shiro权限管理详解(授权和注解开发)【面试点】

    Shiro权限管理详解 1. 权限管理 1.1什么是权限管理 1.2用户身份认证 1.2.1 概念 1.2.2 用户名密码身份认证流程 1.2.3 关键对象 1.3 授权 1.3.1 概念 1.3.2 ...

  9. Linux操作系统的进程管理详解

    Linux操作系统的进程管理详解 pkill & pgrep pkill & pgrep 是两个很方便的命令.省去了要先ps auwx | grep xxxx然后再根据pid kill ...

最新文章

  1. UBUNTU安装SSH和xrdp
  2. mysql 分区表_分享一份生产环境mysql数据库分区表改造方案
  3. typical career path for consulting industry
  4. spring boot 启动卡住_SpringBoot 居然有 44 种应用启动器
  5. python3(十四)Python 异常处理
  6. 欢乐纪中A组赛【2019.8.23】
  7. java中arraycopy的用法_[jdk源码阅读系列]Java中System.arraycopy()的用法
  8. “富豪相亲大会”究竟迷失了什么?
  9. 【Flink】 producer attempted to use a producer id which is not currently assigned to its transaction
  10. c语言如何将一个二维数组全为零_从零开始如何用python处理数据
  11. mysql返回前2行_取得前一次MySQL操作所影响的记录行数
  12. Sublime Text3底部面板添加命令行(cmd)
  13. 从写组件说Xml——实现(五)
  14. Cortex-M0详解(2)--寄存器
  15. project2016资源管理
  16. 安卓中压缩纹理ETC1和ETC2
  17. Android自定义视频播放器(三)
  18. MATLAB 面向对象编程(十二)抽象类
  19. 我们做不到一刀劈死它,但可以先切断它的一根脚趾头
  20. 运营商客户流失率分析

热门文章

  1. 计算机科学和电子信息学报,太赫兹科学与电子信息学报
  2. STM32 SP706S 外部看门狗的应用示例
  3. 记一次聚拢Android线程实操
  4. 电信手机信号测试软件,科技神器实现联通、电信、移动信号覆盖,亲测,信号杠杠滴!...
  5. opensource项目_Opensource.com 2014年年度阅读清单
  6. 11月7日云栖精选夜读:阿里巴巴风鸣:做技术Leader要有危机意识
  7. Xilinx Kintex-7 XC7K325T-2FFG676I嵌入式核心板简介
  8. 我的世界服务器进入显示器,关于minecraft:使用屏幕的系统服务:“未找到屏幕会话”...
  9. python制作简单网页_Python制作简单的网页爬虫
  10. 网站流量日志系统知识详解----【点击流事件详解】