Metis:建立Airbnb 下一代数据管理平台(译文-来源:Airbnb)

METIS 平台 2023-12-26 75

摘要:元数据管理服务UMS集中管理一些关键的业务元数据,并存储在自己的具有管理功能的元数据数据库中:更新的验证和授权审计历史关键元数据敏感操作的审批工作流程支持离线生成元数据的在线用例作为Airbnb数据质量计划的一部分,我们实施了与数据仓库中每个数据资产直接相关的数据质量评分。...

Airbnb 如何将我们的数据目录发展成为一个用于大规模管理和治理我们的数据仓库的平台。

Metis:建立Airbnb 下一代数据管理平台(译文-来源:Airbnb)

介绍

在爱彼迎,数百万数据资产存在于复杂的生态系统中,为我们的业务提供信息并改进我们的产品。数据管理团队的使命是使公司能够大规模管理其数据生态系统

为此,我们需要准确了解我们生态系统中的所有资产以及它们之间的相互关系。换句话说,它需要准确的元数据。我们的数据管理平台 Metis 以希腊忠告女神的名字命名,是我们确保可以大规模捕获管理使用可信赖的元数据的解决方案。

出身卑微

Metis 是我们现有的 Airbnb 元数据产品基础的演变。

Dataportal是我们实现数据民主化的第一项努力:成功地使数据用户能够找到可信数据。这极大地提高了生产力,并且远远领先于它的时代。

随着数据可靠性和合规性法规变得越来越重要,我们需要更全面、更详细地了解数据是如何转换的。这导致我们采用Apache Atlas作为我们的数据沿袭解决方案。Apache Atlas 为 SLA Tracker(请参阅在 Airbnb 可视化数据时效性)等产品提供支持,它结合了着陆时间元数据和沿袭以启用调试上游数据延迟。

随着我们对元数据的需求增加,扩展到成本管理、数据质量等更多领域,我们对数据目录的需求也扩大了:

  • 能够管理描述它的数据和元数据
  • 提高数据质量的护栏和建议
  • 数据集历史的可审计性,用于调试和治理目的

我们很快了解到,数据管理必须作为一门学科来追求,因此将 Metis 打造为访问所有数据元数据的一站式商店。

我们建造了什么

Metis 由三个核心产品组成:Dataportal、Unified Metadata Service (UMS) 和 Lineage Service。 总之,这个平台允许 Airbnb 管理多个领域的数百万数据资产。我们支持的一小部分资产包括:

  • Apache Hive和 Trino 数据集
  • 指标和维度,由Airbnb 的指标平台提供支持:Minerva
  • 来自Apache Superset和 Tableau® 的图表和仪表板
  • 数据模型,包括经 Midas 认证的模型
  • 机器学习功能和模型
  • Airbnb 的团队和员工(从技术上讲不是数据资产,而是支持高质量所有权并确保上述所有数据资产的元数据保持最新的关键)

梅蒂斯建筑

Metis:建立Airbnb 下一代数据管理平台(译文-来源:Airbnb)

梅蒂斯建筑

在高层次上,Metis 由以下组件组成:

数据门户——作为人类用户的目录和管理 UI。

Viaduct — Airbnb 的内部 GraphQL API 层建模离线数据生态系统。

UMS Core 服务——一种后端服务,包含元数据管理所需的系统架构和业务逻辑。

元数据存储

  • MySQL——主要存储需要集中管理的关键元数据
  • Lineage Graph——一种收集和服务数据沿袭的集中式服务
  • Elasticsearch — 服务于搜索和发现用例

离线组件——UMS 核心服务的外部,用于执行离线任务:例如离线元数据一致性检查、策略执行。

离线数据集——为分析用例离线导出元数据。

数据门户

Dataportal 用作 Airbnb 数据目录的 UI,是人们查找和管理 Metis 支持的所有资产的地方。它是使用 React 和 TypeScript 构建的单页应用程序,因此足够灵活,可以服务于数据管理和治理所需的各种工作流。前端通过 GraphQL API 与 UMS 和其他服务通信;这一点尤其重要,因为我们要防止顺序获取沿袭信息和过度获取大量元数据以确保高性能的用户体验。

搜索和发现

Dataportal 体验从搜索开始,这样数据消费者和数据所有者都可以找到他们需要的资产。 我们在设计搜索和发现体验时考虑了以下几个原则:

  • 直接在搜索结果中显示相关元数据,帮助人们找到他们正在寻找的确切资产
  • 在用户不知道他们需要的确切资产的情况下,提升高质量和常用的数据资产

因此,搜索结果往往会返回高质量的、经过认证的数据集,以及描述、最近的用户数量和上次修改的时间,以帮助用户找到他们想要选择的资产:

Metis:建立Airbnb 下一代数据管理平台(译文-来源:Airbnb)

数据门户搜索结果页面

管理能力

一旦找到所需的资产,用户就可以访问实体页面以执行各种消费、管理和治理操作。我们将实体页面上的所有内容组织成按数据或操作类别分组的选项卡:

Metis:建立Airbnb 下一代数据管理平台(译文-来源:Airbnb)

Hive 表上的元数据可用的许多选项卡

与消费和文档相关的选项卡使人们可以轻松了解如何使用此表,配置选项卡中包含列和表说明,联系点选项卡中包含所有者和消费者数据,以及有关如何使用该表的更多详细信息文档选项卡。除此之外,这些页面还允许用户进行管理活动,如下面的屏幕截图所示:

Metis:建立Airbnb 下一代数据管理平台(译文-来源:Airbnb)

任何人都可以标记包含个人数据的列。更改和删除标签需要进行审查,以确保在我们的仓库中正确识别个人数据。

上面的屏幕截图仅突出显示了我们将数据门户从可搜索数据目录升级到一个集中位置以管理和管理所有数据资产的方法的一个子集。

统一元数据服务

统一元数据服务 (UMS) 是我们集中式数据管理平台的后端核心。它提供:

  • 集中式模式和位于其之上的 Graphql API 层,用于访问元数据
  • 连接孤立元数据的集中式关系图
  • 集中的元数据管理功能使系统能够满足合规性和治理要求,而无需重新发明轮子

将元数据集中到 UMS 中可以防止所有元数据提供者和消费者需要相互集成;相反,所有提供者和消费者只需要与 UMS 集成:

Metis:建立Airbnb 下一代数据管理平台(译文-来源:Airbnb)

减少元数据的集成点

元数据集成模式

UMS 在元数据集成和用例中扮演着各种角色。在去中心化的数据生态系统中,我们对哪些元数据应该存储、复制到或通过 UMS 提供非常有意见。

统一表示层代理请求

UMS 支持将读取请求代理到许多数据系统。这包括将读取请求代理到:

  • 用于表架构和表属性的 Hive Metastore。
  • 原始 Hive 表数据沿袭的沿袭服务。
  • 用于数据集的数据治理状态的数据治理服务。

元数据管理服务

UMS集中管理一些关键的业务元数据,并存储在自己的具有管理功能的元数据数据库中:

  • 更新的验证和授权
  • 审计历史
  • 关键元数据敏感操作的审批工作流程

支持离线生成元数据的在线用例

作为 Airbnb数据质量计划的一部分,我们实施了与数据仓库中每个数据资产直接相关的数据质量评分。数据集的数据质量分数以离线方式生成,并被提取到 UMS 元数据数据库中以供在线使用。

集中管理的搜​索索引支持数据发现

与传统的数据目录类似,UMS 在 Elasticsearch 集群中集中管理不同实体的索引,以支持数据发现。

元数据摄取

在某些情况下,需要将元数据存储或复制到 Metis 存储层中。UMS 以各种铺平的机制与元数据提供商集成,以利用 Airbnb 的技术堆栈获取元数据。这些包括:

  • 流处理 (Flink) 作业摄取元数据更改事件。
  • 每天运行的 ETL(气流)作业从元数据提供程序中提取并推送到 UMS。
  • 直接调用 UMS API。

当我们加入新的元数据提供商时,涉及的关键工作是确定产品需求并调整元数据集成的范围,然后最终确定实际的集成机制。

血统服务

Metis 的最后一个主要部分是我们的 Lineage Service。早在 2020 年,我们就采用 Apache Atlas 作为 Airbnb 的数据仓库数据沿袭解决方案。

在 Airbnb,Apache Atlas 拥有一个包含超过 1 亿个节点和 3 亿条边的大型谱系图。主要的沿袭数据来自生产 Hive 表和我们数据仓库中的大量中间 Hive 表。

我们对 Apache Atlas 进行了广泛的定制和调整,以处理我们数据仓库中的大规模沿袭事件:

  • 对沿袭事件应用分片策略以增加并行性。
  • 在图形数据库之上提高 Atlas 服务器代码效率。
  • 微调支持图形数据库的底层存储系统以实现可扩展性和延迟。
  • 读取路径优化和过滤支持,以更有效地访问沿袭数据。

Atlas 的谱系相关组件,包括其图形引擎 (JanusGraph)、类型系统、Ingest(带有 Hook 集成)和谱系 API,使我们能够高效地收集和提供谱系数据,为各种数据资产和数据之间的关系提供有价值的见解。管道。它为许多关键数据合规性、数据可靠性和数据质量产品提供支持。请参阅在 Airbnb 可视化数据时效性。

结论与赞赏

如上所示,Airbnb 的数据管理方法在过去 6 年中发生了显着变化。我们开始构建Dataportal 的目标是在 Airbnb 实现“数据民主化”,现在我们有了 Metis:一个让 Airbnb 的任何人都能搜索、发现、使用和管理我们离线仓库中的所有数据和元数据的平台。Metis 一直在数据合规性、数据可靠性、数据质量计划方面发挥关键作用,每周帮助 1000 多名数据用户。

我们未来的工作将涉及两个关键优先事项:首先,我们将专注于发展我们的系统架构和底层技术,以跟上我们数据生态系统的快速发展。其次,我们计划将我们的覆盖范围扩大到更多系统并启用更高级的数据管理功能,这反映了我们在 Airbnb 对数据投资的持续承诺。

没有数据管理团队的成员以及我们的跨职能和跨组织合作者,就不可能有 Metis。他们包括但不限于:Adam Kocoloski、Adam Wong、Cindy Yu、Dave Nagle、Erik Ritter、Jerry Wang、叶嘉欣、John Bodley、Jyoti Wadhwani、Liyin Tang、Michelle Thomas、Nathan Towery、Paul Ellwood、Sylvia Tomiyama 、Vyl Chiang、Woody Zhou、Xiaobin Zheng 和 Zuzana Vejrazkova。

Apache Airflow、Apache Atlas、Apache Hive、Apache Superset、Atlas 和 Hive 是 Apache Software Foundation 在美国和其他国家/地区的注册商标或商标。

所有商标、服务标志、公司名称和产品名称均为其各自所有者的财产。对这些的任何使用仅用于识别目的,并不意味着赞助和认可。

作者: Erik Ritter、叶佳欣、Sylvia Tomiyama、Woody Zhou、郑晓斌、Zuzana Vejrazkova

出处
:https://medium.com/airbnb-engineering/metis-building-airbnbs-next-generation-data-management-platform-d2c5219edf19

相关推荐