TY - GEN
T1 - SplinterDB
T2 - 2020 USENIX Annual Technical Conference, ATC 2020
AU - Conway, Alex
AU - Gupta, Abhishek
AU - Chidambaran, Vijay
AU - Farach-Colton, Martin
AU - Spillane, Rick
AU - Tai, Amy
AU - Johnson, Rob
N1 - Publisher Copyright:
Copyright © Proc. of the 2020 USENIX Annual Technical Conference, ATC 2020. All rights reserved.
PY - 2020
Y1 - 2020
N2 - Modern NVMe solid state drives offer significantly higher bandwidth and lower latency than prior storage devices. Current key-value stores struggle to fully utilize the bandwidth of such devices. This paper presents SplinterDB, a new key-value store explicitly designed for NVMe solid-state-drives. SplinterDB is designed around a novel data structure (the STBε-tree) that exposes I/O and CPU concurrency and reduces write amplification without sacrificing query performance. STBε-tree combines ideas from log-structured merge trees and Bε-trees to reduce write amplification and CPU costs of compaction. The SplinterDB memtable and cache are designed to be highly concurrent and to reduce cache misses. We evaluate SplinterDB on a number of micro- and macro-benchmarks, and show that SplinterDB outperforms RocksDB, a state-of-the-art key-value store, by a factor of 6-10× on insertions and 2-2.6× on point queries, while matching RocksDB on small range queries. Furthermore, SplinterDB reduces write amplification by 2× compared to RocksDB.
AB - Modern NVMe solid state drives offer significantly higher bandwidth and lower latency than prior storage devices. Current key-value stores struggle to fully utilize the bandwidth of such devices. This paper presents SplinterDB, a new key-value store explicitly designed for NVMe solid-state-drives. SplinterDB is designed around a novel data structure (the STBε-tree) that exposes I/O and CPU concurrency and reduces write amplification without sacrificing query performance. STBε-tree combines ideas from log-structured merge trees and Bε-trees to reduce write amplification and CPU costs of compaction. The SplinterDB memtable and cache are designed to be highly concurrent and to reduce cache misses. We evaluate SplinterDB on a number of micro- and macro-benchmarks, and show that SplinterDB outperforms RocksDB, a state-of-the-art key-value store, by a factor of 6-10× on insertions and 2-2.6× on point queries, while matching RocksDB on small range queries. Furthermore, SplinterDB reduces write amplification by 2× compared to RocksDB.
UR - http://www.scopus.com/inward/record.url?scp=85091906557&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85091906557&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85091906557
T3 - Proceedings of the 2020 USENIX Annual Technical Conference, ATC 2020
SP - 49
EP - 63
BT - Proceedings of the 2020 USENIX Annual Technical Conference, ATC 2020
PB - USENIX Association
Y2 - 15 July 2020 through 17 July 2020
ER -