博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈MDM主数据管理系统、BI、大数据、SOA之间的关系
阅读量:4218 次
发布时间:2019-05-26

本文共 2311 字,大约阅读时间需要 7 分钟。

随着“大数据”技术广泛流传,而MDM、BI、SOA相关技术已经弱化,这是从一些程序员那听到的声音,今天就想捋捋这四者之间的关系。作为一个售前咨询人员来讲,理清这四者之间的关系还是很有必要的,因为在交流或者编写解决方案时还是会遇到这类场景。

BI和大数据

  首先看看BI和大数据之间的关系,很多传统软件厂商都是从BI报表开始做起,会经历数据采集、数据存储、数据处理分析、数据挖掘、可视化报表展现等过程。而如今大数据也是从数据采集、数据存储计算、数据处理分析、数据挖掘、可视化大屏展现等过程。二者之间很相似,只不过受Apache开源技术影响,传统BI底层数据存储采用Oracle数据库进行存储比较多,当数据量无限扩大时,关系型数据库无法进行弹性伸缩,加上Oracle数据库本身价格昂贵,不能做全量数据的分析和挖掘。当Hadoop技术横空出世,从数据库的扩展性、时效性、计算能力、性价比来看做数据分析挖掘远远超过Oracle数据库,这也是大家热衷于追求Hadoop技术的缘由。但是从数据库的事务性支持角度来看,目前Hadoop的Hbase数据库还是无法解决的。随着人们都大数据技术的认知,国内很多数据库软件公司想居于Hadoop的Hbase数据库完全来替代Oracle数据库,目前Hbase数据库在事务上面无法支持,开源社区也有一些组件居于Hbase数据库之上做了事务组件来应对,例如:易金杰的fadiation组件,这事务组件在真正商业应用场景上又有几个人敢用,比如:银行钱的结算,Oracle数据库厂商在全球纵横二十载,得到大量的认证,想要一时之间解决这个问题有点难。倘若有一天中国的企业解决了这类问题,底层的数据库存储技术不再受制于人,完全替代Oracle数据库了,真正意义上的去IOE了。

MDM主数据管理系统和BI

       其次再来看看MDM主数据管理系统和BI之间的关系,谈起MDM主数据管理系统,更多的是从企业的主数据管理系统来谈。实际上MDM和BI都有元数据管理和ETL部分的内容。对于元数据管理MDM一般并不会按照数据仓库模型进行重新的数据建模,而BI系统由于更多要管理业务数据,重点需要考虑业务数据的各个维度,因此需要按照数据仓库的建模思路进行维度建模。而MDM中的ETL相对简短,抽取和加载比较多,而实际的转化和复杂的映射并不会太多。

  需要注意的是BI系统,重点是ETL后的数据分析和数据挖掘,包括后面的ODS层、数据集市、数据仓库的重点都是使用和分析数据,而并不负责分发数据。而对于MDM系统重点则不是MDM本身要如何使用数据,而是需要通过ETL或其它方式收集数据之后进行数据整合在数据整合完成后要发布数据给其它系统用,同时对于数据的修改也需要及时发送,重点是保证主数据的完整性和一致性

  站在企业大数据中心角度来看,BI和MDM结合起来可以看到,BI系统将不再从各个业务系统抽取引用数据和主数据,而是从MDM系统进行抽取,这样减少了BI系统进行的主数据管理和整合工作,BI系统只需要从各业业务系统抽取业务数据。这个时候数据流变化如下:

1、MDM系统抽取和整合各个业务系统中的主数据,形成统一完整的数据视图

2、ODS抽取各个业务系统业务数据,同时抽取MDM中的主数据

3、DW抽取ODS中的业务数据和主数据,最终形成数据仓库需要的星型和雪花型等各种维度表

  所以在企业中实施MDM后对建设BI或者大数据中心的好处是,BI不需要关注主数据的管理和整合问题,也不需要关心主数据的分发问题。这些问题都是由MDM系统来完成,当然BI系统的ETL工具,MDM系统在建设过程中仍然可以用。

MDM和SOA服务

  最后来看看MDM和SOA服务总线也是相互依赖和相互促进的关系。MDM的建设提供了完整统一的数据视图,为SOA的数据服务提供了强有力的支持,也提升了SOA的服务流程编排和服务组合的设计能力。在没有MDM之前,SOA本身并不存储数据,更谈不上数据的清理、合并和转换。关于基础数据的整合和管理工作是无法真正落地的,MDM系统的建设很好的担当了SOA服务总线的存储功能。(在未思考这几者之间的关系时,有一段时间都以为MDM和SOA服务总线是一回事)

  对于MDM系统来说,数据初始化的阶段我们可以考虑使用ETL进行数据的初始化。但是对于系统正式上线之后,主数据本身就是变更不频繁的数据,变更数据量不大但是要求实时性高,这种情况下采用ETL进行数据抽取和数据集成已经不是很好的方式。这种情况下整理数据的收集和数据统一视图的发布完全可以借助SOA服务进行,特别是在SOA的EDA事情驱动机制下更加容易实现事情驱动的增量实时消息响应。

  MDM系统建设,对于识别的主数据发展趋势仍然是共存模式到集中模式,只有到了集中模式才能更好的实现主数据的申请、创建、变更、发布等流程的统一管理,保证数据源头的一致性,从根本上解决数据不一致的问题。对于MDM主数据管理系统来说,其核心功能仍然是围绕主数据展开,即主数据的全生命周期管理,主数据的申请和创建流程,主数据变更和发布流程、废弃流程的全过程管理。在这主数据管理中考虑BI和SOA之间的关系:

    1、主数据对象的定义和元数据管理(类似于BI产品中的元数据管理)

       2、主数据质量管理(类似于BI产品中的数据质量管理)

       3、数据集成管理(一部分是BI的ETL集成,一部分是SOA服务)

       4、服务管理(如何将主数据管理的更好发布数据服务,集成到SOA中,类似于BI中的能力开放产品)

       5、流程管理(主数据管理中的流程,如何更好的和SOA中BPEL功能进行整合)

转载地址:http://orpmi.baihongyu.com/

你可能感兴趣的文章
cocos2dx android启动错误
查看>>
eclipse: android rename package name
查看>>
cocos2dx c++调用java思想
查看>>
cocos2dx lua Node节点 私有数据存取
查看>>
lua math.ceil math.ceil
查看>>
cocos2dx CCNode计算node的大小
查看>>
cocos2dx 布局记录(1)
查看>>
lua 多行注释和取消多行注释
查看>>
缩放系数计算
查看>>
cocos2dx --- 按钮点击居中放大
查看>>
cocos2dx menu位置计算
查看>>
cocos2dx资源加载机制(同步/异步)
查看>>
cocos2dx C++调用java -- 字符串传递
查看>>
git学习网站
查看>>
JavaScript 学习网站
查看>>
cocos2dx java调用c++ -- 字符串传递
查看>>
CCScaleTo与CCScaleBy比较
查看>>
cocos2dx CCObject引用计数,内存释放分析(1)
查看>>
cocos2dx2.X 编译时,传递编译选项
查看>>
ccCArray.cpp 文件
查看>>