Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >揭秘Robinhood扩展和管理PB级规模Lakehouse架构

揭秘Robinhood扩展和管理PB级规模Lakehouse架构

作者头像
ApacheHudi
发布于 2024-04-26 02:44:10
发布于 2024-04-26 02:44:10
2020
举报
文章被收录于专栏:ApacheHudiApacheHudi
在 2023 年开源数据峰会上进行的详细而深入的技术演讲中我们了解了 Apache Hudi 如何支持 Robinhood 数据Lakehouse中的大规模关键流程和治理。

Robinhood 团队成员高级工程师 Balaji Varadarajan 和技术主管 Pritam Dey 描述了他们公司的数据Lakehouse的实现,Robinhood 的数据团队如何基于 Apache Hudi 和相关 OSS 服务来处理数 PB 规模的指数级增长。

关键要点包括分层架构实施的细节;如何应用相同的架构来跟踪元数据并满足相关的 SLA(例如数据新鲜度);以及如何大规模有效地实施 GDPR 合规性和其他数据治理流程。

实施 Robinhood 数据Lakehouse架构

Robinhood 数据 Lakehouse 生态系统支持超过一万个数据源,处理数 PB 数据集,并处理数据新鲜度模式(从近实时流到静态)、数据关键性、流量模式和其他因素方面差异很大的用例。

Robinhood 数据 Lakehouse 从许多不同的来源获取数据:实时应用程序事件和实验流、通过 API 按不同计划提供的第三方数据以及 Postgres 等在线 RDBMS。然后必须将这些数据提供给许多消费者类型和用例,包括高关键性用例(例如欺诈检测和风险评估)以及低关键性用例(例如分析、报告和监控)。

Robinhood 对所有各种用例的支持是建立在多层架构之上的,关键性最高的数据在第 0 层进行处理,后续层用于处理具有较低约束的数据,该 Lakehouse架构满足 Robinhood 的需求

每层中的数据处理都从数据源开始——在本例中 Debezium 正在监视关系数据库服务 (RDS),例如 Postgres。在启动之前会完成一次性引导过程,确保在数据Lakehouse中定义初始目标表和架构 - 预期 Debezium 驱动的变更数据捕获 (CDC) 流。一旦表就位就会启动一个多步骤过程,并在该层的生命周期内保持活动状态:

  • • 数据从任何上游应用程序、API 或其他数据源写入 RDS,可能是实时且大量的。
  • • Debezium 使用众多预定义连接器之一来监视 RDS 并检测数据更改(写入和更新)。然后它将数据更改打包到 CDC 包中,并将其发布到 Kafka 流或主题。
  • • Apache Hudi 的 DeltaStreamer 应用程序实例(由 Spark 提供支持)处理 CDC 包 - 根据需要对它们进行批处理或流式处理。
  • • 作为其操作的副作用,DeltaStreamer 会生成 Hive 架构和元数据更新 - 跟踪数据新鲜度、存储和处理成本、访问控制等。
  • • 处理后,增量数据更新和检查点将写入数据湖对象存储(例如 Amazon S3)。

大规模关键元数据的新鲜度跟踪

以下架构维护了关键的元数据属性(新鲜度)。

用于跟踪数据新鲜度的内部生成的元数据(来自 Debezium 和 Apache Hudi 源)通过上述过程中步骤 2 和 3 中提到的基础设施(即 Debezium + Kafka + DeltaStreamer)进行循环,然后进入到步骤 4。也就是说 Hive 元数据存储会根据 Debezium 状态和 DeltaStreamer 生成的其他新鲜度指标的变化进行更新。

对这种分层架构的支持是建立在 Apache Hudi 的核心功能和 Lakehouse 的其他 OSS 组件的混合之上的。分层架构所依赖的主要功能包括:

  • • 基于元数据区分不同层表的能力,Hudi 通过其存储层抽象支持元数据
  • • 通过 Debezium 连接器隔离实现资源隔离、Hudi RDBMS 功能支持的计算和存储以及 Postgres 对复制槽的支持
  • • 各种 SLA 保证,包括以关键新鲜度为中心的保证,这些保证由 Apache Hudi 内置的各种灵活功能提供支持,例如事务的 ACID 保证、近实时数据摄取、管道中各个点的灵活/增量数据摄取,以及极其高效的下游 ETL 流程
  • • 解耦存储和处理,支持自动扩展,由 Apache Hudi 支持
  • • Apache Hudi 强大的无服务器事务层可跨数据湖使用,支持高级抽象操作,例如写入时复制和读取时合并。

大规模数据治理和 GDPR 合规性

Robinhood 使用其数据湖站的分层架构来解决数据治理和 GDPR 相关要求。

大规模数据治理非常复杂,具有多个目标:

  • • 跟踪数据及其流向
  • • 让 Lakehouse 紧跟新的和不断变化的法规
  • • 维护对数据资产的访问控制和监督
  • • 根据需要混淆和更新个人身份信息 (PII)
  • • 随着时间的推移提高数据质量

Robinhood 通过将 Lakehouse 组织成不同的区域,大规模地实现了这些目标 - Robinhood 的 Lakehouse 存储了 50,000 多个数据集。

区域标签和相关元数据用于跟踪和传播有关整个Lakehouse不同区域的信息。Robinhood 的团队实施了中央元数据服务来支持这些区域。该服务建立在我们上面看到的新鲜度元数据相同的分层架构之上。

而标记是在系统中手动和自动完成的(包括在源代码级别以编程方式),标记创建与模式管理工作位于同一位置。对标签的任何更改都会通过系统中的 Lint 检查以及自动数据分类工具来强制执行、跟踪和监控,这有助于交叉检查标签并检测任何数据泄漏或异常。

高效且可扩展的 PII 掩码和删除

Robinhood 有效实施了 PII 删除操作,这是 GDPR 的“被遗忘权”所必需的——欧洲通用数据保护条例 (GDPR) 和加州消费者法案所要求的隐私法 (CCPA)。

在像 Robinhood 这样庞大而复杂的 Lakehouse 中,很难支持 PII 跟踪和掩码,但这是高效、符合 GDPR 的实施 PII 删除所需的。需要能够根据需要删除整个 PB 级数据湖库中单个用户的所有 PII。这必须快速、高效地完成,并且不能影响其他用户。Varadarajan 解释说,Robinhood 的实现仅依赖于两个(实现起来很棘手)元数据服务:

  • • ID 映射服务,使用唯一的、用户特定的 Lakehouse ID 对系统中的所有用户标识符进行复杂的替换
  • • 掩码到 PII 服务,将 PII 映射到每个用户一致的掩码(关联的映射数据存储在 Lakehouse 的敏感区域中)

这两种元数据(ID 和掩码)在整个 Lakehouse 中得到普遍应用和跟踪。因此,PII 删除操作可以通过标准的 Apachi Hudi 删除操作来实现,该操作高效、快速,并且在整个 Lakehouse 上运行。

"Apache Hudi 是我们数据湖站的核心组件。它使我们能够高效运营、满足 SLA 并实现 GDPR 合规性。" — Balaji Varadarajan,Robinhood 高级工程师, Apache Hudi PMC成员

结论

在 Apache Hudi 驱动、OSS 支持的数据Lakehouse之上构建分层架构的许多好处。具体来说:

  • • 基于 CDC 的分层管道是在 Apache Hudi 之上使用 Debezium 构建的,可有效扩展以支持 10,000 多个数据源,并在指数增长的情况下处理多 PB 数据流
  • • Apache Hudi 和相关 OSS 项目(Debezium、Postgres、Kafka、Spark)支持有效的资源隔离、存储和计算分离以及在数据湖中构建分层处理管道的其他核心技术要求。
  • • 该系统可扩展性良好,因此生产系统可以由团队构建、扩展和管理。
  • • Robinhood 的分层架构具有概括性。除了大规模数据处理之外,它还支持关键元数据用例,例如数据新鲜度、成本管理、访问控制、数据隔离和相关 SLA。
  • • 数据治理和 GDPR 用例得到相同架构的良好支持。
  • • Robinhood 的实施可以轻松支持重要的合规行动(例如删除 PII),并且大规模执行效果良好。

Robinhood Lakehouse 利用其对 Apache Hudi 和相关 OSS 项目的依赖来获得相对于竞争对手的战略优势。他们实施了可靠的数据治理机制,有效且大规模地了解 GDPR 合规性,并且能够处理指数级数据和处理增长。它们还可以支持各种元数据、跟踪和其他 SLA,例如数据新鲜度。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ApacheHudi 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
石头剪刀布:Apache Hudi中的可插拔表格式
作者:Balaji Varadarajan,Apache Hudi PMC成员,开源贡献者和湖仓(Lakehouse)爱好者
ApacheHudi
2025/05/22
620
石头剪刀布:Apache Hudi中的可插拔表格式
万字长文揭秘如何衡量云数据平台 ETL 性价比
由于数千家公司花费了数十亿美元,因此在评估和选择云数据平台(无论是数据湖仓一体还是数据仓库平台)时,性价比[1]至关重要。提取/转换/加载 (ETL) 工作负载占云支出的 50% 以上[2],用于提取、准备数据并将其转换为数据模型(雪花模式、星型模式等),用于下游分析、商业智能、数据科学、机器学习等。无论团队是深度投入还是对云数据平台的成本控制越来越感兴趣,了解 ETL 性价比对于成功都至关重要。
ApacheHudi
2025/05/19
680
万字长文揭秘如何衡量云数据平台 ETL 性价比
Lakehouse 特性对比 | Apache Hudi vs Delta Lake vs Apache Iceberg
随着 Lakehouse 的日益普及,人们对分析和比较作为该数据架构核心的开源项目的兴趣日益浓厚:Apache Hudi、Delta Lake 和 Apache Iceberg。
大数据技术架构
2022/12/01
1.9K0
Lakehouse 特性对比 | Apache Hudi vs Delta Lake vs Apache Iceberg
Uptycs: 构建快如闪电的分析
在 Uptycs,我们的数据平台架构多年来随着几乎所有数据平台的自然发展而发展。最初我们的架构围绕在线事务处理 (OLTP) 数据库 (在我们的例子中主要是 PostgreSQL)展开,用于管理以下类别的数据:
ApacheHudi
2025/04/14
540
Uptycs: 构建快如闪电的分析
Robinhood基于Apache Hudi的下一代数据湖实践
Robinhood 的使命是使所有人的金融民主化。Robinhood 内部不同级别的持续数据分析和数据驱动决策是实现这一使命的基础。我们有各种数据源——OLTP 数据库、事件流和各种第 3 方数据源。需要快速、可靠、安全和以隐私为中心的数据湖摄取服务来支持各种报告、关键业务管道和仪表板。不仅在数据存储规模和查询方面,也在我们在数据湖支持的用例方面,我们从最初的数据湖版本[1]都取得了很大的进展。在这篇博客中,我们将描述如何使用各种开源工具构建基于变更数据捕获的增量摄取,以将我们核心数据集的数据新鲜延迟从 1 天减少到 15 分钟以下。我们还将描述大批量摄取模型中的局限性,以及在大规模操作增量摄取管道时学到的经验教训。
ApacheHudi
2022/04/01
1.5K0
Robinhood基于Apache Hudi的下一代数据湖实践
数据湖 | Apache Hudi 设计与架构最强解读
Apache Hudi(简称:Hudi)允许您在现有的hadoop兼容存储之上存储大量数据,同时提供两种原语,使得除了经典的批处理之外,还可以在数据湖上进行流处理。
王知无-import_bigdata
2020/11/06
3.7K0
数据湖 | Apache Hudi 设计与架构最强解读
Lakehouse 如何重塑企业数据生态?
大数据架构经过多年的演进,传统数据仓库和数据湖的局限性日益凸显。在此背景下,湖仓一体 Lakehouse 凭借其开放性和成本效益,迅速成为当今数据平台的主流架构。然而,随着进入 Data + AI 驱动的新时代,企业对实时数据分析的需求不断增加,对半结构化和非结构化数据的处理也愈显重要。那么,应该如何高效整合多种数据源,实现实时分析与智能决策?
深度学习与Python
2025/03/21
1310
Lakehouse 如何重塑企业数据生态?
降本百万!Notion 基于Apache Hudi构建LakeHouse
这篇博文是由 Notion 数据平台团队的软件工程师 Thomas Chow 和 Nathan Louie 于 2023 年 12 月 13 日发表的题为 Notion's Journey Through Different Stages of Data Scale 的 Hudi 现场活动的简短摘要。下面的视频剪辑给出了Notion 演讲的简短摘要,还可以查看演讲幻灯片[1]或查看完整演讲[2]。
ApacheHudi
2024/03/06
2080
降本百万!Notion 基于Apache Hudi构建LakeHouse
一文聊透开放表格式和开放数据Lakehouse
三个项目 - Apache Hudi、Apache Iceberg 和 Delta Lake - 现在是该领域所有关注和供应商的中心。这些项目对于为数据打造一个开放、适应性强的基础至关重要,使企业能够选择适合其独特工作负载的适当计算引擎,从而避免专有存储格式的限制。但是在这些项目中可以互换使用术语 开放表格式和 开放数据湖仓一体的激增,因此需要澄清和更深入的理解。
ApacheHudi
2024/11/23
2540
一文聊透开放表格式和开放数据Lakehouse
重磅!基于Apache Hudi的商业公司Onehouse成立
Apache Hudi[1](简称“Hudi”)于 2016 年在 Uber 创建,旨在将数据仓库功能引入数据湖以获取准实时的数据,开创了事务数据湖架构,现已在所有垂直行业中进入主流。在过去的 5 年里,围绕该项目已发展出一个丰富多彩的社区[2],并迅速创新。Hudi 为数据湖带来了类似数据仓库及数据库的功能,并使诸如分钟级数据新鲜度、优化存储、自我管理表等新事物直接在数据湖中成为可能。来自世界各地的许多公司都为 Hudi 做出了贡献,该项目在不到两年的时间内增长了 7 倍,每月下载量接近 100 万次。我很荣幸目睹了亚马逊[3]、字节跳动、Disney+ Hotstar[4]、GE Aviation[5]、Robinhood[6]、沃尔玛[7]等更多企业采用并构建基于 Apache Hudi 的 EB (Exabyte) 级数据湖,来支持其关键商业应用。紧跟潮流,我很高兴能在这里分享过去几个月我们利用 Hudi 正在构建的公司和产品 - Onehouse。为了启动我们的征程,我们获得了 Greylock Ventures 和 Addition 的 8 百万美元的种子轮投资——这些投资公司在培育企业数据初创公司方面拥有出色的业绩记录和丰富的经验。以下是我们的旅程故事和对未来的愿景。
ApacheHudi
2022/02/08
7200
Apache Hudi在腾讯的落地与应用
Apache Hudi是一个基于数据库内核的流式数据湖平台,支持流式工作负载,事务,并发控制,Schema演进与约束;同时支持Spark/Presto/Trino/HIve等生态对接,在数据库内核侧支持可插拔索引的更新,删除,同时会自动管理文件大小,数据Clustering,Compaction,Cleanning等
ApacheHudi
2022/12/09
1.9K1
Apache Hudi在腾讯的落地与应用
通用数据湖仓一体架构正当时
这篇博文中提出的建议并不新鲜。事实上许多组织已经投入了数年时间和昂贵的数据工程团队的工作,以慢慢构建这种架构的某个版本。我知道这一点,因为我以前在Uber和LinkedIn做过这样的工程师。我还与数百个组织合作,在开源社区中构建它并朝着类似的目标迈进。
ApacheHudi
2024/01/17
3320
通用数据湖仓一体架构正当时
数据仓库与数据湖与湖仓一体:概述及比较
随着越来越多的公司依靠数据来推动关键业务决策、改进产品供应并更好地服务客户,公司捕获的数据量比以往任何时候都多。Domo 的这项研究估计,2017 年每天会生成 2.5 百亿字节的数据,到 2025 年,这一数字将增加到 463 艾字节。但如果公司不能快速利用这些数据,那么这些数据又有什么用呢?针对数据分析需求的最佳数据存储这一话题长期以来一直存在争议。
大数据杂货铺
2024/04/15
5.1K0
数据仓库与数据湖与湖仓一体:概述及比较
Lakehouse架构指南
你曾经是否有构建一个开源数据湖[1]来存储数据以进行分析需求?数据湖包括哪些组件和功能?
ApacheHudi
2022/12/09
2.2K0
Lakehouse架构指南
降本增效!Notion数据湖构建和扩展之路
在过去三年中,由于用户和内容的增长,Notion 的数据增长了 10 倍,以 6-12 个月的速度翻了一番。要管理这种快速增长,同时满足关键产品和分析用例不断增长的数据需求,尤其是我们最近的 Notion AI 功能,意味着构建和扩展 Notion 的数据湖。以下来介绍我们是如何做到的。
ApacheHudi
2024/07/26
2730
降本增效!Notion数据湖构建和扩展之路
沃尔玛基于 Apache Hudi 构建 Lakehouse
开源数据峰会上最有趣的会议之一是三级数据工程师 Ankur Ranjan 和高级数据工程师 Ayush Bijawat 的演讲,介绍他们在领先零售商沃尔玛中使用 Apache Hudi。
ApacheHudi
2024/03/18
1510
沃尔玛基于 Apache Hudi 构建 Lakehouse
LakeHouse 还是 Warehouse?(1/2)
Onehouse 创始人/首席执行官 Vinoth Chandar 于 2022 年 3 月在奥斯汀数据委员会[1]发表了这一重要演讲。奥斯汀数据委员会是“世界上最大的独立全栈数据会议”,这是一个由社区驱动的活动,包括数据科学、数据工程、分析、机器学习 (ML)、人工智能 (AI) 等。
ApacheHudi
2024/01/23
1980
LakeHouse 还是 Warehouse?(1/2)
加速 Lakehouse 表性能完整指南
数据Lakehouse的概念是由 Uber 的一个团队于 2016 年首创,当时该团队试图解决存储大量大容量更新插入数据的问题。该项目最终成为Apache Hudi[1] ,然后被描述为“事务数据湖”。随着时间的推移,其他组织创建了项目来解耦昂贵的数据仓库计算和存储,利用基于云对象的系统将数据存储为文件。这些项目成为Apache Iceberg[2] (诞生于 Netflix)和 Linux 基金会的Delta Lake[3] (诞生于 Databricks),最终融合为“数据Lakehouse”的术语。
ApacheHudi
2025/01/20
1160
加速 Lakehouse 表性能完整指南
基于 Apache Hudi + dbt 构建开放的Lakehouse
本博客的重点展示如何利用增量数据处理和执行字段级更新来构建一个开放式 Lakehouse。我们很高兴地宣布,用户现在可以使用 Apache Hudi + dbt 来构建开放Lakehouse。
ApacheHudi
2022/12/09
1.3K0
基于 Apache Hudi + dbt 构建开放的Lakehouse
Uber 基于Apache Hudi的超级数据基础设施
Uber 是一个全球品牌,在全球 10,000 多个城市运营。该公司运营规模庞大,每月为超过 1.37 亿用户提供服务,每天为 2500 万次出行提供服务。数据驱动——乘客、司机和企业经营者采取的每一个行动。在如此规模的数据中,将所有这些活动的原始数据转化为业务洞察的技术挑战尤其困难,尤其是以高效且可靠的方式做到这一点。
ApacheHudi
2024/03/25
2160
Uber 基于Apache Hudi的超级数据基础设施
相关推荐
石头剪刀布:Apache Hudi中的可插拔表格式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档