References & Citations
Computer Science > Databases
Title: CedrusDB: Persistent Key-Value Store with Memory-Mapped Lazy-Trie
(Submitted on 28 May 2020 (v1), last revised 21 Jul 2021 (this version, v3))
Abstract: As a result of RAM becoming cheaper, there has been a trend in key-value store design towards maintaining a fast in-memory index (such as a hash table) while logging user operations to disk, allowing high performance under failure-free conditions while still being able to recover from failures. This design, however, comes at the cost of long recovery times or expensive checkpoint operations. This paper presents a new in-memory index that is also storage-friendly. A "lazy-trie" is a variant of the hash-trie data structure that achieves near-optimal height, has practical storage overhead, and can be maintained on-disk with standard write-ahead logging.
We implemented CedrusDB, persistent key-value store based on a lazy-trie. The lazy-trie is kept on disk while made available in memory using standard memory-mapping. The lazy-trie organization in virtual memory allows CedrusDB to better leverage concurrent processing than other on-disk index schemes (LSMs, B+-trees). CedrusDB achieves comparable or superior performance to recent log-based in-memory key-value stores in mixed workloads while being able to recover quickly from failures.
Submission history
From: Maofan Yin [view email][v1] Thu, 28 May 2020 03:26:02 GMT (7841kb,D)
[v2] Sat, 12 Dec 2020 04:49:58 GMT (9807kb,D)
[v3] Wed, 21 Jul 2021 20:13:46 GMT (9232kb,D)
Link back to: arXiv, form interface, contact.