We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.DB

Change to browse by:

cs

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Databases

Title: CedrusDB: Persistent Key-Value Store with Memory-Mapped Lazy-Trie

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.
Subjects: Databases (cs.DB)
Cite as: arXiv:2005.13762 [cs.DB]
  (or arXiv:2005.13762v3 [cs.DB] for this version)

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.