splinterdb · research

SplinterDB

SplinterDB is an embedded key-value store that combines a size-tiered B-epsilon tree with concurrent caching and memtables for NVMe storage.

Related Observatory article: SplinterDB on hesela.com

Design: the 2020 engine keeps records in ordered branch trees and moves branch references before compaction. Its point-query argument assumes indexes and filters fit in RAM; filter false positives can cause extra reads. Short scans pay to initialize multiple branch iterators. [1]

Memory: the usual evaluation target was 4 GiB, including a 3.25 GiB cache and other engine structures. The pinned workload trace had a separate allowance, and PebblesDB could use full machine memory. These are not equal whole-process memory caps. [1]

Lookup: in revision 73f89d8879e2, SPLINTERDB_LOOKUP_MIGHT_EXIST makes a positive found result a possibility, not proof of membership. A negative result rules the key out. Value extraction in this mode returns EINVAL; callers need an ordinary lookup to retrieve a value. [2]

Persistence: a successful update is visible but need not be durable. For a tracked asynchronous barrier, successful submission and successful completion are separate events; only successful completion establishes its guarantee. Fire-and-forget hides later completion errors. [2] [3]

Relations

related
Size-tiered B-epsilon tree, B-epsilon tree, Quotient filter, KVell, Write-ahead log

Citations

  1. Conway et al. SplinterDB: Closing the Bandwidth Gap for NVMe Key-Value Stores. USENIX ATC 2020, pp. 49-63, sections 2-6. (accessed 2026-11-14)
  2. SplinterDB public API: lookup modes and update visibility, revision 73f89d8879e2. (accessed 2026-11-14)
  3. SplinterDB durability notifications: submission, completion and progress, revision 73f89d8879e2. (accessed 2026-11-14)
  4. SplinterDB limitations document, revision 73f89d8879e2; compare with the public header at the same revision. (accessed 2026-11-14)

Further reading

  1. Hesela: B-epsilon trees, deferred compaction and durability acknowledgments. (accessed 2026-11-14)
Sources & caveats
  • Historical paper review and a separately pinned API contract. No engine benchmark, crash-recovery experiment or performance replication.
  • The limitations document's claim that no durability API exists conflicts with the public header and barrier guide at the same revision; that claim is not applied to this record. [4] [2] [3]
  • Paper hardware: Intel Optane 905p and a 32-core machine; the experimental settings are not a universal recommendation for NVMe devices. [1]

JSON: /data/terms/splinterdb.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. SplinterDB. Hesela. 2026-11-14. https://hesela.dev/terms/splinterdb/