如果你准备要开展推动数据治理或者是数据质量的项目,那么你就有可能会听说到几个词:主数据和参考数据。一开始听到主数据这一词听起来就很高大上,而且非专业人士肯定不理解(即便是从事数据行业的朋友也很难参透)。这一小节将会解答如下疑惑:
1、什么是主数据?
2、主数据是干嘛用的?
3、什么又是参考数据?
4、参考数据又是干嘛用的?
5、主数据和参考数据又有什么关系?
从百度百科上的定义来看主数据指的是系统间共享数据,又称基准数据,描述了组织业务中涉及到的人员、地点、事物(也就是我们常说的人货场),比如说像企业中的客户、员工、供应商相关数据、地点数据(位置、销售区域)、事物(账户、产品、资产)等都是主数据,因为这些数据往往会被多个业务流程和 IT 系统使用,而且主数据可以用来分析和推动业务流程以此来提高运营效率。
这么一讲感觉什么都懂了,但又感觉什么都没懂。

那我们从字面意思上可以理解成主要的数据,什么是主要的数据呢?在整个企业业务流程中起到关键作用,而且是比较常用的数据,在核心业务流程上产生的数据都是主数据,这么一解释可以发现主数据是可以检测企业发展是否健康的一种方式,但这么理解是有些偏差的。稍微严谨一点的定义就是主数据是整个企业中使用的核心、非交易性数据。请注意:这里指的是非交易性数据。举个例子,比如你在ERP系统中能够看到一些交易数据,比如订单产生的日期和编号、地点、金额、商品、用户、供货商、店铺之类的信息。那么这些信息中的产品、供货商、用户、地点这些都是主数据,也就是说参与到核心流程中的主体数据都是主数据,这些实体为业务交易和分析提供了上下文信息,到这里不知道你有没有稍微理解了主数据的概念呢?
当然通过该例子,有些读者可能会有疑惑,那订单交易记录又算什么呢?这里其实又扩展出来了另外一种数据类型:交易数据,也就是这些实体数据结合在一起产生了事件活动记录,那么这个记录就属于交易数据。例如通话记录、销售记录等等事件。这样看起来好像主数据是嵌入到了交易数据中了,但是主数据相对交易数据来说的话,属性是相对稳定的,而且可信度要求高,需要做到唯一识别
既然扯到了交易数据,那么这里再和另外一个名词做下对比:元数据,关于元数据的定义概念可以看万字介绍25种元数据管理解决方案(含视频,建议收藏)。在通信院发布的《主数据管理实践白皮书》中提到的了元数据和主数据的区别,小编觉得很形象,该书中提到了“元数据类似于表格的表头信息,是一个相对的概念;而主数据是从元数据中挑选出来的,代表的是企业业务运行的关键、通用性数据,是一个相对主观的概念,主数据不仅仅只是表头信息,而且还包括了实例数据”
那这里又扯到了元数据,大家可能又会和数据仓库关联起来,主数据其实和数据仓库是有些相似点的,但也不能把主数据完全等同于数据仓库。首先主数据和数据仓库都有一个共同点就是集成,因为主数据是跨业务、跨系统、跨部门的共享数据,那么就需要把各个业务系统共享的数据进行集中式管理,这样一来就减少了数据冗余,不一致的问题;那数据仓库也是针对数据进行了集成,把所有的数据都放到一个“仓库”中,供企业中所有人进行查阅(当然还是要考虑数据安全的)。这么一梳理,其实就应该发现两者之间的不同了,数据仓库是面向所有数据,也就是来者不拒,统统都收;但主数据并不是所有的数据都集成,而是那些核心的、有高度价值密度的数据才会进行集中管理。

这里还有一个数据流向和时效的区别点:对于数据仓库一般是单向的,也就是数据从业务系统入仓之后经过ETL处理后出仓用于决策分析;而主数据来源于业务系统,同时也会流回业务系统,属于双向的流转;而且数仓中的数据发生了变化,一般是T+1后才会感知到。而主数据的变化需要实时的作用于业务系统,比如客户的地址或者联系方式发生了变化,那么就必须立即同步到业务系统,否则可能会使用历史数据,影响业务服务体验。
从开头的定义就可以了解其第一个特点:共享;主数据是跨系统、跨部门共享的数据。那么既然是共享的数据,那么就可以解决系统之间数据不一致的问题,比如说一个用户可能在多个系统之间有不同的地方信息(比如搬家了),如果各个系统使用各自的地址信息,最后肯定是会出问题的。如果各个系统统一使用最新的地址,就不需要考虑该问题了,这样在协作流程上也有所提升(其实这里需要涉及到主数据管理MDM的范畴来保证主数据的标准统一规范)。同时由于数据是共享的,对于企业来说价值是很高的了,既然是价值高的数据,命名为主数据也不为过。
从上面一句话我们可以精简一下得到两个词:共享、价值;既然这类数据是被共享的,而且是价值比较高的,那么就要保证数据质量,而且不能经常改变了(哎呦,这跟缓慢变化维有点相似),如果各个系统共享该部分数据,质量不能保障的话,整个企业发展就很危险了,而且变化很频繁的话,就加大各个系统的维护成本,而且风险性也会提高,可谓是牵一发动全身呀。
DAMA数据管理知识体系指南一书中对参考数据的定义是指“可用于描述或分类其他数据,或者将数据与组织外部的信息 联系起来的任何数据”。这个定义可以说是比较抽象,简单来说就是维度数据,大家平时理解的数据字典,该类型的数据的主要作用是用来增强对数据的可读性和解释性,比如状态编码、性别、产品维表、地理信息等维度数据。由此可见,参数数据的来源可能是内部产生或者外部手动采集获取到的(比如国际标准编码、行业标准)
参考数据的特点同维度表的特点,有慢维,也有快维。
主数据和参考数据一般来说就是两种不同类型的数据。
1、从定义上来看主数据是代表业务对象的数据,由关键业务实体组成,它包含了整个组织共享的最有价值的信息;而参考数据是定义其他数据字段使用的一组允许的值的数据,包含了附加的文本描述,更多的像是数据字典;
2、从范围上来看参考数据是主数据的一种特殊子集。
下面的表格汇总了主数据和参考数据的区别:
参考资料:
中国通信院发布的《主数据管理实践白皮书1.0》
DAMA数据管理知识体系指南
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳
我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01 客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02 数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
我正在尝试在Rails上安装ruby,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf
文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,
SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总