Redian新闻
>
Uber 将1万亿条记录从 DynamoDB 迁移到 LedgerStore,每年可节省 600 万美元

Uber 将1万亿条记录从 DynamoDB 迁移到 LedgerStore,每年可节省 600 万美元

公众号新闻

作者 | Rafal Gancarz
译者 | 平川
策划 | 丁晓昀

Uber 将所有支付交易数据从 DynamoDB 和 Blob 存储 迁移到一个新的长期解决方案中,一个名为 LedgerStore 的专用数据存储。该公司正在寻找节省成本的方法,并在之前减少了 DynamoDB 的使用,只用它存储热数据(12 周内的数据)。此举大大节省了成本,并简化了存储架构。

Uber 于 2017 年构建了支付平台 Gulfstream,并使用 DynamoDB 进行存储。由于存储成本不断攀升,所以他们只用 DynamoDB 存储最近的数据(12 周),而把比较旧的数据存储在 TerraBlob 中,这是 Uber 内部创建的一种类似 S3 的服务。

与此同时,该公司开始研究一种专用的解决方案,用于存储需要数据完整性保证的金融交易。Uber 技术主管 Kaushik Devarajaiah 解释了创建定制数据存储的特有挑战:

LedgerStore 是 Uber 的一个不可变存储解决方案,提供可验证的数据完整性和正确性保证,可以确保交易的数据完整性。[…] 在 Uber,分类账是任何财务事件或数据移动的真相来源,因此,能够在各种访问模式中通过索引查找分类账至关重要,而索引数千亿的分类账记录需要数万亿的索引。

LedgerStore 支持强最终一致性索引。对于强一致性索引,该数据存储使用了两阶段提交。它首先在索引上保存索引意图(intent),然后保存记录。最后,如果记录写入成功,则异步提交意图或在失败的情况下回滚意图。如果意图写入失败,则整个插入操作就会失败,因为未实现一致性保证。在读取期间,任何意图未提交的写操作要么被异步提交(如果读取记录成功),要么被异步删除(如果读取记录失败)。LedgerStore 利用本地 Docstore 数据库(一个基于 MySQL 构建的分布式数据库)的物化视图来实现最终一致性索引。

两段提交写入实现强一致性索引(图片来源:Uber 工程博客)

为了将旧的分类帐数据卸载到冷存储,LedgerStore 使用时间范围索引来支持时间查询。Uber 已不再使用 DynamoDB 和 Docstore 来存储时间范围索引。他们最初的解决方案使用了两个 DynamoDB 表,一个做了写优化,另一个做了读优化。这种设计是由 DynamoDB 的容量管理决定的,可以避免热分区和节流。新设计使用了 Docstore 数据库单表,并利用前缀扫描进行高效读取。

LedgerStore 支持索引生命周期管理,在索引定义更改时可以自动重新索引数据。该过程会创建一个新索引,回填旧索引中的数据,执行相关验证,切换索引,并删除旧索引。

从冷存储回填索引(图片来源:Uber 工程博客)

在将 PB 级的金融交易数据迁移到 LedgerStore 时,该公司面遇到了一些特有的挑战。它使用影子和离线验证来确保迁移的正确性以及 LedgerStore 在生产环境中的性能和可扩展性。对于影子验证,Gulfstorm 将数据双重写入 DynamoDB 和 LedgerStore,并读取两个数据存储的数据进行比较。

此外,Uber 还实现了历史数据的离线验证,并在 Apache Spark 中运行增量回填作业。单是回填过程就遇到了非常严重的问题,因为该过程产生的负荷是平常生产负荷的十倍,整个过程需要三个月的时间。工程师们采取了多种措施来控制这个过程并缓解出现的任何问题,其中包括动态速率控制(根据平台处理的生产流量调整处理速率)以及紧急停止(在发生重大问题时快速停止这个过程)。

最后,团队在上线新解决方案时采取了比较保守的方法,实现了从 DynamoDB 获取数据的后备方案,以防在 LedgerStore 中找不到数据。整个迁移成功完成,并且在迁移期间和之后,公司没有经历任何停机或中断。迁移到 LedgerStore 为 Uber 节省了大量的成本,估计每年节省超过 600 万美元。

原文链接

https://www.infoq.com/news/2024/05/uber-dynamodb-ledgerstore/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

德国再次拥抱Linux:数万系统从windows迁出,能否避开二十年前的“坑”?

内测活动出bug损失数百万,京东启动追责;贾扬清评大模型价格战:降价拍脑袋就能做;Kotlin 2.0正式发布 | Q资讯

“感觉像艘即将沉没的船”!TikTok罕见全球大裁员!用户运营团队直接解散

又翻车!微软一次更新引爆大规模连锁反应,Bing、Copilot 等多个软件集体宕机五小时!

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
ICDE’24 | 中国企业首获最佳论文,详解PolarDB Serverless如何在0.5秒内实现跨机迁移Dynabook 发布 Tecra A40-M / A60-M 笔记本:Copilot AI、酷睿 Ultra 处理器Merrill Edge 投资账户【2024.5 更新:up to $1,000 开户奖励】兰蔻全场65折!Hollister闪促6折!CurrentBody红光面罩88折起!北美洲社会的枪支泛滥问题NAB调查揭示:澳人这样做,每月最多可节省$743!基金股票交易佣金费率调降,业内人士:两年可为投资者节省96亿元悉尼警方突袭Burwood及WolliCreek!三男子被捕,3个月发送3亿条诈骗短信【沉思】【Waltham租房】9/1入住 1b1b$2.2k |近Moody St 紫线火车 Brandeis BentleyThey Hitched a Ride Home From Work. Then, Tragedy Struck.商科首选Apple,工科青睐Google,我们钟意你AI预测所有生命分子!谷歌AlphaFold 3模型登Nature,免费开放节省上亿年研究时间逃离 Windows!德国又宣布迁移到 Linux,,官员吐苦水:Windows 对硬件要求太高了【NJ Transit $40返$8/Budget Car Rental $250返$50】最新 Amex Offers 汇总手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨转发|2024 Emerson College FIRST青年电影展主动放映 - 观影报名最后一天!精选SDE岗位丨Teradyne、Ciena Corporation、BMO Harris Bank公司持续热招!“祝你幸福”:科罗拉多一位老汉在“杀猪盘”骗局中损失近 50 万美元年少有为!纽约9岁女孩创业做烘焙生意 每年可赚7200美元3.34万亿!英伟达成全球市值最高公司;iPhone 16 最高突破 2 万元;B 站第 200 亿条弹幕诞生|极客早知道我的岁月(二十八)China’s ‘Supernanny’ Stirs Controversy With Ultra-Harsh MethodsYandex 开源 LLM 训练工具,可节省高达 20% 的 GPU 资源再回首 (三十一)莎朗·斯通透露,她在中风后损失了 1800 万美元: “I had zero money”。如何避免在生病时失去财产。再请教选房客,刚查了 丈夫575追不起剧了!大批澳洲人取消订阅服务!专家:每年可省600澳元!警惕!这种现象在新西兰高发,每年可至数百人死亡!包括儿童和青少年!NZ政府拨款2400万纽币,为了每个人的健康!自驾从SF到LA: 赫斯特城堡How Shanghainese Comedy is Standing Up to the MainstreamHarsher Recess Rules Turn School Toilets Into Social Hubs【求职战报】全球金融交易平台Deutsche Börse Systems销售运营面试邀约!Waltham租房| 市中心背靠Moody St | 1b1b | $2,250 | 9/1入住 | 理想独居/通勤选择今日全职|BCG招聘Knowledge Analyst,学士/硕士学位均可申请!【高级公寓】Cambridge Park|Cambridge|城市花园中温馨的家Dynabook 海外发布 Portégé X40L-M 14 英寸笔记本:1.05kg、酷睿 Ultra 处理器英区UberEats减£10!5折CK/Under Armour/Harrods/巴黎世家/欧舒丹...
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。