作者丨凯凯连
导语
上一篇文章,我们简单讲解了数据仓库的概念,并介绍了它的分层架构设计,相信大家对数据仓库体系已经有一定的了解了。
那么,这篇文章,我们将再进一步探讨一下数据仓库治理的问题,一起探究下庞大的数据仓库体系是如何进行数据管理的。
1.什么是元数据中心?为什么要讲它?
元数据中心是负责记录和管理数据仓库中数据的含义、格式、血缘关系等元数据的系统,它是数据治理环节最重要的组件。
由此可知,要想理解一个公司的数据仓库体系,就必须先从元数据中心开始。
所以它也是数据分析师的常用系统,做任何数据分析前,都需要对手上有什么数据,怎么利用他们了如指掌,元数据中心就在这个过程中承担着极其重要的作用。因此,作为大数据分析师,必须要了解元数据中心。
2.本文的目标是什么?
本文的侧重点是向你讲解元数据中心的作用和设计思路,一方面讲解它存有什么样的信息,能用来做什么,怎么借助元数据中心完成分析任务;另一方面,会简单介绍下元数据中心的各个组成部分,理解它是如何发挥作用的。目标是让你深入了解元数据中心,可以在工作中比较好地利用它产生业务价值。
3.本文的讲解思路
第一部分,讲解元数据的概念和分类。
第二部分,讲解元数据在数据仓库体系中发挥着什么作用。
第三部分,讲解元数据中心管理系统的组成结构,更加深入地理解元数据中心。
×××
以下为正文
01
元数据的概念和分类
元数据,又被称为描述数据的数据,你可以把它类比成关系型数据库的schema信息,来方便直观地理解它,但是它绝不仅仅是schema信息,它还包括了很多其他的信息。一般意义上来说,元数据是描述数据仓库内数据的结构和建立方法的数据。一般按照用途来分类,元数据分为技术元数据和业务元数据。
技术元数据,通常是给程序使用的,它包含了数据仓库中包含的表,每张表的合法字段、值类型、有效值范围等信息,以及ETL程序需要使用到的转换规则、数据流转信息等。
业务元数据,通常是给分析人员使用的,包含从业务角度描述的各个主题域和数据模型的构成和含义,数据表、字段和值的含义,也包括统一的统计口径、常用的特殊限定条件、特定业务术语等。
元数据中心的职责,就是对元数据进行管理,承担着数据治理的重任,在数据仓库体系中有着至关重要的作用。接下来,我们就来说下它有什么作用。
02
元数据中心在数仓体系中的核心作用
元数据中心的核心地位,不仅是因为它存储了最核心的元数据,同时也是因为它在数据仓库构建的各个阶段都发挥了非常重要的作用。
具体如下图所示:
其具体的作用点,如下:
(1)提供了合法表名、字段名的集合,在ETL过程中可以有效阻止脏数据的混入,提升数据质量,同时也规范了日志打点,保证命名规范的一致性,避免产生歧义。
(2)提供了字段值的有效范围,可以在上线前由测试人员进行验证,避免bug数据的混入
(3)包含各种主题和数据的含义,方便数据分析人员理解数据,根据自己的业务分析需求获取对应的数据
(4)定义数据仓库的模型数据,提供给建模工具进行主题建模
(5)提供有效的数据血缘关系,方便在出现数据问题时,进行追踪溯源,帮助定位并解决问题
(6)记录数据定义的变迁历史,方便后续进行跨度比较大的分析,同时也有助于在分析时确定数据的有效可用范围
03
元数据中心管理系统
通过前面的讲解,我们对元数据中心有了初步的了解,那么接下来我们来简单说下元数据中心管理系统,这部分并不是要手把手教你怎么去设计并建设元数据中心,而是试图让你通过理解它的组成结构,来加深对元数据中心的理解。
首先,我们需要了解下,元数据中心管理系统一般的典型架构由哪些模块组成。具体如下图所示:
最右侧的DB,代表存储模块,所有的数据都需要存储到这里,而左侧的方框表示了元数据管理中心具备的功能模块,我们逐个来解释下。
(1)权限认证模块,这个不用多说,属于基础功能模块,保证系统的数据安全。
(2)审核模块,用于控制审核流程。因为元数据是非常核心的数据,如果它出错,整个数据仓库体系的多个环节可能都会受到影响,因此需要有审核机制来确保数据的正确性和一致性。
(3)源数据格式管理,这个模块主要作用是定义数据源的数据格式,包括装载到数据仓库中存储的表,具有哪些字段及其数据类型,以及值的有效范围等信息。这些信息会作为ETL程序的重要参考内容,有助于对数据质量的把控。
(4)数据模型定义管理,主要作用是管理各个主题域的相关信息,包括事实表、维度表,以及他们之间的关联关系等。数据分析人员在进行具体分析任务时,会根据这部分的信息,来决定使用什么数据和如何使用数据。
(5)主题构建过程管理,这部分的作用是管理事实表、维度表等的构建过程,包括读入什么样的数据源、如何完成数据的转换、如何与维度表关联、决定最终的表结构等,这部分的数据是建模工具要依赖的数据。
(6)业务规范定义管理,这个模块管理的是各种业务指标定义、统计口径设定、特定的业务场景限定条件等,总之是在分析工作过程中需要用到的各种业务知识。
(7)元信息管理,这里的元信息是指元数据中处于基础位置的信息,如公司的产品线、各产品线或业务的通用字段、保留字段等的管理,这部分信息的复用程度非常高,需要单独进行管理。
(8)记录更改历史,这个模块负责把每次元数据的变动都记录下来,方面后续排查数据问题时,查看元数据的变化过程和变化的具体时间点,辅助定位问题。
总结
本文带领大家初步了解了元数据中心的概念、分类、存储的数据内容、在数据仓库体系中的作用和元数据管理系统的构造。希望可以帮助大家加深对元数据中心的理解,并对你的面试和工作有所帮助。