数据集成是当下比较热门的话题,相关的产品和平台也越来越多。很多CIO都在各种数据集成平台和产品之间犹豫不决。因此对数据集成平台的框架体系有全面的理解,对各个厂家产品所提供的功能有深入的认识才能为数据平台选型的决策提供可靠的保证。
我有幸参与了国内一个知名企业的集成平台的设计工作,并主导了数据集成平台的需求分析和产品选型工作。这次工作中,研究了很多新的技术方向和产品,下面我主要讲一下数据集成领域的一种新兴的产品平台主数据管理平台MDM(Master Data Management)。
主数据的概念
首先介绍一下什么是主数据。这里借用其他网站的一个数据分类模型,我们可以看到有元数据(metadata),引用数据(Reference Data),主数据(Master Data),企业结构数据(Enterprise structure Data),交易活动数据(Transaction Activity Data),交易审计数据(Transaction Audit Data)这六大类数据。
简要解释一下这六大类的数据,关于这些数据分类的定义可以在网上很容易的找到。
元数据:数据的数据,平时我们设计表时,大部分属性字段就是元数据。比如,性别,国籍,出生省份等。这个是最接近自然意义的的数据。
引用数据:元数据的可能取值范围,我们设计表时所说的数据字典往往就是引用数据。比如,性别只能是男和女,男和女就是引用数据。国家的引用数据就是世界上这100多个国家和地区;
主数据:在我们数据库设计中最重要的一些实体,是由元数据和引用数据实例的集合。DMReview 专栏作家 Jane Griffin 将主数据定义为“...用于为核心业务实体创建和维护全企业‘记录系统’,以记录业务交易并评定这些实体的业绩所需的信息。”平时我们常碰到的客户信息,产品信息都属于主数据。对于主数据的介绍,我们会在后面详细展开说明。
企业结构化数据:企业业务中所需的数据实体 ,可能是多个主数据的集合。不同行业的结构化数据会有很大不同。
交易活动数据:主数据之间活动产生的数据。比如客户购买产品的交易记录就是交易活动数据,工厂生产产品,生产记录也是交易活动数据。
交易审计数据:我们对数据的所有活动都通过交易审计数据进行记录。比如我们对客户信息修改的操作,对交易的增加和删除操作,这些活动在很多关键系统(比如银行)都需要记录,以合符相应法规的要求(如 Basel II、萨班斯—奥克斯利法案)。
下图中数据模型中的蓝色越深代表语义相关性越强和数据质量越重要,而黄色越深代表数据的数据数量越多、更新的频率越快、实时抓取的数据越快、数据的生命越短。下图可以看到,元数据的数据语义性最强,几乎不更新,数据量最少,生命周期最长。
http://www.dmreview.com/issues/20060401/1051002-1.html
主数据是企业应用系统中最基本的业务单元,下面是一段英文的原文:Master Data are the fundamental business data in the company, typically long-lived and used across multiple applications。
Core Master Data are operational entities, supporting all fundamental business activity transactions being executed on this level. The Core Master data are common and shareable within the organization。
我觉得很好理解,比如一个产品系统,它处理的基本数据就是生产数据。HR系统处理的基本数据是雇员;CRM系统是客户
一般来说核心主数据包含:Customers, Contracts, Suppliers, Distributors/Partners,Employees等等。
另外,各个行业对于主数据的管理的需求和期望会有很大不同,因此行业经验对于主数据管理也是很重要的。
主数据管理的概念
从上面的介绍可以了解,主数据并不是什么新的概念,但为什么之前没有主数据管理的产品呢?其实,解释这个问题和解释数据集成出现的原因很类似。因为之前主数据依附于各个单独的业务系统,比如HR, ERP,SCM,企业的网站,商业合作伙伴的系统都可能对某一个主数据有存储,比如某个产品。问题随之来了,如系统间数据编码不一致;数据的冗余;某些系统数据的不完整。举个实际的例子,如果我们新建一个BI的系统,那么有可能我需要从生产系统,财务系统,物流系统,企业合作伙伴系统多个系统拿到一个完整的关于主数据的信息。显然,需要一种解决方案,能够提供一个单一的主数据访问接口,以提高主数据访问的效率;为企业的市场、销售、客户关系管理等活动提供可靠的数据,提高企业的敏捷性。
主数据管理:主数据管理是数据管理的一种高级形式,它必须构建于ETL或者EII(Enterprise Information Integration)等技术之上,因此很多主数据管理平台本身就包含了数据抽取、数据加载、数据转换、数据质量管理、数据复制和数据同步等功能。也有某些厂商把MDM作为数据集成产品的一个模块交付给客户。
无主数据管理时对主数据访问
主数据分散在各个系统造成的问题:
数据在各个系统冗余,造成数据访问繁琐;编码不统一; 数据不同步,缺乏一致性;
给企业业务带来了如下影响:
延误产品面市时间;产品供不应求;不准确的订单交付 ;销售效能低下;客户满意度降低;生产力降低。
有主数据管理平台时对主数据的访问的图示
主数据管理平台带来的好处:
有统一的主数据访问平台;企业能够提供一致的完整的共享信息平台;集中的内容丰富和干净的数据中心;为使用数据的应用,企业业务流程和决策系统提供了一个真实的数据访问通道。
我个人感觉MDM平台建立之后,最受益的还是BI相关的应用。
主数据管理平台的功能模块
Master Repositories(主数据资源库)::X-Ref DB, Masters DB, Master Data Applications;
Data Quality(数据质量保证):源数据的质量检查,从源数据系统传输到数据缓储区的所有数据都应首先接受质量检查后才能导入,源数据的质量检查应包括接口数据文件格式是否标准化的确认、文件大小确认,记录数、文件生成时间的确认等内容; ETL系统质量检查,包括对主外键关系、编码规范的检查。每次数据的抽取、转换和加载都必须有完整的日志记录,并在加载完成后确认记录数前后一致。
Data enrichment(数据深度分析,关联性分析):企业内部分析;
System Integration(集成组件):主数据管理器;服务总线(提供data service);异常处理;映射(mapping)/转换(Transforming)/加载(loading);数据交换(Data exchange);同步流程(Workflow);Business System;元数据/主数据访问控制;数据录入控制;数据采集;管理/安全
主数据管理平台项目的实施
和很多集成项目一样,项目的实施最重要的是制定好业务的策略和规划,业务人员,业务需求和行业专家对数据的理解和分析是关键,技术平台只是我们思想实现的重要工具,不会起决定性的作用。
提供主数据管理平台的产商
传统ERP厂商:SAP和ORACLE都基于自己的产品经验,在它们的ERP套装软件产品中加入了主数据管理产品。基于他们行业的经验,他们的产品有比较完整的主数据管理比较好的数据模型和主数据管理的经验。Oracle基于自身在CRM和制造行业的深厚经验,提供非常全面的客户主数据产品UCM8.0和制造业主数据产品PIM12.0,
中间件厂商:TIBCO有专门的MDM产品,我看到的是他们一年前的产品介绍,感觉功能还比较欠缺,缺少很多重要的功能,当然我还没有时间研究他们最新的产品。
ORACLE在MDM产品上有着比较明确的战略和路线图。在收购BEA后,相信在MDM产品上,ORACLE会结合原本就功能强大的 ODI 工具,加上BEA在数据集成领域产品的特点,基于自己原有的行业经验,提供更全面的产品,巩固自己在中间件产品的领先地位。
IBM收购了一个MDM产品,我一向不太愿意研究IBM的产品,所以也没有发言权。我Software AG(WebMethod)做的也可以,有专门的产品,功能也相对完善。但在实施团队的力量上,要差一些。
oracle产品的资料可以在这里下载:woohooli
对于主数据管理平台,我会在以后的博客里面深入一些细节问题进行探讨。欢迎有兴趣的朋友提宝贵意见。