FlintKV:面向现代数据库的快速持久化存储引擎
FlintKV: A Fast Durable Storage Engine for Modern Databases
浏览论文内容
中文总结 AI 辅助
提出基于NVM优化的跳表存储引擎FlintKV,通过扁平合并并发控制与多版本持久化机制,原生支持原子批量写入和快照一致性迭代,性能较先前工作提升达75%。
中文摘要 AI 辅助
字节可寻址的非易失性内存(NVM)为重新思考存储引擎架构提供了机会。虽然近期的NVM键值存储在数据摄入和点查询方面实现了高吞吐量,但它们忽略或未充分支持现代数据库所需的更丰富的接口保证。生产级键值引擎(如RocksDB)提供了时间点快照、一致性迭代器和原子批处理——这些是实现事务和并发控制所必需的功能。我们提出了FlintKV,一个基于NVM优化的跳表存储引擎,原生支持生产级键值存储的完整API。FlintKV高效地支持原子批量写入和快照一致性迭代,同时保证持久化线性一致性。FlintKV可以独立部署,或者其持久化跳表可以集成到现有的NVM存储中以增强其能力。FlintKV的核心是一种新颖的基于扁平合并的并发控制算法,该算法利用多版本化并精心协同设计持久化机制,以确保高性能和可扩展性。我们的实证评估表明,与先前工作相比,FlintKV的端到端吞吐量可提升高达75%。
英文摘要
Byte-addressable non-volatile memory (NVM) offers an opportunity to rethink storage engine architectures. While recent NVM key-value stores achieve high throughput for ingestion and point lookups, they omit or under-specify the support for the richer interface guarantees required by modern databases. Production key-value engines (e.g., RocksDB) provide point-in-time snapshots, consistent iterators, and atomic batches-features essential for implementing transactions and concurrency control. We present FlintKV, an NVM-optimized skiplist-based storage engine that natively supports the full API of production key-value stores. FlintKV supports both atomic batch writes and snapshot-consistent iteration efficiently while guaranteeing durable linearizability. FlintKV can be deployed standalone or its durable skiplist can be integrated into existing NVM stores to enhance their capabilities. Central to FlintKV is a novel flat-combining based concurrency control algorithm that leverages multi-versioning and carefully co-designed persistence mechanisms to ensure high performance and scalability. Our empirical evaluation shows that FlintKV can achieve up to a 75% improvement in end-to-end throughput over prior work.
发表机构
- Royal Holloway, University of London(伦敦大学皇家霍洛威学院)
- University of Surrey(萨里大学)
机构由 AI 辅助整理,请以论文原文为准。