之前讲解数据相关的基本概念的文章,做数据产品,这五个概念一定要搞清楚提到了元数据。这篇文章将会展开细讲,主要分享我学习的过程,我的理解,以及对全过程的总结。
接触新概念,当然先看定义。但是官方解释,看起来像个套娃:「元数据,是解释数据的数据」。
接下来,我又接触到了元元数据、元模型等概念:
「元元数据,是定义元数据结构和语义的信息」、「由元元数据组成的模型称之为元模型」。
当时我脑子演绎了自问自答的情景:
【问】元数据它也是一种数据,那解释元数据的数据,叫做什么?
【答】叫元元数据,
【问】那,是不是还有元元元数据?
【答】对!没错,讲道理是的!
【问】那,是不是…
【答】对!没错!别给我没完没了的!打住!
看完这一圈概念,很容易联想到"道生一, 一生二,二生三,三生万物",很有哲学的味道。总的来说,初接触元数据,非常抽象,有点懵。
概念晦涩难懂,借助例子理解是一个不错的方式。
网上很多文章也列举了不少元数据的例子,比如奶茶上饮料上的营养成分表。
只有结合左边和上边的说明,我们才能理解,每100g奶茶含能量166KJ。
按照定义,「能量」、「每100g」 都是对数据166KJ的解释说明,这二者就是166KJ的元数据。
看完这样的例子,一下子就能对元数据有了直观的认知。但是,我给小伙伴讲完以后,小伙伴们反馈例子是一看就懂,但是换一个场景,还是有点懵,还是分不清哪里是元数据,以及元数据要用来干嘛。
追根究底,是因为多数人没有用元数据解决问题的体验。
接下来,我以产品经理举例,介绍元数据的两大运用场景。
不同行业,产品经理所需的行业知识和技能不同,但是通常情况下,都会接触两类人:业务人员、研发人员。
作为产品,你大概率听过这些业务指标:PV、UV、DAU、MAU。
回想一下,初次接触DAU这个英文缩写的时候,你肯定也不懂,经过百度查询,你知道了DAU是指「每日活跃用户数」。
但是,因为业务不同,实际场景里,不同公司对于DAU「每日活跃用户」的定义还有差异。
A公司的业务人员,将DAU定义为「每日用户登录次数」。
B公司的业务人员,将DAU定义为「每天在平台停留20分钟以上用户的数量」。
业务人员结合实际需要,对数据作了"定义",用以沟通交流时进行“解释”。
这些定义和解释,就是业务语义下的元数据,即「业务元数据」。
系统需要技术人员实现,所有的数据都是经过系统处理和存储的。
A公司的研发人员理解了DAU的业务语义后,便要负责定义DAU在系统中计算、存储的格式和约束。如下:
这段的含义是,DAU的数据类型是int。
研发人员为什么要定义这个呢?
其实这样是按照程序语言的规范,定义了一个计算机能懂的数据类型,这个信息将会经过层层编译,变成计算机能理解的形式。
下一次,当收到一个数据类型不为int的DAU数据时,计算机就能够识别,进而按照研发小哥设定的逻辑进行相应的处理,比如提示或报错。
技术人员因为编码需要,也对数据作了"定义"。技术语义下的元数据,即「技术元数据」。
大家会发现,不同的标准、不同的组织对元数据有不同的分类,很多初学者经常被搞晕:说的都不完全相同,到底有多少种元数据,应该掌握哪些元数据?
元数据的类型取决于在什么场景、面向什么人作解释。
元数据的类型,不是被事先定义出来的,而是根据使用场景进行的归类,任何一个人都可以按需要定义新的元数据类型。
先看看一个极端的例子:
一个程序员在网上聊天,有一天,别人问他,你是程序员吗?
程序员本能反应,立刻就回了一个「true」。
但是对方不懂编程,也不懂英语,一阵交涉,最终明白:原来很多程序语言里,true就等同于「是」。
奇葩说里马东说:“被误解是表达者的宿命”。当然被误解绝对不是表达者的希望的结果,为了尽可能不被误解,我们要用好元数据进行解释。
人们要合作,要交流,要理解对方表达的意思,而元数据就是沟通和理解的桥梁。
知道了what,why,接下来就要弄清楚how,怎么管理元数据。
以往,做人事、货物管理系统,这些系统管理的对象都是现实生活中存在的,但是要做一个元数据管理系统,元数据如此抽象,该怎么设计?
在建学生管理系统前,我们会定义学生实体的属性,即"学生模型",学生:姓名,性别,年龄…
Class Student{
String stuName; --学生姓名
int age; --年龄
int gender; --性别
}
同样的道理,元数据也是根据实际场景定义属性,元数据会有通用的属性,比如名称,类型。
不同类型的元数据还会有自己特定的属性,比如下图中的储蓄汇总表元数据,有汇总金额和网点号两个属性。
元数据既然也是数据,肯定是存储在数据库中的。
元数据存储库是指存储元数据的物理数据库表,通常采用开放标准的关系型数据库平台实现元数据存储库。
至于为什么选用关系型数据库,这里就不展开讲了。
元数据早就存在了我们生活中,只是我们用「元数据」这个词代指了这一类解释其他事物的事物。
当你问别人,XXX是什么,是什么意思,后续别人给的回答和解释,其实就是「无形的元数据」,当这些解释落到纸面的时候,就成了「有形的元数据」。
学习元数据的初期,我看了很多文献,被各种概念按在地上反复摩擦。通过不断地理解和实践,终于冲破了混沌,有了一定的理解。
复盘这段过程,有失有得。
我花费了很多时间研究概念,而忘了自己为什么要研究概念。其实,一直看元数据概念反而会迷失在其中,将数据平台搭建起来,最终能把数据用起来,便能体会其中奥义。
为了钻研概念,我搜集了非常多的资料,提升了资料搜寻能力,元数据是数据产品的核心概念,这也为我后续理解数据产品的其他概念打好了基础。
实践是检验真理的唯一途径,也是探索、理解真理的唯一途径。
实在弄不懂一个概念,那就去实践理解吧,你总会有顿悟的那一刻。
参考资料:
【1】艾中良,麦中凡,朱美正;元数据和元模型[A];2001全国软件技术研讨会[C];2001年
【2】数据治理之元数据管理实践[OL]
http://p.primeton.com/articles/5c73b4d64be8e67cf4000883
【3】元数据新型存储架构的探索[OL]
http://p.primeton.com/articles/5d0216a34be8e67aaf0034fa
【4】数据产品经理实战进阶-8.3元数据管理
【5】被误解是表达者的宿命[OL] 2018-11-07 https://www.jianshu.com/p/631180397