Constructing and Analyzing the LSM Compaction Design Space (Updated Version)

02/09/2022
by   Subhadeep Sarkar, et al.
0

Log-structured merge (LSM) trees offer efficient ingestion by appending incoming data, and thus, are widely used as the storage layer of production NoSQL data stores. To enable competitive read performance, LSM-trees periodically re-organize data to form a tree with levels of exponentially increasing capacity, through iterative compactions. Compactions fundamentally influence the performance of an LSM-engine in terms of write amplification, write throughput, point and range lookup performance, space amplification, and delete performance. Hence, choosing the appropriate compaction strategy is crucial and, at the same time, hard as the LSM-compaction design space is vast, largely unexplored, and has not been formally defined in the literature. As a result, most LSM-based engines use a fixed compaction strategy, typically hand-picked by an engineer, which decides how and when to compact data. In this paper, we present the design space of LSM-compactions, and evaluate state-of-the-art compaction strategies with respect to key performance metrics. Toward this goal, our first contribution is to introduce a set of four design primitives that can formally define any compaction strategy: (i) the compaction trigger, (ii) the data layout, (iii) the compaction granularity, and (iv) the data movement policy. Together, these primitives can synthesize both existing and completely new compaction strategies. Our second contribution is to experimentally analyze 10 compaction strategies. We present 12 observations and 7 high-level takeaway messages, which show how LSM systems can navigate the compaction design space.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/08/2020

Lethe: A Tunable Delete-Aware LSM Engine (Updated Version)

Data-intensive applications fueled the evolution of log structured merge...
research
05/08/2023

Autumn: A Scalable Read Optimized LSM-tree based Key-Value Stores with Fast Point and Range Read Speed

The Log Structured Merge Trees (LSM-tree) based key-value stores are wid...
research
06/08/2020

Lethe: A Tunable Delete-Aware LSM Engine

Data-intensive applications fueled the evolution of log structured merge...
research
06/23/2019

On Performance Stability in LSM-based Storage Systems

The Log-Structured Merge-Tree (LSM-tree) has been widely adopted for use...
research
08/27/2018

Efficient Data Ingestion and Query Processing for LSM-Based Storage Systems

In recent years, the Log Structured Merge (LSM) tree has been widely ado...
research
07/31/2023

AisLSM: Revolutionizing the Compaction with Asynchronous I/Os for LSM-tree

The log-structured merge tree (LSM-tree) is widely employed to build key...
research
02/04/2022

Direct Telemetry Access

The emergence of programmable switches allows operators to collect a vas...

Please sign up or login with your details

Forgot password? Click here to reset