元数据产品调研
💡 思考可以构成一座桥,让我们通向新知识。—— 普朗克
一、什么是元数据
-
元数据是关于数据的数据,是为了描述数据的相关信息而存在的数据。
-
元数据是用数据管理数据,是快速查找数据、精确定位数据、准确理解数据和有效使用数据的关键。元数据管理还须符合数据标准、较高的数据质量、数据安全、数据共享、合理顺滑管理流程。在存储、计算和人力成本合理可控、可管理的前提下,使数据价值得到最大发挥,是数据全生命周期管理重要组成部分,是提升数据价值发挥的前提,是数据治理的基石。
-
除此以外,在数据仓库体系中,元数据代表了一种统计数据从元数据、数据仓库到数据应用的全链路信息,记录了统计数据从产生到展示的全部过程。可以说,有了元数据,开发人员便可以方便的找到统计数据背后的计算逻辑与过程,用于指导开发工作并追踪数据问题,可以极大的提升工作的效率。
企业业务多样、产品纷繁复杂,在各类系统和应用中形成了大量的数据。有了元数据,我们就可以了解企业拥有什么数据,数据表示什么、数据来自何处、它如何在系统中流转等等,进行元数据管理、构建元数据应用,如业务术语、数据标准、数据字典、数据资产目录、数据血缘分析、数据地图等。
二、元数据的分类
元数据按照其描述对象的不同可以大致分为两大类,分别是“技术元数据”和“业务元数据”。
-
技术元数据
技术元数据主要是描述系统中技术领域的相关概念信息,包括数据结构、数据处理方面的特征描述,以及数据源接口、数据仓库、数据集市、存储等全面数据处理环节的信息。这类元数据主要被系统建设的技术人员使用。主要有以下几类类型,如图所示:
-
业务元数据
业务元数据主要用来描述记录在系统中业务的相关概念等信息,包括业务术语、信息分类、指标定义、业务规则等内容。它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据。这类元数据主要的使用者是业务人员和公司决策人员,主要有以下几种类型,如图所示:
三、为什么要调研元数据产品
数据仓库的元数据,是对数据仓库所有环节(数据源、集成同步、存储、计算、数据管理、数据应用等等)沉淀下来的数据的描述性信息和过程日志信息,我们梳理数据资产、查找和使用数据、评估数据质量、了解数仓健康状况、成本治理等等都会首先从数仓元数据入手。
-
帮助快速理解数仓系统
数据仓库对于公司来说有着重要的价值,其开发时间冗长,中间不可避免的会产生人员流动,如果没有元数据,就只能靠文档来了解数仓系统,但是文档毕竟是人工维护的,其实时性、准确性、全面性等都得不到很好的保障,所以对于人员流动带来的熟悉成本就非常高,新来的员工无法快速了解数仓系统,也无法尽快进入到实际开发当中; 此外,数据仓库做为整个部门、公司的分析数据出口,并不仅仅服务于数据开发人员,集团高管、业务人员、运营人员、数据分析师、运维人员等都可能使用到数据仓库的数据,如果有清楚的元数据来说明数仓系统,例如数仓里有哪些项目、有多少张表、这些表是如何分层的、存储的数据有多大、哪些流程占用的存储最多、占用存储的趋势、如何找到所需要的数据、数据何时产出、哪些表被使用的次数最多、跑完一个流程所用的时间变化等信息,就会让使用者快速了解数仓的全貌。
-
自动化监控告警
我们根据对元数据的分析,可以自动化地获取数据源元数据、数仓运行状况、ETL 运行日志、评估模型和 ETL 代码的规范度、识别源数据变更、监控存储和计算资源的负载等等,以便第一时间发现问题、触发告警、解决问题。
-
高效精准沟通
一方面,数据使用者不可能像数据仓库系统管理员或开发人员那样熟悉数据库技术,因此迫切需要有一个“翻译”,能够使他们清晰地理解数据仓库中数据的含意。元数据可以实现业务模型与数据模型之间的映射,因而可以把数据以使用者需要的方式“翻译”出来,从而帮助用户理解和使用数据。可以根据业务元数据,确认彼此沟通的指标、维度含义。从而在根源上避免交流的歧义,进而提高沟通效率。
另一方面,元数据中的管理元数据会记录不同用户、角色、部门的数据权限。如果有数据需要进行通知,则可以快速查询系统进行群发邮件等方式进行沟通,从而避免了造成沟通环节的缺人和多人情况发生。
-
快速分析变更影响
在开发中,我们经常会遇到以下问题:如果要改动某个表或 ETL任务会对哪些业务造成影响?如果要调整某个任务流的调度时间又会造成怎样的影响?如果没有元数据,那我们可能需要遍历所有的脚本和数据才能得到想要的答案,而如果有成熟的元数据管理,那我们就可以快速评估影响,判断当前更改是否合理,节省大量时间、规避不必要的风险。
-
进行血缘分析
向上、向下表级、字段级别的追溯数据,能清晰展现数据加工处理逻辑脉络,快速定位数据异常字段影响范围,准确圈定最小范围数据回溯,降低了理解数据和解决数据问题的成本。在元数据管理系统成型后,我们便可以通过血缘分析来对数据仓库中的数据健康、数据分布、集中度、数据热度等进行分析。
-
快速定位问题
依托于数据血缘,在发生问题时,可以快速排查上游依赖任务,找到问题根源、评估当前问题对下游任务的影响、快速找到对应开发人员,使排查问题的时间大幅缩减。
-
数据安全审计
数据安全审计是出于数据安全、隐私、或者法律政策考虑,在数仓中什么数据应该存,或者怎么存都会有一定的要求或者标准,有了元数据就可以找到不符合安全标准的数据,进行监管。例如手机号、家庭住址、用户登录密码、身份证号等敏感信息,在数仓中都不应当以明文形式出现
-
为未来做好准备
大数据、人工智能、数据湖、数据中台、商业智能等企业的战略级应用系统能够依赖良好的元数据管理而发挥出其应有的效果。
四、业界的元数据产品对比
-
Apache Atlas
开源地址:https://github.com/apache/atlas 1.5K star
Atlas最早由大数据平台三驾马车(Cloudera,Hortonworks,MapR)之一HortonWorks公司开发,用来管理Hadoop项目里面的元数据,进而设计为数据治理的框架,它为Hadoop集群提供了包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理在内的元数据治理核心能力。后来开源出来给Apache社区进行孵化,得到Aetna,Merck,Target,SAS,IBM等公司的支持进行发展演进。因其支持横向海量扩展、良好的集成能力和开源的特点,国内大部分厂家选择使用Atlas或对其进行二次开发。
Atlas的优点:
-
大厂开源,深度集成Hadoop生态中的Hive,支持表级、字段级血缘
-
与HDP原生集成,支持对接Ranger实现行列级数据权限管控
-
强大的元数据模型,支持元数据定制及扩展
-
扩展性好,国内有大量平台基于Atlas定制修改为商用产品
Atlas的不足:
-
产品功能更聚焦于解决技术人员的问题,而非业务人员
-
官方没有对Spark的支持