Search papers, labs, and topics across Lattice.
FlintKV is a novel storage engine optimized for byte-addressable non-volatile memory (NVM) that integrates essential features like atomic batch writes and snapshot-consistent iteration, which are often lacking in existing key-value stores. By employing a flat-combining concurrency control algorithm alongside multi-versioning and tailored persistence mechanisms, FlintKV achieves significant performance improvements. Empirical evaluations demonstrate that FlintKV can deliver up to a 75% increase in end-to-end throughput compared to previous solutions, making it a compelling option for modern database applications.
FlintKV achieves a groundbreaking 75% boost in throughput by seamlessly integrating essential database features into NVM-optimized storage.
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.