科技资讯

Metis:构建Airbnb 的下一代数据管理平台(译文-来自:Airbnb)

发布日期:2023-07-08    点击次数:60

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

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

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

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

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

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

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

能够管理描述它的数据和元数据提高数据质量的护栏和建议数据集历史的可审计性,用于调试和治理目的我们很快了解到,数据管理必须作为一门学科来追求,因此将Metis打造为访问所有数据元数据的一站式商店。

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

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

梅蒂斯建筑

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

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

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

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

元数据存储:

MySQL——主要存储需要集中管理的关键元数据LineageGraph——一种收集和服务数据沿袭的集中式服务Elasticsearch—服务于搜索和发现用例离线组件——UMS核心服务的外部,用于执行离线任务:例如离线元数据一致性检查、策略执行。

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

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

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

直接在搜索结果中显示相关元数据,帮助人们找到他们正在寻找的确切资产在用户不知道他们需要的确切资产的情况下,提升高质量和常用的数据资产因此,搜索结果往往会返回高质量的、经过认证的数据集,以及描述、最近的用户数量和上次修改的时间,以帮助用户找到他们想要选择的资产:

数据门户搜索结果页面

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

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

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

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

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

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

集中式模式和位于其之上的GraphqlAPI层,用于访问元数据连接孤立元数据的集中式关系图集中的元数据管理功能使系统能够满足合规性和治理要求,而无需重新发明轮子将元数据集中到UMS中可以防止所有元数据提供者和消费者需要相互集成;相反,所有提供者和消费者只需要与UMS集成:

减少元数据的集成点

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

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

用于表架构和表属性的HiveMetastore。原始Hive表数据沿袭的沿袭服务。用于数据集的数据治理状态的数据治理服务。元数据管理服务UMS集中管理一些关键的业务元数据,并存储在自己的具有管理功能的元数据数据库中:

更新的验证和授权审计历史关键元数据敏感操作的审批工作流程支持离线生成元数据的在线用例作为Airbnb数据质量计划的一部分,我们实施了与数据仓库中每个数据资产直接相关的数据质量评分。数据集的数据质量分数以离线方式生成,并被提取到UMS元数据数据库中以供在线使用。

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

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

流处理(Flink)作业摄取元数据更改事件。每天运行的ETL(气流)作业从元数据提供程序中提取并推送到UMS。直接调用UMSAPI。当我们加入新的元数据提供商时,涉及的关键工作是确定产品需求并调整元数据集成的范围,然后最终确定实际的集成机制。

血统服务Metis的最后一个主要部分是我们的LineageService。早在2020年,我们就采用ApacheAtlas作为Airbnb的数据仓库数据沿袭解决方案。

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

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

对沿袭事件应用分片策略以增加并行性。在图形数据库之上提高Atlas服务器代码效率。微调支持图形数据库的底层存储系统以实现可扩展性和延迟。读取路径优化和过滤支持,以更有效地访问沿袭数据。Atlas的谱系相关组件,包括其图形引擎(JanusGraph)、类型系统、Ingest(带有Hook集成)和谱系API,使我们能够高效地收集和提供谱系数据,为各种数据资产和数据之间的关系提供有价值的见解。管道。它为许多关键数据合规性、数据可靠性和数据质量产品提供支持。请参阅在Airbnb可视化数据时效性。

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

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

没有数据管理团队的成员以及我们的跨职能和跨组织合作者,就不可能有Metis。他们包括但不限于:AdamKocoloski、AdamWong、CindyYu、DaveNagle、ErikRitter、JerryWang、叶嘉欣、JohnBodley、JyotiWadhwani、LiyinTang、MichelleThomas、NathanTowery、PaulEllwood、SylviaTomiyama、VylChiang、WoodyZhou、XiaobinZheng和ZuzanaVejrazkova。

ApacheAirflow、ApacheAtlas、ApacheHive、ApacheSuperset、Atlas和Hive是ApacheSoftwareFoundation在美国和其他国家/地区的注册商标或商标。

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



上一篇:如何利用物联网优化农业实践?
下一篇:C语言关键字之const和volatile