一、元数据(Meta Data)
1、元数据定义
元数据是指描述数据的数据,通常由信息结构的描述组成,随着技术的发展元数据内涵有了非常大的扩展,比如 UML 模型、数据交易规则、用 Java,.NET,C++等编写的APIs、业务流程和工作流模型、产品配置描述和调优参数以及各种业务规则、术语和定义等。
在大数据时代,元数据还应该包括对各种新数据类型的描述,如对位置、名字、用户点击次数、音频、视频、图片、各种无线感知设备数据和各种监控设备数据等的描述等。
2、元数据分类
元数据通常分为业务元数据、技术元数据和操作元数据等。
- 业务元数据:主要包括业务规则、定义、术语、术语表、运算法则和系统使用业务语言等,主要使用者是业务用户。
- 技术元数据:主要用来定义信息供应链(Information Supply Chain,ISC)各类组成部分元数据结构,具体包括各个系统表和字段结构、属性、出处、依赖性等,以及存储过程、函数、序列等各种对象。
- 操作元数据:是指应用程序运行信息,比如其频率、记录数以及各个组件的分析和其它统计信息等。
从整个企业层面来说,各种工具软件和应用程序越来越复杂,相互依存度逐年增加,相应的追踪整个信息供应链各组件之间数据流动、了解数据元素含义和上下文的需求越来越强烈。
3、元数据集成体系结构
各个企业的元数据管理策略和元数据管理成熟度差别较大,因此元数据集成体系结构也多种多样。大体上元数据集成体系结构可以分为:
- 点对点的元数据集成体系结构;
- 中央辐射式元数据体系结构;
- 基于 CWM(Common Warehouse MetaModel,公共仓库元模型)模型驱动的点对点元数据集成体系结构;
- 基于 CWM 模型驱动的中央存储库元数据集成体系结构;
- 分布式(联邦式)元数据集成体系结构;
- 层次/星型元数据集成体系结构;
二、元模型(Metamodel)
1、元模型定义
模型(Model)是用来描述特定的系统、过程、事物或概念的准确而抽象的表示。本质上来说,元数据是数据的形式化模型,是数据的抽象描述,该描述准确地描述了数据。
元模型(Metamodel)也就是模型的模型(或者元-元数据),是用来描述元数据的模型。
2、以“关系型表实体-关系(ER)模型”举例说明:
1)一个简单的关系型表元模型:描述了如何定义一个关系型表,例如
- 每个表必须有一个名字(字符串)
- 一个表可以有一个简单的关系型表元模型描述了如何定义一个关系型表
- 每个表必须有一个名字(字符串)
- 一个表可以有 1 到多个列
- 每个列必须有一个名字(字符串)和数据类型(字符串)
2)如果要创建一个关系型表模型,基于该表元模型创建一个实例即可:
- 创建一个常见的雇员表 Employees 表模型,Employees 表包含 6 个列,分别是编号、姓、名字、部门编号、经理编号和职位编号
- 另一个实例 department 表模型。department 表包含 2 个列,分别是编号和部门名称
三、元-元模型(Meta-meta model)
1、元-元模型定义
元-元模型就是元模型的模型,有时也被称为本体(ontology),是模型驱动的元数据集成体系结构的基础,其定义了描述元模型的语言,规定元模型必须依照一定的形式化规则来建立,以便所有的软件工具都能够对其进行理解。
2、元数据层次结构
元-元模型比元模型具有更高的抽象级别,一个元模型是一个元-元模型的实例,元模型比元-元模型更加精细,而元-元模型比元模型更加抽象。元数据(模型)则是一个元模型的实例,遵守元模型的规定和约束。用户对象(或用户数据)则是元数据(或者称为模型)的实例。
元数据层次结构分为 4 层,
- L3 是元-元模型:元类、元属性、元操作
- L2 元模型:类、属性、操作、构件
- L1 模型/元数据:实体-关系(ER)图
- L0 用户对象/用户数据:交易数据、ODS 数据、数据仓库数据、数据集市数据、数据中心数据等