首页 > 其他分享 >数据仓库oneID和主数据区别

数据仓库oneID和主数据区别

时间:2024-01-25 18:44:23浏览次数:32  
标签:oneID OneID 区别 数据仓库 数据管理 孤岛 数据 ID 中台

在了解oneID前,先来看一下阿里的oneDate体系。其实OneID在整个数据服务体系中,也只是起点不是终点或者说是手段,我们最终的目的是为了建设统一的数据资产体系。

没有建设统一的数据资产体系之前,我们的数据体系建设存在下面诸多问题
  1. 数据孤岛:各产品、业务的数据相互隔离,难以通过共性ID打通

  2. 重复建设:重复的开发、计算、存储,带来高昂的数据成本

  3. 数据歧义:指标定义口径不一致,造成计算偏差,应用困难
在阿里巴巴 OneData 体系中,OneID 指统一数据萃取,是一套解决数据孤岛问题的思想和方法。数据孤岛是企业发展到一定阶段后普遍遇到的问题。各个部门、业务、产品,各自定义和存储其数据,使得这些数据间难以关联,变成孤岛一般的存在。OneID的做法是通过统一的实体识别和连接,打破数据孤岛,实现数据通融。简单来说,用户、设备等业务实体,在对应的业务数据中,会被映射为唯一识别(UID)上,其各个维度的数据通过这个UID进行关联。各个部门、业务、产品对业务实体的UID的定义和实现不一样,使得数据间无法直接关联,成为了数据孤岛。基于手机号、身份证、邮箱、设备ID等信息,结合业务规则、机器学习、图算法等算法,进行 ID-Mapping,将各种 UID 都映射到统一ID上。通过这个统一ID,便可关联起各个数据孤岛的数据,实现数据通融,以确保业务分析、用户画像等数据应用的准确和全面。下面就来介绍一下主数据和OneID。— 01 —OneID 和主数据到底是不是一回事?在阿里巴巴 OneData 体系中,OneID 指统一数据萃取,是一套解决数据孤岛问题的思想和方法。如果单看这个定义,你一定也会和我一样懵逼,啥是数据萃取?解决数据孤岛问题,主数据不也是干这个事情的吗?别急,我们慢慢分解,先来看 OneID 到底是干啥的。OneID 也叫 ID-Mapping,就是将设备 ID(例如手机 MAC、IMEI、IMSI 等),手机号、身份证号、邮箱地址、PC 端的 Cookie,用户名等信息,结合标签体系、知识图谱、机器学习等技术和算法,将各种 ID 都映射到统一的 ID 上。也就是说不论用户用什么 ID 登陆,不论登陆的是 PC 端还是手机 APP,都能识别到他的一个唯一身份。OneID 干的这个事情是不是和主数据有点类似?主数据也是给数据对象赋予一个唯一的编码(身份)。但是,不得不承认,OneID 和主数据还是有很大区别的,如下:第一,解决问题的环境不同。OneID 主要是解决 ToC 业务,不同渠道、不同数据来源的用户身份的统一映射和识别问题,例如:PC 端、移动 APP,微信小程序、相关应用系统等。而主数据是对相同数据对象进行标准化定义并赋予唯一编码,更多的是用 ToB 业务中,解决企业内部异构系统之间数据不一致问题。第二,解决问题的“地点”不同。OneID 是把各类 UID 信息汇聚在一起,在一个地方进行加工和处理,最后形成统一的 Mapping 关系,阿里管这个地方叫做“数据中台”。而主数据强调的是从源头统一标准,定义唯一编码,各异构系统都依据统一的标准执行,映射关系是建立在各异构系统中的。第三,解决问题的技术不同。OneID 是典型的 OLAP 技术,是在产生数据之后通过大数据分析、人工智能算法等技术将各种 UID 都映射到统一的 ID 上。而主数据是典型的 OLTP 技术,其本身是对数据的增删改查操作,例如客户主数据的定义和编码。

— 02 —

数据中台为什么需要 OneID?

接触过企业数据平台的人都会知道,数据孤岛是企业发展到一定阶段后普遍会遇到的问题。企业内部的各个部门、业务、产品,各自定义和存储其数据,使得这些数据间都是相互割裂、难以关联,从而真正变成“孤岛”一般的存在,在业务价值上很难发挥出更多作用。

普遍存在的数据孤岛现象,各部门用的平台不同,且数据不相通

OneID的建立,就是为了打通这种数据孤岛的现状,通过打通分散在各个平台的用户数据,整合客户全生命周期旅程,实现各平台存储的数据通融,从而提升业务效率和用户体验。

ONEID的业务价值和数据管理价值

业务价值:通过OneID贯穿客户生命周期,精准识别客户行为(浏览、留资、到店等行为轨迹),相当于为每一位用户量身定制了属于自己的完整的“身份和行为”的“名片”,为营销场景的落地(广告定投、精准推送、个性化推荐、增换购、流失预警等场景)和精益化运营的需要(精准客户数据分析、精准人群定位、精准圈层运营、经销商客户信息溯源等)提供支持。

数据管理价值:业务价值主要倾向于OneID对外为企业带来的营销便利、利润增长,数据管理价值主要倾向于对内形成的“互助”作用。OneID的构建有助于数据资产的沉淀,便于企业的数据管理、数据资产的可视化和可评估化等,同时,OneID还可满足其他平台的一些需求,如CDP平台、数据中台等,为其提供一定的支持。

总而言之,OneID的构建,是为了支撑各业务方管理决策及应用落地,从而达到提升业务效率及客户体验,且数据应用准确而全面的最终目的。

— 03 —

OneID 和主数据的实现原理

OneID 是对不同渠道、不同来源的的“ID”进行统一拉齐和打通,其实现原理如下:

为了方便理解,这里给出的例子是比较简单的,但在实际实施过程中,其应用要复杂很多,例如:相同 ID 的值不一致怎么办,重复的 ID 如何合并,ID 信息发生变化如何更新,Mapping 表的更新频率如何设置等等,这些问题就需要结合具体场景解决了。我们再来看看主数据管理(MDM)的工作原理:主数据管理强调在源头治理,即:在数据源系统定义实现主数据的标准化,生成唯一主数据编码,并通过主数据系统分发标准数据到相关消费系统进行使用,消费系统只有查询和使用权不能对主数据进行“增删改”。另外,不同主数据的来源系统不同,如在这个例子中的客户主数据来源为 CRM,物料主数据的来源为 MDM,ERP 系统和数据仓库是主数据的消费系统。— 04 —

有了数据中台,还需要主数据吗?

在很多数据中台的解决方案中,主数据是数据中台的一个组成部分。例如在 SAP 的数字平台解决方案中,数据中台是由数据集成、数据存储、数据仓库、开发建模、数据资产管理、数据管控、人工智能与行业模版等多个部分组成。其中,数据管控模块中就包含了主数据治理,如下图:

很多人都有个疑问,数据中台中既包含了数据采集/数据移动的能力,也包含数据服务共享的能力,同时还具备元数据、数据质量、数据安全等数据治理能力,有了数据中台,为什么还需要主数据管理?数据中台通过数据采集、清洗、治理,再以标准接口服务的形式提供出去,供其他系统调用,这确实是数据中台的核心能力。从功能的角度,主数据管理也的确有类似的功能,例如:主数据采集、主数据清洗、主数据服务等。但是,我们之前也说过,主数据与数据中台解决的问题并不相同。数据中台是在有了数据之后,在中台进行数据治理,形成数据资产并提供数据服务。而主数据更强调在数据产生之前定义数据标准,建立数据管理流程,并在数据产生的过程中对数据质量进行校验,从源头进行数据治理。因此,相对于数据中台来讲,主数据管理是一个后台系统,它可以作为数据中台的一个数据源为数据中台供应高质量的数据。设想一下:如果没有主数据管理,从各个异构系统中采集到数据中台的主数据(如:客户、产品、供应商等)将有不同的定义和编码,这就需要在数据中台对这些不一致的数据进行统一治理,这将是一件非常痛苦的事情,而且不能从源头上解决问题。因此在笔者看来,站在整体解决方案的角度,将主数据治理提前,对于传统企业来讲可能是不错的解决方案。— 05 —

有了数据中台,还需要主数据吗?

主数据的核心目的是在单一业务领域中,各系统进行核心数据的统一,两个关键词:业务系统和统一。
One ID的核心目的是跨业务领域的数据连通,两个关键词:跨业务领域、连通。
所以,OneID是放大版的主数据,主数据可以作为OneID的输入。

标签:oneID,OneID,区别,数据仓库,数据管理,孤岛,数据,ID,中台
From: https://www.cnblogs.com/IT-Evan/p/17977219

相关文章

  • Java中SimpleDateFormat时YYYY与yyyy以及HH和hh的区别注意踩坑
    场景Java开发手册中为什么要求SimpleDateFormat时用y表示年,而不能用Y:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/131052335在使用SimpleDateFormat在获取当前日期时因使用了YYYY导致20231231这个日期被格式化为20241231这里推荐在日期处理时统一使用封装工具......
  • WorkFlow,Process,Job,Task各详细解释和他们的区别
    来自你的消息:请详细解释WorkFlow,Process,Job,Task各详细解释和他们的区别来自WeTabAI的消息:当谈到工作流程(Workflow),流程(Process),任务(Job)和任务(Task)时,它们在企业管理和信息技术领域中有不同的含义和用法。下面是它们的详细解释和区别:工作流程(Workflow):工作流程是一系列有序的......
  • C语言和C++中的空指针区别
    C语言中,空指针是NULL,是一个宏在C++中NULL似乎也可以用,但是C++中的NULL其实是有问题的。C++大佬在设计的时候可能没有考虑全面在C++98中,字面常量0既可以是一个整形数字,也可以是无类型的指针(void*)常量但是编译器默认情况下将其看成是一个整形常量,如果要将其按照指针方式来使......
  • 深入解析C++中sizeof和strlen的奥秘:区别、应用与技巧全揭秘!
     sizeof 和 strlen 是C++中用于处理字符串的两个不同的操作符,它们的作用和使用场景有很大的区别。sizeof操作符:区别:sizeof 是一个运算符,不是一个函数,用于获取一个类型或变量的字节大小。对于数组,sizeof 返回整个数组的字节大小。对于指针,sizeof 返回指针本身的......
  • Java 中 float 与 double 的区别
    1.float是单精度浮点数,内存分配4个字节,占32位,有效小数位6-7位double是双精度浮点数,内存分配8个字节,占64位,有效小数位15位 2.java中默认声明的小数是double类型的,如doubled=4.0如果声明:floatx=4.0则会报错,需要如下写法:floatx=4.0f或者floatx=(float)4.0其中4.0f后......
  • big.js、bignumber.js 和 decimal.js 的区别
    简介        本文介绍3个JavaScript的数字处理第三方库的区别,它们是:big.js、bignumber.js和decimal.js。        这三个库都是同一个作者写的。官网网址​ ​https://github.com/MikeMcl/big.js/wiki​​大致对比包的大小        big.js<b......
  • 利害关系和利益关系区别如下:
    利害关系和利益关系区别如下:1.含义不同:利益关系是指国家、集体与个人三者之间的利益关系;利害关系是指个人与个人、个人与社会、个人与国家、国家与社会之间的利益关系。2.针对对象不同:利益关系针对的是国家、集体与个人三者之间的;利害关系针对的是人与人,人与社会,人与国家之间的......
  • *args 与 **kwargs 的区别
    *args与**kwargs的区别定义*args与**kwargs的区别,两者都是python中的可变参数:*args表示任何多个无名参数,它本质是一个tuple**kwargs表示关键字参数,它本质上是一个dict应用1.同时使用*args和**kwargs如果同时使用*args和**kwargs时,必须*args参数列......
  • OC 中 nullable、__nullable、_Nullable 的区别
    在Objective-C中,nullable、__nullable和_Nullable都是用来表示一个对象可以是nil的注解。它们在不同的上下文中使用,但本质上具有相同的意义。这些注解主要用于与Swift互操作时提供更清晰的API,并帮助开发者更好地处理nil值。以下是它们各自的使用情况和区别:nullablenull......
  • rocketmq--push、poll、simple模型的区别
    RocketMQ提供了几种不同类型的消费者,以满足不同使用场景的需求。以下是RocketMQ中三种主要消费者类型的原理和区别:PushConsumer(推模式消费者)原理:PushConsumer是一种被动接收消息的消费者。Broker(消息服务器)将消息推送给消费者,消费者监听指定的Topic和Tag。当消息到达时,Broker......