1. 元数据概述:定义、作用与分类

咱们正式开始。这门课叫《元数据标准与规范》,但第一件事,先把“元数据”三个字掰开揉碎了讲清楚。

你可能听过一句话——元数据是关于数据的数据。没错,但光这么讲太抽象。我换个说法,你想想看:你手机里有一张照片,照片本身是数据,那拍摄时间、地点、光圈、快门、GPS坐标——这些是什么?就是元数据。

说白了,元数据就是给数据贴的标签、写的说明书、画的索引卡。没有它,数据就是一盘散沙。

一句话总结:元数据是数据的结构化描述信息,用于理解、管理、发现和使用数据。

元数据的定义

我给个稍微正式点的定义,你记住就行:

元数据(Metadata)是关于数据的数据,是对数据内容、质量、条件、来源、结构、格式、语义、上下文、访问方式等信息的结构化描述。

我个人习惯把它比作图书馆的目录卡片。书在架子上,卡片告诉你书名、作者、分类号、在哪个区。没有卡片,你只能把整层楼的书翻一遍。数据也是这个道理。

元数据有几个关键特征,我列一下:

  • 结构化:元数据本身遵循一定的格式和规范,不是随手写的备注
  • 描述性:它描述的是数据的特征,而不是数据本身的内容
  • 可复用:一份元数据可以被多个系统、多个场景反复使用
  • 可互操作:不同系统之间能理解同一份元数据,这才有意义

我在项目中遇到过不少团队,做数据迁移的时候直接硬拖原始字段,结果到了新系统里,字段含义对不上、单位不一致、枚举值不匹配……全是坑。根源是什么?元数据没跟上。

元数据的作用

元数据到底能干嘛?我分成四个方面来讲。

1. 发现与定位

没有元数据,你连有什么数据都不知道。元数据就是数据的“地图”和“目录”,告诉你数据在哪、怎么找到它。

2. 理解与解释

人家给你一个数据集,你光看字段名“col_a”,你能懂吗?元数据告诉你“col_a 是用户年龄,单位是周岁,合法范围0-150”。这不就清楚了?

3. 管理与治理

元数据是数据治理的基础。谁创建的数据?什么时间?访问权限是什么?数据质量如何?这些都是元数据管理的内容。

4. 互操作与集成

两个系统要对接,格式要转换、语义要映射、字段要匹配。这些工作全依赖标准化的元数据。没有标准,你就只能写死代码、一个个硬映射,累死人。

避坑提醒: 我曾经在一个数据中台项目里,对接了十几个外部数据源,每个源的元数据规范都不一样。后来我花了整整两周,把各家的元数据全整理成统一规范——苦是苦,但后面对接开发从2周缩短到了2天。元数据标准化,值!

元数据的核心分类

元数据怎么分类?业界通常从几个不同的维度去划分。我挑最常用的四种分类方式,你用这个表就能看明白。

分类维度 子类 解释 例子
按元数据的语法层面 语法元数据 描述数据格式、编码、结构、语法规则 文件是CSV还是JSON?编码是UTF-8还是GBK?使用什么XML Schema?
按元数据的结构层面 结构元数据 描述数据实体之间的关系、字段定义、主键外键、层级 表结构定义、DDL脚本、ER图、对象关系映射
按元数据的语义层面 语义元数据 描述数据在现实世界中代表什么含义,包括概念、术语、本体、分类 字典表、编码规范、同义词、类层次结构
按元数据的使用层面 使用元数据 描述数据的使用方式、访问权限、生命周期、版本、溯源 数据创建时间、所有者、修改历史、数据血缘

这四种分类不是互斥的。实际上,你看到的大部分元数据标准(比如Dublin Core、DCAT、ISO 19115),都是同时覆盖了多个维度。

举个具体的例子

你有一个CSV文件,内容如下:

姓名,年龄,城市
张三,28,上海
李四,35,北京

那它的元数据可能是这样的:

-- 语法元数据
格式: CSV
分隔符: 逗号
编码: UTF-8
行尾符: LF

-- 结构元数据
表名: user_info
字段列表:
  - 姓名: 字符串, 长度50, 非空
  - 年龄: 整数, 范围0-150
  - 城市: 字符串, 长度100

-- 语义元数据
年龄含义: 用户的周岁年龄
城市含义: 用户常住地,来自行政区划编码表

-- 使用元数据
创建者: 数据采集组
创建时间: 2024-01-15 10:30:00
更新频率: 日更新
访问权限: 内部公开
数据血缘: 来自XX系统用户注册接口

你明白了吧?每一类元数据解决不同的问题。语法元数据解决“这个文件怎么解析”;结构元数据解决“字段之间怎么关联”;语义元数据解决“这些数据到底是什么意思”;使用元数据解决“谁在用、怎么用、用多久”。

注意: 很多团队做元数据管理,只做了语法和结构层,忽略了语义层和使用层。结果呢?数据结构对得上,但一个字段叫“状态”,A系统理解成“审核状态”,B系统理解成“在线状态”,数据对不拢。语义元数据是元数据管理里的灵魂,千万别丢。

本章知识体系总览

下面这张图是我手绘的元数据结构总览图,把这一章的核心知识点串在一起,方便你建立整体认知。

元数据核心知识体系 元数据 定义:关于数据的数据 四大作用:发现·理解·管理·互操作 核心分类(四维度) 语法元数据(格式/编码) 结构元数据(字段/关系) 语义元数据(含义/本体) 使用元数据(溯源/权限) 四维度共同构成完整的元数据体系

这张图就是从这一章的知识点梳理出来的。你看,元数据定义是根基,四大作用是对外传递的价值,而四维分类则是内部组织理解元数据的框架。你之后学任何标准规范,都逃不开这四个维度。

好了,第一章的内容就到这里。打好这个基础,后面的章节我们再说具体怎么用标准去描述元数据、怎么用工具去管理元数据。