Contents

Key Value Systems

Contents
  • LSM-tree survey
  • WiscKey: key/value separation
  • HashKV: store cold keys separately.
  • LSM-trie
  • PebblesDB
  • KVell
  • Skip-Tree: put kv items directly to non-adjacent layers (skipping some intermediate layers) to reduce write amplification from level-to-level data compaction.
  • TRIAD: separate hot keys from cold keys. hot keys are stored in memtable for as long as possible. Use multiple memtables and flush them at once to disk.
  • Pipelined Compaction Procedure: A compaction contains three phases: read phase, merge-sort phase, and write phase. Pipeline these three phases, to overlap CPU and disk IO.
  • cLSM: LSM-tree for multi-core processors. It exploits multiprocessor-friendly data structures and non-blocking synchronization. cLSM supports a rich API, including consistent snapshot scans and general non-blocking read-modify-write operations.
  • Towards Accurate and Fast Evaluation of Multi-Stage Log-Structured Designs
  • Dostoevsky: evaluated against well-tuned LSM-trees. Extends the design space of LSM-trees with a new merge policy by combining leveling and tiering. very useful for certain workloads that require efficient writes, point lookups, and long range queries with less emphasis on short range queries.
  • Mutant: decide which type of cloud disks to place SStables, based on access pattern.
  • diff-index: use LSM-tree as secondary indexes.