当前位置:网站首页>Data Governance (5): Metadata Management

Data Governance (5): Metadata Management

2022-08-10 03:04:00 InfoQ

​元数据管理

一、大数据中为什么要元数据管理

元数据(Metadata),通常的定义为"描述数据的数据".元数据打通了源数据、数据仓库、数据应用,记录了数据从产生到消费的全过程.元数据管理是数据治理的核心.
数据的真正价值在于数据驱动决策,通过数据指导运营.通过数据驱动的方法判断趋势,帮住我们发现问题,继而推动创新或产生新的解决方案.随着企业数据爆发式增长,数据体量越来越难以估量,我们很难说清楚我们到底拥有哪些数据,这些数据从哪里来,到哪里去,发生了什么变化,应该如何使用它们.因此数据治理中的元数据管理成为企业级不可或缺的重要组成部分.元数据治理可以提供数据源管理、分析数据血缘关系、分析数据影响等,实现对复杂的数据环境监控管理,为企业提供安全可信的数据,为数据仓库的运行与维护提供有效支撑.
简单来说,数据是公司中非常有价值的资产,这些数据包含各种数据源,各种业务,各种处理层次,对于这些资产需要有序、高效、统一的管理,这就需要一个元数据管理系统,元数据管理是数据治理中非常重要的一个核心,元数据的一致性、可追溯性是实现数据治理非常重要的一个环节.

二、元数据管理工具-Atlas

在大数据时代,目前最成熟的与Hadoop体系兼容比较好的元数据治理平台就是Apache Atlas.为寻求数据治理的开源解决方案,2015年,Hortonworks公司联合其他厂商与用户于发起数据治理倡议,然后,包含数据分类(资产目录及数据字典)、集中策略引擎、数据血缘、安全和生命周期管理功能的Atlas应运而生.
Apache Atlas是一个可伸缩和可扩展的核心基础治理服务集合,使企业能够有效地和高效地满足 Hadoop 中的合规性要求,并允许与整个企业数据生态系统的集成.为组织提供开放式元数据管理和治理功能,用以构建其数据资产目录,对这些资产进行分类和管理,并为数据科学家,数据分析师和数据治理团队提供围绕这些数据资产的协作功能.
Atlas官网地址:
Apache Atlas – Data Governance and Metadata framework for Hadoop

三、Atlas架构原理

关于Atlas的架构原理,我们只需要了解由哪些部分组成即可,Atlas的架构核心组件如下:

null
  • Metadata Sources:
  • Atlas支持与许多元数据源的集成,将来还会添加更多集成.目前,Atlas 支持从Hive、Sqoop、Storm、HBase获取和管理元数据.
  • Integration:
  • 用户可以使用两种方法管理 Atlas 中的元数据:
  • API
    :Atlas 的所有功能都可以通过 REST API 提供给最终用户,允许创建,更新和删除类型和实体.它也是查询和发现通过 Atlas 管理的类型和实体的主要方法.
  • Messaging
    :除了 API 之外,用户还可以选择使用基于 Kafka 的消息接口与 Atlas 集成.这对于将元数据对象传输到 Atlas 以及从 Atlas 使用可以构建应用程序的元数据更改事件都非常有用.如果希望使用与 Atlas 更松散耦合的集成,这可以允许更好的可扩展性,可靠性等,消息传递接口是特别有用的.
  • Apps:
  • Ranger Tag Based Policies:
     Apache Ranger 是针对 Hadoop 生态系统的高级安全管理解决方案,与各种 Hadoop 组件具有广泛的集成.通过与 Atlas 集成,Ranger 允许安全管理员定义元数据驱动的安全策略,以实现有效的治理.
  • Atlas Admin UI:
     该组件是一个基于 Web 的应用程序,允许我们发现和注释元数据.Admin UI提供了搜索界面和 类SQL的查询语言,可以用来查询由 Atlas 管理的元数据类型和对象.Admin UI 使用 Atlas 的 REST API 来构建其功能.
  • Business Taxonomy:
    从元数据源获取到 Atlas 的元数据对象主要是一种技术形式的元数据.为了增强可发现性和治理能力,Atlas 提供了一个业务分类界面,允许用户首先定义一组代表其业务域的业务术语,并将其与 Atlas 管理的元数据实体相关联.业务分类法是一种 Web 应用程序,目前是 Atlas Admin UI 的一部分,并且使用 REST API 与 Atlas 集成.
  • Core:
  • Atlas Core包含以下几个部分:
  • Ingest/Export
    :Ingest 组件允许将元数据添加到 Atlas.类似地,Export 组件暴露由Atlas检测到的元数据更改,以作为事件引发,消费者可以使用这些更改事件来实时响应元数据更改.
  • Type System
    : Atlas 允许用户为他们想要管理的元数据对象定义一个模型.该模型由称为 "Type" 的定义组成."类型" 的 实例被称为 "实体" 表示被管理的实际元数据对象.类型系统是一个组件,允许用户定义和管理类型和实体.由 Atlas 管理的所有元数据对象(例如Hive表)都使用类型进行建模,并表示为实体.
  • Graph Engine:
    在内部,Atlas通过使用图模型管理元数据对象.以实现元数据对象之间的巨大灵活性和丰富的关系.图引擎是负责在类型系统的类型和实体之间进行转换的组件,以及基础图形模型.除了管理图对象之外,图引擎还为元数据对象创建适当的索引,以便有效地搜索它们.
  • JanusGraph:
    目前,Atlas 使用 JanusGraph图数据库来存储元数据对象. JanusGraph使用两个存储:默认情况下元数据存储配置为 HBase ,索引存储配置为 Solr

四、Atlas特性

1、元数据类型 & 实例

  • 各种Hadoop和非Hadoop元数据的预定义类型.
  • 能够为要管理的元数据定义新类型.
  • 类型可以具有原始属性,复杂属性,对象引用;可以继承其他类型.
  • 类型(type)实例(称为实体entities)捕获元数据对象详细信息及其关系.
  • 可以更轻松地进行集成用于处理类型和实例的REST API.

2、分类

  • 能够动态创建分类 - 如PII,EXPIRES_ON,DATA_QUALITY,SENSITIVE.
  • 分类可以包含属性 - 例如EXPIRES_ON分类中的expiry_date属性.
  • 实体(entities)可以与多个分类(classifications)相关联,从而实现更轻松的发现和安全实施.
  • 通过血缘传播分类 - 自动确保分类在进行各种处理时遵循数据.

3、血缘

  • 直观的UI,用于在数据流转时,通过各种流程时查看数据.
  • 用于访问和更新血缘的REST API.

4、搜索/发现

  • 直观的UI,按类型(type),分类(classification),属性值(attribute)或自由文本搜索实体.
  • 丰富的REST API,可按复杂条件进行搜索.
  • SQL搜索实体的查询语言 - 域特定语言(DSL).

5、安全和数据屏蔽

  • 用于元数据访问的细粒度安全性,实现对实体实例的访问控制以及添加/更新/删除分类等操作.
  • 与Apache Ranger集成可根据与Apache Atlas中的实体相关的分类对数据访问进行授权/数据屏蔽.例如:
  • 谁可以访问分类为PII,SENSITIVE的数据.
  • 客户服务用户只能看到分类为NATIONAL_ID的列的最后4位数字.
原网站

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/222/202208100150473520.html