在数据资产管理领域,有着许多相似的概念和词汇。譬如说“数据管理”和“数据治理”,像孪生兄弟一样让人纠结不已。上周,与一个朋友聊起元数据、主数据和参考数据的关系是什么。这个话题我们足足聊了二十分钟。这三个概念我在一开始做数据管理相关工作的时候也纠结了挺久,于是我根据聊起来的内容稍稍总结了一下,就有了这篇文章,希望能给读者减少些许疑惑。
1、假设场景
我们的假设场景先是这样的,现在正在为中国地理协会设计一个中国地理信息系统(当然真实的地理信息系统不会是这样,都说只是假设一下)。我现在正设计到“地市”这个对象。常说“千言万语不及一图”,这三者的关系咱们先上图。
2、元数据--数据的数据
元数据(meta-data)是描述企业数据的相关数据,指在IT系统建设过程中所产生的有关数据定义,目标定义,转换规则等相关的关键数据,包括对数据的业务、结构、定义、存储、安全等各方面对数据的描述。
例如在假设场景中,我们设计了地市表的数据模型(如上图红色框里面表示),地市表这个实体的数据模型如何进行定义正是元数据所关心的范畴。
元数据可以说是企业的数据地图,它直接反映了企业中有什么样的数据,数据是如何存放的,例如,数据结构是什么样子,数据与业务之间的关系是怎么样,数据与数据之间的关系是怎么样,数据有什么样的安全需求,数据有什么样的存储需求。
针对元数据的管理,对于传统企业数据而言是非常重要的一项管理挑战。因为传统企业技术和管理观念上有所缺失,从而导致了许多问题。因此,我们在进行许多传统企业数据治理或者数据管理项目,也就是元数据管理方面时,常常会先从数据模型梳理着手。
补充说明
阮一峰博客中,举的例子很典型:
契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子:
(她)年纪已经不轻,三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋--一句话,不是姑娘,而是果冻,她那样活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑,动不动就发出一连串响亮的笑声:哈,哈,哈!
这段话里提供了这样几个信息:年龄(三十岁上下)、身高(个子高挑)、相貌(身材匀称,黑黑的眉毛,红红的脸蛋)、性格(活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑)。有了这些信息,我们就可以大致想像出瓦莲卡是个什么样的人。推而广之,只要提供这几类的信息,我们也可以推测出其他人的样子。
这个例子中的"年龄"、"身高"、"相貌"、"性格",就是元数据,因为它们是用来描述具体数据/信息的数据/信息。
当然,这几个元数据用来刻画个人状况还不够精确。我们每个人从小到大,都填过《个人情况登记表》之类的东西吧,其中包括姓名、性别、民族、政治面貌、一寸照片、学历、职称等等......这一套元数据才算比较完备。
3、主数据--企业黄金数据记录
主数据(main data)主要是指经实例化的企业关键数据。
还是回到我们的假设场景,我们在上面设计完成数据模型设计的“城市表”中填写了相应的城市数据,例如,北京、上海、广州、南宁等等。这些在城市表中填充的数据,正是组织中国地理协会的主数据,因为这些数据是中国地理协会这个组织的关键业务实体,它为组织的业务开展提供关联环境,而且它可能在企业业务开展过程中被反复引用。针对这些核心关键数据,组织和企业无论从数据的质量、一致性、可用性、管理规范等方面都应该有着最严格的数据要求。
那么一般而言,以下涉及企业经营的人、财、物的数据最有可能纳入企业主数据管理的范畴,例如
企业产品及其相关信息:包括企业相关产品、服务、版本、价格、标准操作等等
企业财务信息:包括业务、预算、利润、合同、财务科目等等
企业相关利益相关者:如客户、供应商、合作伙伴、竞争对手等
企业组织架构:如员工、部门等
可见,主数据就是企业被不同运营场合反复引用关键的状态数据,它需要在企业范围内保持高度一致。它可以随着企业的经营活动而改变,例如,客户的增加,组织架构的调整,产品下线等;但是,主数据的变化频率应该是较低的。所以,企业运营过程产生过程数据,如生产过程产生各种如订购记录、消费记录等,一般不会纳入主数据的范围。当然,在不同行业,不同企业对主数据有不同的看法和做法,正如我们与国内大型航空企业的实施相关数据项目时,也在为航班动态是不是主数据而纠结不已。
因此,有鉴于主数据对于企业的重要性,企业和组织需要对其主数据进行有效的管理:包括理解主数据应用需求,识别主数据来源及源头,梳理主数据上下游关系,数据整合和发布,提升主数据的数据质量等。
补充
主数据也叫基准数据,是指系统间共享的数据。相比于频繁变动更新的业务数据,主数据变化缓慢。
对于企业来说,企业主数据是用来描述企业实体的数据,如客户的CRM数据, 供应商数据、员工数据、设备无聊数据等,这些数据会在多个业务系统中被重复使用,并且存在于多个具体的业务应用系统中。
举个例子,对于很多追求速度的企业,随着业务发展会快速采购多个应用系统。如我前司,采购了金蝶的财务系统、腾讯的企业邮箱、钉钉的聊天办公、teambition的流程工具,以及一个不知名的HRM系统,就导致了:我在每一个应用系统都需要重新注册、重新记录一次账号密码信息。(好在一些应用系统已经能够和钉钉和微信做账号打通了,但是如果是阿里或者腾讯嫡系公司的产品,几乎不可能出现对方的快速登陆)。而员工的信息(姓名、登陆账号、性别、出生年月)对于企业来说,就是一份主数据,如果能够进行统一管理,当有新的办公应用系统接进来的时候,共用一套账号体系,系统登陆时通过api获取账号登陆信息,即可实现一键登陆。
对于互联网行业,典型的主数据包括:用户数据、商品/数据(泛指平台主要销售的物品,如真实的商品、虚拟的课程)、类目数据等;对于传统行业,如轨道交通,可以是线路信息、车站信息、车辆信息、设备信息等。
4、参考数据--数据字典
在本文引用的假设案例中,我们将会注意到刚才填写的地市这类数据有些列,如省份、城市类型等。如果没有缺少上下文的环境,我们是无法理解其具体含义,这时候我们往往引入参考数据(reference data)加以解释和理解,如下图红色标注所示。
参考数据是增加数据可读性、可维护性以及后续应用的重要数据。例如,你看到“性别”的这个字段,很可能是1代表男性、2代表女性。在许多企业中有这样的约定俗成,而更多的参考数据可能记录在开发人员和运营人员的大脑当中。但问题是一旦这些人离开,您系统里面的数据就成了一堆没有注释的天书。
大家可能觉得,这所谓参考数据不就是数据字典吗?对,我们在很多系统里面都会有这样和那样的数据字典。但是正是由于这些数据字典局仅限于个别系统而没有统一标准,从一个侧面间接造就了大量的数据孤岛。企业为了进行更有效率的数据整合、数据共享和数据分析应用,开始尝试对参考数据进行企业或者部门层面的整合和管理,利用参考数据集记录系统尝试为范围内的IT系统中的数据库提供统一的参考数据。
补充
从字面理解,所谓“字典”就是当你需要用到某个词的时候,有一个地方能够查询;如果是一个新的词汇,则新添加到字典中,供自己或者别人后面进行查询。对应到软件项目中,数据字典是指对该系统所涉及到的数据项、数据结构、数据流、数据存储、处理逻辑、关联业务实体等进行定义和描述的文件系统,同时该系统的内容能够被系统内具体的应用场景所调用。
从作用上,数据字典与主数据的区别在于:
- 主数据可能存在与一个特定系统,也可以单独抽离出来成为一个单独的系统;数据字典一定存在于特定系统中,并且一般意义上,不与外部系统存在交互关系;
- 数据字典是为特定系统的开发而设计的,在后期并行业务系统变多,存在共同使用一套相同的数据时,可以将某一个应用系统的数据字典进一步抽象成为共用的主数据,或者设计一套独立的主数据系统,各应用系统从该主数据系统中获取数据。
5、小结
主数据则是真实的企业业务数据,是企业的关键业务数据。
参考数据则是对数据的解释,针对一些数据范围和取值的数据解释,让人们容易读取相关的数据。
元数据是对数据的描述,用于描述企业数据的所有信息和数据,如结构、关系、安全需求等,除增加数据可读性外,也是后续数据管理的基础。
一般而言,企业中这三类数据与其它数据的数据量、质量需求,更新频率、数据生命周期的关系大致如下图:
本文转载自《一组图详解元数据、主数据与参考数据》