Skip to main content
Engineering, Backend, Data / ML

How LedgerStore Supports Trillions of Indexes at Uber

April 4 / Global
Featured image for How LedgerStore Supports Trillions of Indexes at Uber
Image
Figure 1: Uber Trip credit-card payment flow supported by strongly consistent indexes.
Image
Figure 2: Two-phase commit write flow of strongly consistent indexes.
Image
Figure 3: Read flows of strongly consistent indexes.
Image
Figure 4: Payment history served by eventually consistent indexes.
Image
Figure 5: time-range indexes used in data-tiering.
SELECT * FROM LEDGER_TABLE WHERE LedgerTime BETWEEN 1701252000000 AND 1701253800000
LedgerLedgerTime
{trip started}10:01 am
{trip completed and fare adjusted}10:15 am
{post trip corrections}12:01 pm
Image
Figure 6: Time-range index design on Dynamodb.
Image
Figure 7: Time-range index design on Docstore.
Image
Figure 8: Index lifecycle state machine.
Image
Figure 9: Historical data processing module customized to backfill indexes.
Image
Figure 10: Index completeness validation.
Kaushik Devarajaiah

Kaushik Devarajaiah

Kaushik Devarajaiah is the Tech Lead for LedgerStore at Uber. His primary focus is building distributed gateways and databases that scale with Uber's hyper-growth. Previously, he worked on scaling Uber's Data Infrastructure to handle over 100 petabytes of data. Kaushik holds a master's degree in Computer Science from SUNY Stony Brook University.

Posted by Kaushik Devarajaiah