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.