如何在Uber中支持数万亿个索引的LedgerStore

Uber connects the physical and digital worlds to help make movement happen at the tap of a button. Billions of trips, deliveries, and tens of billions of financial transactions across earners, spenders, and merchants are made at Uber every quarter. LedgerStore is an immutable storage solution at Uber that provides verifiable data completeness and correctness guarantees to ensure data integrity for these transactions.

Uber通过连接物理世界和数字世界,帮助实现一键即可移动。每个季度Uber都会进行数十亿次的行程、交付和数百亿次的财务交易。LedgerStore是Uber的一个不可变存储解决方案,为这些交易提供可验证的数据完整性和正确性保证,以确保数据的完整性。

Considering that ledgers are the source of truth of any financial event or data movement at Uber, it is important to be able to look up ledgers from various access patterns via indexes. This brings in the need for trillions of indexes to index hundreds of billions of ledgers. A previous blog post discussed the background of LedgerStore and how the storage backend was re-architected. This blog covers the significance of LedgerStore indexing and its architecture, which powers trillions of indexes, with a petabyte-scale index storage footprint.

考虑到账本是Uber上任何财务事件或数据移动的真实来源,能够通过索引从各种访问模式查找账本非常重要。这就需要数万亿个索引来索引数千亿个账本。之前的一篇博客文章讨论了LedgerStore的背景以及存储后端的重新架构。本博客介绍了LedgerStore索引的重要性及其架构,它支持数万亿个索引,并具有PB级别的索引存储占用。

Various types of indexes need to be supported on ledgers. Let us explore them along with corresponding use cases.

需要在账本上支持各种类型的索引。让我们探讨一下这些索引以及相应的使用案例。

One of the use cases is handling the credit card authorization flow when a rider/eater uses Uber. At the beginning of an Uber trip, a credit card hold is placed on the rider/eater’s credit card. This hold should either be converted to a charge or voided, depending on whether the trip was taken or canceled, as shown below. 

其中一个用例是处理乘客/用餐者在使用Uber时的信用卡授权流程。在Uber行程开始时,会在乘客/用餐者的信用卡上放置一个授权保留。根据行程是否进行或取消,此保留应转换为收费或作废,如下所示。

Image

Figure 1: Uber Trip credit-card payment flow supported by strongly consistent indexes.

图1:由强一致性索引支持的Uber行程信用卡支付流程。

If the index serving the hold is not strongly consistent_,_ it could take a while for the hold to be visi...

开通本站会员,查看完整译文。

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.125.1. UTC+08:00, 2024-05-17 13:53
浙ICP备14020137号-1 $访客地图$