网易首页 > 网易号 > 正文 申请入驻

Uber把1.6万数据集"分家",10PB数据零停机迁移狠操作

0
分享至


一个查询请求卡在队列里47分钟,整个北美外卖业务的实时看板集体黑屏——这是Uber 2023年感恩节的真实事故。当时所有配送数据挤在一个Hive仓库里,一次元数据抖动就能让16,000张表的查询链式崩塌。

三年后的今天,他们把这坨"数据巨无霸"拆了。不是简单的扩容,而是把10PB数据像搬家时转寄快递一样,用指针重定向完成了零停机迁移。没人复制双份数据,业务没感知,查询一条没丢。

单仓库的"胖死"危机

Uber的Hive仓库曾是典型的"成功受害者"。2019年日均查询量破亿时,架构师们还在庆祝;到2023年,同一份元数据服务要扛住每秒3000次表定位请求,CPU飙到90%是常态。

真正的杀手不是流量,是权限管理的复杂度。 所有团队共享一个命名空间,意味着配送算法的工程师理论上能读到司机的实名认证表。最小权限原则(Principle of Least Privilege)在这里成了纸面规定——不是不想做,是做不到。每次新开数据权限,DBA要在16,000张表里人工筛出相关子集,平均耗时4.7天。

更隐蔽的风险是"级联 outage"。2023年那次事故的根源,是一张被误删的临时表触发了元数据缓存雪崩。Hive Metastore(HMS,Hive元数据存储服务)的查询队列瞬间堆积,等运维切到备用集群时,已经有价值120万美元的配送补贴因延迟发放而重复发放。

Uber工程师Vijayant Soni在内部复盘会上打了个比方:「这就像把全城的水电煤账单塞进同一个文件柜,每次查燃气费都要翻遍所有人的病历。」

指针迁移:不搬家具,只改门牌号

传统数据迁移的思路是"双写验证"——先把10PB数据复制到新集群,校验完再切流量。按Uber的带宽,这需要停机窗口约72小时,期间所有实时报表、机器学习流水线、财务对账全部停摆。

他们的解法是把HMS当成一个"智能快递柜"。每张表在元数据层其实是个指针,指向HDFS(Hadoop分布式文件系统)上的实际存储路径。迁移时,数据物理位置不变,只是把指针从`/warehouse/global/delivery_orders`改成`/warehouse/domain-delivery/orders`。

真正的数据搬迁发生在后台,且只搬一次。 工程师先把目标域的数据复制到新HDFS目录,确认校验和后,原子化地更新HMS中的location字段。查询层完全无感知——SQL语句里的表名没变,执行计划自动路由到新位置。整个过程中,正在运行的查询继续读旧数据,新查询读新数据,没有所谓的"一致性窗口"。

Soni解释技术细节时说:「Updating a dataset pointer in HMS is a metadata-only operation that completes in milliseconds. The actual data movement happens asynchronously, and queries continue to function during migration.」

这套机制的关键是HMS的"软链接"能力。Uber在开源Hive基础上做了改造,让location字段支持版本化指向。迁移期间,旧指针保留只读状态7天,一旦新集群出现异常,可以毫秒级回滚。2024年Q2的迁移实践中,他们完成了3,200张核心表的切换,最长的一次回滚决策只用了11秒。

联邦架构:从"中央厨房"到"特许经营"

拆分后的架构被命名为Hive Federation,核心是把单一名名空间切成多个自治域(Domain)。配送、出行、货运、金融四个业务线各自拥有独立的HMS实例,元数据查询量下降了76%。

权限模型随之重构。以前是一张ACL表管所有,现在是域内自治+跨域审批。配送团队的算法工程师只能看到`domain_delivery`前缀的表,想访问司机画像数据?需要走跨域工单,平均审批时间从4.7天降到6小时。

资源隔离带来了意外的副作用:成本反而涨了12%。 四个域各自预留了峰值容量,整体利用率从68%掉到51%。Uber的解法是用Spot实例(AWS的闲置计算资源,价格约为按需实例的30%)跑离线查询,把弹性成本压回迁移前水平。2024年Q4的数据显示,联邦架构下的P99查询延迟从23秒降到4秒,这12%的"冗余"算买得值。

安全审计是另一个隐性收益。GDPR和CCPA的删除请求,以前要在16,000张表里全量扫描;现在按域隔离后,平均涉及表数降到340张,合规工单处理时间从17人日降到2.3人日。

迁移中的三个"坑"与填法

指针迁移听起来优雅,实操中Uber踩了三个意料之外的坑。

第一个是"僵尸查询"。部分BI工具会缓存表的位置信息,HMS指针更新了,但工具内存里的旧路径还在。这导致迁移后偶发"表不存在"错误,其实是工具读到了缓存。解法是给HMS增加事件广播机制,指针变更时主动推送通知到订阅方,强制刷新缓存。

第二个坑更隐蔽:HDFS的"目录级权限"和HMS的"表级权限"不同步。指针指向新路径后,部分表的底层目录权限继承出错,导致查询报权限拒绝。工程师被迫写了一个校验脚本,在指针切换前预演权限矩阵,把问题发现阶段从"生产环境"前移到"预发环境"。

第三个坑是成本核算。联邦架构下,存储和计算资源按域拆分,但原始数据有30%是跨域共享的(比如统一的地点编码表)。简单复制会产生10PB×30%=3PB的冗余存储。Uber的折中方案是保留一个"共享域",存放真正的公共数据,其他域通过外部表(External Table)引用,只存元数据不存数据。

行业镜像:当"大仓库"成为反模式

Uber不是唯一一家拆仓库的。Netflix 2022年把单体Hive拆成Iceberg联邦,Airbnb 2023年用Trino+Iceberg重构了数据湖。但Uber的特殊性在于规模——16,000张表、10PB数据、日均1.2亿次查询,这要求迁移方案必须"零停机"。

国内某头部外卖平台的技术负责人私下评价:「指针迁移的思路我们2021年就想过,但HMS的改造门槛太高。Uber敢做,是因为他们有自己的HMS分支维护团队,我们只能用开源版,动元数据层的胆子没有。」

这个判断指向一个残酷现实:数据架构的"联邦化"趋势,可能进一步拉大技术巨头的工程优势。中小团队要么承受单体仓库的风险,要么被云厂商的托管方案锁定——而托管方案的联邦化能力,目前只有AWS Lake Formation和Azure Purview提供,且价格不菲。

Uber在2024年Q3开源了Hive Federation的部分组件,但核心的指针原子切换模块仍保留在内部。Soni的解释很直接:「这个模块和我们的HDFS补丁深度耦合,开源出来没人能用,反而增加维护负担。」

迁移完成后的第一个黑五,Uber的实时配送看板扛住了每秒12万单的峰值,HMS CPU利用率峰值41%,没有触发任何告警。一位值班工程师在内部频道发了条消息:「去年这时候我在写事故复盘,今年我在点奶茶。这大概就是架构升级的意义。」

但联邦架构也留下了新问题。四个自治域的数据治理标准开始分化,配送团队把表生命周期设为90天,货运团队坚持180天,跨域数据对账时经常出现"同一笔订单,两边统计口径差3%"的扯皮。数据平台团队正在推一套"域间契约"机制,要求共享字段必须遵循统一的Schema版本——这听起来,又有点像在联邦之上重建某种"中央"了。

当数据自治成为主流,组织层面的协调成本会不会反而超过技术收益?这可能是所有走联邦路线的人,下一步要交的学费。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
铜梁龙又赢麻了!一场比赛创下“三大亮点”和“两个笑点”登顶榜首

铜梁龙又赢麻了!一场比赛创下“三大亮点”和“两个笑点”登顶榜首

林子说事
2026-04-12 12:24:31
美伊停火内幕曝光!巴官员:中国本不愿担保,经巴方劝说才出面

美伊停火内幕曝光!巴官员:中国本不愿担保,经巴方劝说才出面

书写传奇
2026-04-11 15:48:39
毛主席的厨师公开揭露:毛主席一生最爱吃三种食物,大家知道吗?

毛主席的厨师公开揭露:毛主席一生最爱吃三种食物,大家知道吗?

鹤羽说个事
2026-04-09 22:36:32
48 小时 2 架飞机:郑丽文做了马英九连战没做的事!引美专机抵台

48 小时 2 架飞机:郑丽文做了马英九连战没做的事!引美专机抵台

眼界看视野
2026-04-11 20:50:20
广东男子钓上1.35米长鳄雀鳝!有人想出价1000元买走,被当场拒绝

广东男子钓上1.35米长鳄雀鳝!有人想出价1000元买走,被当场拒绝

豆妈热爱每一天
2026-04-12 11:01:50
程晓玥首曝和郑恺分手真相:不是不爱,是当时的我太骄傲了

程晓玥首曝和郑恺分手真相:不是不爱,是当时的我太骄傲了

小猫娱乐叭叭
2026-04-11 19:45:03
曾沛慈被老公孙立衡牵连,退出《浪姐》!?

曾沛慈被老公孙立衡牵连,退出《浪姐》!?

八卦疯叔
2026-04-12 10:26:14
以色列政坛大地震!反对派61席锁死胜局!贝内特正疯狂背刺内氏

以色列政坛大地震!反对派61席锁死胜局!贝内特正疯狂背刺内氏

书纪文谭
2026-04-11 19:05:01
爆炸性新闻!加州民调第一的州长候选人被曝强奸女下属,民主党高层迅速划清界线

爆炸性新闻!加州民调第一的州长候选人被曝强奸女下属,民主党高层迅速划清界线

大洛杉矶LA
2026-04-12 04:46:31
美高官:先打中国再打朝鲜,打不过就核战,因中国火箭军太强大

美高官:先打中国再打朝鲜,打不过就核战,因中国火箭军太强大

说历史的老牢
2026-04-12 11:36:58
郑丽文访陆第三天,韩国瑜不装了,侯友宜被怒怼,卢秀燕老奸巨猾

郑丽文访陆第三天,韩国瑜不装了,侯友宜被怒怼,卢秀燕老奸巨猾

阿凫爱吐槽
2026-04-11 01:28:37
节俭!瓜帅周薪50万欧,但他女儿在用裂了的iPhone15

节俭!瓜帅周薪50万欧,但他女儿在用裂了的iPhone15

懂球帝
2026-04-11 02:27:07
从图片就能看出来,郑丽文生活里一定是个有趣的人

从图片就能看出来,郑丽文生活里一定是个有趣的人

汉宫秋
2026-04-12 06:11:38
陈丽华年轻照出乌龙:美女照片主人出来辟谣,真实年轻照像韩红

陈丽华年轻照出乌龙:美女照片主人出来辟谣,真实年轻照像韩红

动物奇奇怪怪
2026-04-11 15:25:19
《生活大爆炸》演员!

《生活大爆炸》演员!

下水道男孩
2026-04-10 22:44:25
169元路由器塞了星闪芯片,TP-LINK把牙膏挤爆了

169元路由器塞了星闪芯片,TP-LINK把牙膏挤爆了

薛定谔的BUG
2026-04-10 09:07:18
一代神车,退场了

一代神车,退场了

凤凰网财经
2026-03-26 19:58:07
1977年,邓小平找傅崇碧谈话,给你8个月到1年时间,整顿卫戍区

1977年,邓小平找傅崇碧谈话,给你8个月到1年时间,整顿卫戍区

大运河时空
2026-04-11 15:05:03
六个本科专业将“烂大街”,家长误以为前景不错,实则毕业即失业

六个本科专业将“烂大街”,家长误以为前景不错,实则毕业即失业

缘史记
2026-04-10 20:16:19
别不信,能不能发生关系,第一次见面就差不多定了

别不信,能不能发生关系,第一次见面就差不多定了

加油丁小文
2026-03-30 07:31:22
2026-04-12 14:08:49
赛博兰博
赛博兰博
专注捣鼓AI效率工具,试图在这个时代留下数字分身的探索者。
1249文章数 15关注度
往期回顾 全部

科技要闻

理想称遭恶意拉踩,东风日产:尊重同行

头条要闻

媒体:伊朗新领袖"冒死接班"1个月未露面 突然全面亮剑

头条要闻

媒体:伊朗新领袖"冒死接班"1个月未露面 突然全面亮剑

体育要闻

五大联赛首冠出炉?拜仁或提前4轮卫冕德甲

娱乐要闻

46岁赵达官宣结婚!曾与殷桃谈婚论嫁

财经要闻

三轮磋商谈至深夜 美伊谈判三大议题仍待解

汽车要闻

焕新极氪007/007GT上市 限时19.39万起

态度原创

健康
房产
旅游
公开课
军事航空

干细胞抗衰4大误区,90%的人都中招

房产要闻

土地供应突然暴跌!2026海口楼市,格局大变!

旅游要闻

河北省石家庄市正定县 以花为媒尽览小镇风光

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

伊朗议长带四名遇难儿童照片赴美伊谈判

无障碍浏览 进入关怀版