高层架构
架构
简介
Atlas 高层架构概览

Atlas 的组件可以分为以下几大类别:
核心
Atlas 核心包含以下组件:
类型系统:Atlas 允许用户为其希望管理的元数据对象定义一个模型。该模型由称为「类型」的定义组成。类型的实例称为「实体」,代表被管理的实际元数据对象。类型系统是一个允许用户定义和管理类型与实体的组件。Atlas 开箱即用管理的所有元数据对象(例如 Hive 表)都是使用类型建模并以实体形式表示的。若要在 Atlas 中存储新型元数据,需要理解类型系统组件的概念。
有一点需要注意:Atlas 建模的通用性使数据管理员和集成人员既能定义技术元数据,也能定义业务元数据。还可以利用 Atlas 的功能,在两者之间定义丰富的关联关系。
图引擎:在内部,Atlas 使用图模型来持久化其管理的元数据对象。这种方式提供了极大的灵活性,并能高效处理元数据对象之间复杂的关联关系。图引擎组件负责在 Atlas 类型系统的类型、实体与底层图持久化模型之间进行转换。除了管理图对象之外,图引擎还会为元数据对象创建相应的索引,以便高效地进行搜索。Atlas 使用 JanusGraph 来存储元数据对象。
导入/导出:导入组件允许将元数据添加到 Atlas 中。同样,导出组件会将 Atlas 检测到的元数据变更作为事件发出。消费者可以消费这些变更事件,从而实时响应元数据的变化。
集成
用户可以通过两种方式在 Atlas 中管理元数据:
API:Atlas 的所有功能都通过 REST API 暴露给终端用户,可用于创建、更新和删除类型与实体。它也是查询和发现 Atlas 所管理的类型与实体的主要机制。
消息:除了 API 之外,用户还可以选择通过基于 Kafka 的消息接口与 Atlas 集成。这对于向 Atlas 传递元数据对象很有用,同时也可以用于消费 Atlas 发出的元数据变更事件,进而在此基础上构建应用。如果希望与 Atlas 采用松耦合的集成方式,以获得更好的可扩展性、可靠性等,消息接口就特别有用。Atlas 使用 Apache Kafka 作为通知服务器,用于元数据钩子(hook)与元数据通知事件的下游消费者之间的通信。事件由钩子和 Atlas 写入不同的 Kafka 主题(topic)。
元数据来源
Atlas 开箱即用地支持与许多元数据来源集成,未来还将加入更多集成。目前,Atlas 支持从以下来源采集和管理元数据:
这种集成包含两层含义:一是 Atlas 原生定义了用于表示这些组件中对象的元数据模型;二是 Atlas 提供了相应的组件,用于从这些组件中采集元数据对象(实时采集,某些情况下也支持批量采集)。
应用
Atlas 所管理的元数据可供各类应用程序使用,以满足多种数据治理场景的需求。
Atlas 管理界面(Atlas Admin UI):这是一个基于 Web 的应用程序,允许数据管理人员和数据科学家发现并标注元数据。其核心功能是提供一个搜索界面以及一种类 SQL 的查询语言,可用于查询 Atlas 管理的元数据类型和元数据对象。管理界面基于 Atlas 的 REST API 构建各项功能。
基于标签的策略(Tag Based Policies):Apache Ranger 是面向 Hadoop 生态系统的高级安全管理解决方案,与众多 Hadoop 组件实现了广泛集成。通过与 Atlas 集成,Ranger 允许安全管理员定义元数据驱动的安全策略,从而实现有效的数据治理。Ranger 是 Atlas 所发出的元数据变更事件的消费方。
评论
登录后参与评论
KnowForge