中文

从 FASTER 到 F2:面向大规模倾斜工作负载的并发键值存储设计演进

数据库 2025-08-07 v3

摘要

现代大规模服务(如搜索引擎、消息平台与无服务器函数)依赖键值(KV)存储以在规模下维持高性能。当此类服务部署于受限内存环境中时,提出了严峻需求:点操作需高吞吐、工作集远大于主存、且键访问模式存在天然倾斜。基于 LSM 树与 B 树的传统 KV 存储已被广泛用于应对此类场景,但它们常受限于对现代硬件资源的次优利用。FASTER 项目作为高性能开源 KV 存储库开发,已在纯内存与混合存储环境中展现出卓越成效。然而,在服务于大规模倾斜工作负载时,它面临诸多挑战,包括高索引与压缩开销,以及对非重叠读热与写热工作集的低效管理。本文引入 F2(即 FASTER v2),作为 FASTER 的演进版本,旨在满足工业应用中常见的大规模倾斜工作负载需求。F2 采用面向记录的二级设计以处理超内存倾斜工作负载,并配以新型无锁并发机制与组件以最大化现代硬件上的性能。为实现该设计,F2 攻克了关键挑战并引入若干创新,包括用于多线程日志压缩的新型无锁算法、用于降低冷记录索引开销的二级哈希索引,以及用于服务读热记录的读缓存。我们的评估显示,F2 相较现有 KV 存储实现了 2-11.9 倍更优吞吐,有效服务于目标工作负载。F2 已开源并作为 FASTER 项目的一部分提供。

关键词

引用

@article{arxiv.2305.01516,
  title  = {From FASTER to F2: Evolving Concurrent Key-Value Store Designs for Large Skewed Workloads},
  author = {Konstantinos Kanellis and Badrish Chandramouli and Ted Hart and Shivaram Venkataraman},
  journal= {arXiv preprint arXiv:2305.01516},
  year   = {2025}
}

备注

Proceedings of the VLDB Endowment 18 (VLDB'25)