Key-value stores such as LevelDB and RocksDB have become a fundamental part of the systems infrastructure. However, these stores suffer from high write amplification: for example, 45 GB of data written to RocksDB results in 1.8 TB (28x) written to storage. In this talk, I show that the write amplification problem is fundamental to the Log-Structured Merge Trees data structure that underlies these stores. I present a novel data structure that is inspired by Skip Lists, termed Fragmented Log-Structured Merge Trees (FLSM). FLSM introduces the notion of guards to organize logs, and avoids rewriting data in the same level. I will describe PebblesDB, a new key-value store that we built by modifying HyperLevelDB to use the FLSM data structure. I will briefly present our evaluation which shows that PebblesDB increases write throughput by 6.7x (compared to RocksDB and LevelDB) while simultaneously reducing write amplification by 2.4-3x. PebblesDB is open-source (https://github.com/utsaslab/p
Enzian: Research Computer