速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

扩展 Uber 批处理数据平台,利用数据网格原则开启云端之旅

作者:Claudio Masolo

  • 2024-10-25
    北京
  • 本文字数:1555 字

    阅读完需:约 5 分钟

大小:784.73K时长:04:27
扩展Uber批处理数据平台,利用数据网格原则开启云端之旅

几个月前,Uber开始将其批处理数据分析和机器学习平台迁移到了谷歌云平台(GCP)上。最近,Uber 在其工程博客上发布了一篇文章,提供了更多将批处理数据平台迁移上云的信息,其中包含至关重要的数据网格原则

 

Uber 的批处理数据平台是其数据基础设施的重要组成部分,有 1 万多名内部用户,其中包括数据科学家、工程师、城市运营人员和业务分析师。该系统管理着约 1.5 艾字节的数据(存储在Apache Hadoop分布式文件系统HDFS中),跨两个本地区域,每天处理超过 50 万次Presto查询和 37 万Apache Spark应用。为了提高可扩展性并简化运营,Uber 将其批处理数据平台迁移到了谷歌云 GCP。在本次迁移中,他们将谷歌云存储(GCS)作为 Uber 的数据湖,同时将其他基础设施迁移到基于云的基础设施即服务(IaaS)上。

 

在迁移上云的过程中,他们遇到了一些挑战,这主要是因为云提供商对于存储和身份与访问管理(IAM)有一些限制。Uber 主要考虑的问题之一是如何将 HDFS 文件有效地映射到 GCS 存储桶,同时又避免过度使用或未充分利用可用的资源。此外,Uber 必须在多级存储结构中适当应用访问控制,以确保系统安全,同时又避免不必要地提升用户权限。这次迁移也提供了一个机会,让他们可以通过合并安全组和分散数据所有权来增强系统。在新模式下,属于特定组织的数据将存储在特定组织的存储桶中,数据所有权和访问控制变得更清晰。

 

在整个迁移过程中,安全和治理一直都是核心问题。他们的目标是根据数据的预期用途和生命周期来映射数据,并对其进行分类,以保证可以应用恰当的访问控制。组织内部广泛使用的关键数据集存储在开放访问的专用数据桶中,而不太重要的数据则单独存储,并施加访问限制和生命周期管理策略。此外,迁移还实现了基础设施的自动设置,可以加快测试、准生产和生产环境的准备。这种自动化有助于加快新数据分析用例的应用,并利用多个区域为灾难恢复场景做好了准备。

 

为了推动这一巨大转变,Uber 开发了一项名为 DataMesh 的服务,旨在抽象和管理云基础设施。DataMesh 遵循数据网格原则来组织数据资源,重点关注数据所有权去中心化和领域控制。该服务可以利用云资源自动校正(reconciliation)数据。它从 Uber 的内部存储库中提取信息,并保证数据被恰当地标记、保护和监控。DataMesh 平台还能管理 HDFS 路径到对应云路径的映射,尽可能地使用户实现无缝迁移,并防止中断现有工作流程。



DataMesh 组件和层次结构的逻辑视图

 

在迁移过程中,Uber 面临的一个重大挑战是:需要适应数据所有权的变化和 GCS 设置的限制。由于团队重组或用户资产重新分配,所以数据所有权可能会发生变化。为了解决这个问题,Uber 实现了一个自动化流程,用于监控并在必要时重新分配所有权,确保数据的安全存储和管理。此外,为了避免达到 GCS 存储限制,Uber 还优化了数据分布,将大量使用的表分离到各自的数据桶中,从而提高性能并简化监控。

 

以下是现实世界中其他实现数据网格的例子:

  • Gilead Sciences:这是一家生物制药公司。他们开发了数据网格架构,目的是创建一个以数据为支撑的组织与运营新模式,使他们公司能够参与到云转型中。数据网格方法使得该公司能够将数据作为产品进行管理,并采用云优先的架构。

  • Saxo Bank:这是一家金融服务公司。他们在一个项目中实现了数据网格,旨在分散数据所有权和管理权,使领域团队能够管理他们自己的数据产品并为业务提供实时洞察。

 

展望未来,Uber 的目标是通过构建一个提供自治数据域的平台,进一步扩大数据网格原则的使用范围。这将简化基础设施管理并强化数据治理,最终将可以创建一个更加灵活、安全和经济高效的数据生态系统。Uber 批处理数据平台迁移上云是一项非常重大的工程,但通过精心策划并开发 DataMesh 等创新工具,Uber 正在云中获得更高的可扩展性、安全性和运营效率。

 

原文链接:

https://www.infoq.com/news/2024/10/uber-batch-data-mesh/

2024-10-25 23:597894

评论

发布
暂无评论
发现更多内容

彻底搞懂Spring状态机原理,实现订单与物流解耦

Tom弹架构

就是简单,全球100多万读者,一起跑通前端HTML5与CSS3知识!

图灵教育

大前端 HTML5, CSS3

浅谈 RDMA 与无损网络

青云技术社区

云计算 云原生 存储

Nginx中间件渗透总结

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

河南等保测评公司都有哪几家?都在哪里?

行云管家

网络安全 信息安全 数据安全 等级保护

CSS布局之display:flex(二)

Augus

CSS 11月日更

极光笔记丨关于数据大屏一比一还原设计稿这件事

极光JIGUANG

大前端 数据可视化

速来!开源中国首届飞算SoFlu组件开发悬赏赛来袭

SoFlu软件机器人

Java

混合云的概念以及优势劣势简单介绍-行云管家

行云管家

云计算 混合云 多云 云管平台

我所理解的社群—社群本质

sec01张云龙

社群 11月日更 社群运营

首次!统一调度系统规模化落地,全面支撑阿里巴巴双 11 全业务

阿里巴巴中间件

阿里云 云原生 中间件 双十一 统一调度

我是一个程序员,总想引导亲朋好友走上编程的伟大航路......

图灵教育

程序员 App Inventor

手把手教你学Dapr - 1. .Net开发者的大时代

MASA技术团队

C# .net 微软 后端 dapr

手把手教你学Dapr - 2. 必须知道的概念

MASA技术团队

C# .net 微软 后端 dapr

Vue项目优化打包——前端加分项

CRMEB

Scrum Master是什么?Scrum Master的职责是什么?和PM又有哪些区别?

爱吃小舅的鱼

敏捷开发 PM Scrum Master

【高并发】通过ThreadPoolExecutor类的源码深度解析线程池执行任务的核心流程

冰河

Java 并发编程 多线程 高并发 异步编程

Python代码阅读(第58篇):压缩列表

Felix

Python 编程 列表 阅读代码 Python初学者

一招教你通过焱融 SaaS 数据服务平台+ELK 让日志帮你做决策

焱融科技

云计算 分布式 SaaS 公有云 文件存储

第一本 Compose 图书上市,联想大咖教你学会 Android 全新 UI 编程

图灵教育

Compose AndroidUI

前端的状态管理与时间旅行:San实践篇

百度开发者中心

大前端 san san-store 技术实践

短视频个性化Push工程精进之路

百度Geek说

后端 软件架构

月薪3万的大厂测试工程师裸辞3个月,送外卖谋生背后的真实感悟

六十七点五

程序员 程序人生 软件测试 软件自动化测试 测试工程师

企业如何选择合适的低代码平台?这6点不得不考虑!

J2PaaS低代码平台

低代码 低代码开发 低代码平台 企业数字化

项目管理常见问题系列(1)—资源不足

一叶而不知秋

项目管理

不要再重复造轮子了,Hutool这款开源工具类库贼好使

沉默王二

Java

模块三作业——外包学生管理系统架构设计

覃飞

千万级学生管理系统的考试试卷存储方案

Steven

架构实战营

Nebula Graph 源码解读系列 | Vol.04 基于 RBO 的 Optimizer 实现

NebulaGraph

图数据库 源码解读

拥抱智能,AI 视频编码技术的新探索

阿里云CloudImagine

阿里云 视频编码 机器视觉 视频编解码 视频云

LevelDB Java&Go实践

FunTester

Java 自学 Go 语言 leveldb FunTester

扩展Uber批处理数据平台,利用数据网格原则开启云端之旅_云计算_InfoQ精选文章