Uber如何将财务数据从DynamoDB迁移到Docstore

How Uber Migrated Financial Data from DynamoDB to Docstore

Introduction

简介

Each day, Uber moves millions of people around the world and delivers tens of millions of food and grocery orders. This generates a large number of financial transactions that need to be stored with provable completeness, consistency, and compliance.  

每天,Uber在世界各地运送数以百万计的人,并运送数以千万计的食品和杂货订单。这产生了大量的金融交易,需要以可证明的完整性、一致性和合规性进行存储。

LedgerStore is an immutable, ledger-style database storing business transactions. LedgerStore provides signing/sealing of data to guarantee data completeness/correctness, strongly consistent indexes, and automatic data tiering. LedgerStore uses DynamoDB as its storage backend. Running LedgerStore in production for almost 2 years at Uber scale, we’d amassed a large amount of data as trips and orders volume grew. Over this period of time we realized that operating LedgerStore with DynamoDB as a backend was becoming expensive. Also having different databases in our portfolio creates fragmentation and makes it difficult to operate.

LedgerStore是一个不可变的、分类账式的数据库,用于存储商业交易。LedgerStore提供数据的签名/密封,以保证数据的完整性/正确性、强一致性索引和自动数据分层。LedgerStore使用DynamoDB作为其存储后端。在Uber规模的生产中,LedgerStore运行了近2年,随着行程和订单量的增长,我们积累了大量的数据。在这段时间里,我们意识到用DynamoDB作为后端运行LedgerStore变得很昂贵。同时,在我们的投资组合中拥有不同的数据库会造成碎片化,并使其难以操作。

Having first-hand experience building large scale storage systems at Uber, we decided to change the LedgerStore backend to be one of our in-house, homegrown databases. The 2 main principles we kept in mind were: 1) Efficiency, and 2) Technology consolidation. Following the first would yield us great results in the short term, while the second would put us on a solid long-term roadmap, having greater flexibility and operational ease. 

有了在Uber建立大规模存储系统的第一手经验,我们决定将LedgerStore的后端改为我们内部自制的数据库之一。我们牢记的两个主要原则是。1)效率,和2)技术整合。遵循第一个原则将在短期内为我们带来巨大的成果,而第二个原则将使我们有一个坚实的长期路线图,拥有更大的灵活性和操作便利。

In this post today we are going to talk about rearchitecting some of the core components of LedgerStore on top of Docstore, Uber’s general-purpose multi-model database.

在今天的这篇文章中,我们将谈论在Uber的通用多模型数据库Docstore之上重新架构LedgerStore的一些核心组件。

What...

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

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-08 05:22
浙ICP备14020137号-1 $访客地图$