Fast Databases with Fast Durability and Recovery Through Multicore Parallelism

Starting from an efficient multicore database system, we show that naive logging and checkpoints make normal-case execution slower, but that frequent disk synchronization allows us to keep up with many workloads with only a modest reduction in throughput. We design throughout for parallelism: during logging, during checkpointing, and during recovery. The result is fast.


The Adaptive Radix Tree:ARTful Indexing for Main-Memory Databases

We present ART, an adaptive radix tree (trie) for efficient indexing in main memory. Its lookup performance surpasses highly tuned, read-only search trees, while supporting very efficient insertions and deletions as well. At the same time, ART is very space efficient and solves the problem of excessive worst-case space consumption, which plagues most radix trees, by adaptively choosing compact and efficient data structures for internal nodes.


RUC, I'm Coming!

Enabling Low Tail Latency on Multicore Key-Value Stores

We present RStore to enable low and predictable latency (i.e. low tail latency) and efficient use of hardware resources such as CPU, memory and storage through the following design points:

  • Asynchronous execution
  • Hybrid DRAM+NVM architecture
  • Log-structured storage
  • User-space networking

DFS Techniques

Less is More:De-amplifying I/Os for Key-value Stores with a Log-assisted LSM-tree

We present a novel scheme, called Log-assisted LSM-tree (L2SM), which adopts a small-size, multi-level log structure to isolate selected key-value items that have a disruptive effect on the tree structure, accumulates and absorbs the repeated updates in a highly efficient manner, and removes obsolete and deleted key-value items at an early stage.


Snappy Algorithm
RocksDB和db_bench安装与配置