ZippyDB:Facebook的键值存储

ZippyDB is the largest strongly consistent, geographically distributed key-value store at Facebook. Since we first deployed ZippyDB in 2012, this key-value store has expanded rapidly, and today, ZippyDB serves a number of use cases, ranging from metadata for a distributed filesystem, counting events for both internal and external purposes, to product data that’s used for various app features. ZippyDB offers a lot of flexibility to applications in terms of tunable durability, consistency, availability, and latency guarantees, which has made the service a popular choice within Facebook for storing both ephemeral and nonephemeral small key-value data. In this post, we are sharing for the first time the history and evolution of ZippyDB and some of the unique design choices and trade-offs made in building this service that addressed the majority of key-value store scenarios at Facebook.

ZippyDB是Facebook最大的强一致性、地理分布的键值存储。自从我们在2012年首次部署ZippyDB以来,这个键值存储的规模迅速扩大,如今,ZippyDB为许多用例服务,包括分布式文件系统的元数据、为内部和外部目的计算事件,以及用于各种应用功能的产品数据。ZippyDB在可调整的耐久性、一致性、可用性和延迟保证方面为应用程序提供了很大的灵活性,这使得该服务在Facebook内部成为存储短暂和非短暂的小型键值数据的热门选择。在这篇文章中,我们将首次分享ZippyDB的历史和演变,以及在构建这项服务时做出的一些独特的设计选择和权衡,这项服务解决了Facebook的大多数键值存储场景。

History of ZippyDB

ZippyDB的历史

ZippyDB uses RocksDB as the underlying storage engine. Before ZippyDB, various teams across Facebook used RocksDB directly to manage their data. This resulted, however, in a duplication of efforts in terms of each team solving similar challenges such as consistency, fault tolerance, failure recovery, replication, and capacity management. To address the needs of these various teams, we built ZippyDB to provide a highly durable and consistent key-value data store that allowed products to move a lot faster by offloading all the data and the challenges associated with managing this data at scale to ZippyDB.

ZippyDB使用RocksDB作为底层存储引擎。在ZippyDB之前,Facebook的各个团队直接使用RocksDB来管理他们的数据。然而,这导致了工作的重复,每个团队都在解决类似的挑战,如一致性、容错、故障恢复、复制和容量管理。为了解决这些不同团队的需求,我们建立了ZippyDB,以提供一个高度持久和一致的键值数据存储,通过将所有数据和与大规模管理这些数据相关的挑战卸载到ZippyDB,使产品的发展速度大大加快。

O...

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

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