发布时间:2023-03-20 14:50:01源自:https://www.it-th.com作者 :it谈话网阅读(301)
编 辑:彭文华
今天的问题也是来自于一位彭友在群里的提问。她说:企业主数据和One ID是什么关系?
也有人说:这俩不都是对某些重要的数据统一起来么?他们的区别是什么呢?
再进一步:为什么类似的功能,要产生两个概念呢?嗨!这可误会了!主数据和One ID差别可大了!
 
大到...就像河水和海水那样,泾渭分明。
从功能上看,主数据无非就是把乱七八糟的数据统一起来,形成统一的核心数据,然后使得这份数据在各个系统中都能通用。
还有人说:主数据就是编码系统,对数据进行统一编码,One ID是在主数据之上做编码的。也有人说:主数据是系统内,One ID的跨系统的。这些观点怎么说呢?也对,但不全面。
比如:你知道全球范围内最牛的主数据体系是那个公司么?不是什么teradata、oracle、IBM之类的,而是一个你可能没听过,但是好像又听过的公司:
华夏邓白氏。
这家奇特的公司不卖产品,不卖服务,卖“编码”。这么说吧,但凡要做全球标准的,基本上都跟“邓氏编码”脱不了干洗,比如:
欧洲委员继联合国、国际标准组织后会于1995认可邓白氏编码是欧洲贸易中电子数据交换的标准
邓氏编码使用于美国政府的总务管理局,美国邮政、食品及药品管理局,教育部门等
你就说牛不牛?就这家公司的编码,是属于主数据还是属于One ID?所以从功能层面,真的不能简单的用上面的判断标准区分开。
做过数据中台项目的人都知道,中台项目是不包含主数据系统的。即便要做,项目规划的时候一般都要求单独立一个主数据项目。这又是为什么呢?
面对我的这个问题,有些做过数据中台项目的人也很奇怪。有些实操的朋友只会说:主数据可以作为One ID的来源。
他们在建中台的时候说:甲方建了主数据系统,我们就省事儿点。没主数据系统,我们就费事点,反正有没有主数据系统,我们都能做。
但是也有些数据中台把主数据也集成到里面了:
我也遇到过没做过数据中台项目的甲方朋友,他们没建主数据系统,听说数据中台很牛批,就想用数据中台代替主数据系统,给客户、产品主数据进行统一编码,然后再让其他业务系统实用。
想要了解这一切,单纯从功能视角和项目视角是无法理解的。因为功能层面,他俩非常类似,尤其是统一编码的功能,几乎是一样的。
从项目层面,怎么说的都有,先建主数据项目、后建中台的逻辑能行,中台建设时同时包含主数据也不是不可以。
所以我们必须要切换一个视角:架构视角。从这个视角我们能区分的非常清楚。
先放一个阿里中台DataPhin的示意图:
其中,OneID是在萃取数据那一步完成的。而主数据完全没有在这里体现出来,而是隐藏在数据源中。而OneID的目的在于业务系统只上,跨系统打通数据,而非仅仅是统一编码。
其实现方式是在现有ID之上,用代理键的方式加一个ID,这样便于从N个系统中打通数据孤岛。
那主数据系统是什么情况呢?来看这张图:
我没有找到现成的主数据与数据中台架构的图,这张图也是一样的意思。从上图可以看出,主数据为各业务系统提供物料代码、项目代码、单位代码、员工代码等主数据服务。
所以主数据是在业务系统之间,实现核心数据的代码统一,降低内部数据协同成本,提升数据标准化程度。
如果在数据中台项目中集成主数据系统,会怎样呢?每个业务系统本来只需要在主数据系统那边调用一下就行。
但放到中台之后,则需要到数据中台中的主数据系统中确认一下,然后再调用。这个弯就绕的太大了。更重要的是主数据系统放在数据中台这边,会导致OLTP和OLAP耦合的太紧密,会造成各种耦合的问题。
最后:
主数据的核心目的是在单一业务领域中,各系统进行核心数据的统一,两个关键词:业务系统和统一。
One ID的核心目的是跨业务领域的数据连通,两个关键词:跨业务领域、连通。
所以,OneID是放大版的主数据,主数据可以作为OneID的输入。
-END-
欢迎分享转载→ 主数据和One ID有什么区别?