Tucana: design and implementation of a fast and efficient scale-up key-value store

Anastasios Papagiannis, Giorgos Saloustros, Pilar González‐Férez, Angelos Bilas · USENIX Annual Technical Conference · 2016

Given current technology trends towards fast storage devices and the need for increasing data processing density, it is important to examine key-value store designs that reduce CPU overhead. However, current key-value stores are still designed mostly for hard disk drives (HDDs) that exhibit a large difference between sequential and random access performance, and they incur high CPU overheads. In this paper we present Tucana, a feature-rich key-value store that achieves low CPU overhead. Our design starts from a Be-tree approach to maintain asymptotic properties for inserts and uses three techniques to reduce overheads: copy-on-write, private allocation, and direct device management. In our design we favor choices that reduce overheads compared to sequential device accesses and large I/Os. We evaluate our approach against RocksDB, a state-of-the-art key-value store, and show that our approach improves CPU efficiency by up to 9.2× and an average of 6× across all workloads we examine. In addition, Tucana improves throughput compared to RocksDB by up to 7×. Then, we use Tucana to replace the storage engine of HBase and compare it to native HBase and Cassandra two of the most popular NoSQL stores. Our results show that Tucana outperforms HBase by up to 8× in CPU efficiency and by up to 10× in throughput. Tucana's improvements are even higher when compared to Cassandra.

Read the paper · More papers on PaperTik