On Designing a Compaction Strategy for Enhanced LevelDB Read Performance

Key-value stores based on a Log-Structured Merge-Tree, especially LevelDB, are extensively used for managing unstructured data with no predefined schema. LevelDB’s popularity stems from an optimized write performance, achieved through in-memory buffers, sequential disk writes, and background compaction. Although the write performance is satisfactory, the read performance is, at best, marginally acceptable, particularly for random (non-contiguous) reads. Read performance can be enhanced by optimizing the compaction strategy (i.e., the trade-off between the number of levels and the number of tables per level). LevelDB utilizes geometric progression to determine compaction table size, which often leads to increased read latency due to the inefficient distribution of compaction tables across levels. We propose utilizing power law distribution to determine compaction table size for each level, which in turn improves read efficiency. Our empirical results show a reduction in average query runtime (up to 2%), an increase in read throughput (up to 2.5%), and a decrease in average latency (up to 2%) on YCSB’s read-only workload.

Authors

Institutions

Publication Details

Published
2024-12-18
DOI
https://doi.org/10.1145/3703323.3703707
Primary Topic
Advanced Data Storage Technologies
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

On Designing a Compaction Strategy for Enhanced LevelDB Read Performance

Sarvesh Pandey, Umesh Bhatt
Advanced Data Storage Technologies
article

On Designing a Compaction Strategy for Enhanced LevelDB Read Performance

Sarvesh Pandey, Umesh Bhatt
article en

Abstract

Key-value stores based on a Log-Structured Merge-Tree, especially LevelDB, are extensively used for managing unstructured data with no predefined schema. LevelDB’s popularity stems from an optimized write performance, achieved through in-memory buffers, sequential disk writes, and background compaction. Although the write performance is satisfactory, the read performance is, at best, marginally acceptable, particularly for random (non-contiguous) reads. Read performance can be enhanced by optimizing the compaction strategy (i.e., the trade-off between the number of levels and the number of tables per level). LevelDB utilizes geometric progression to determine compaction table size, which often leads to increased read latency due to the inefficient distribution of compaction tables across levels. We propose utilizing power law distribution to determine compaction table size for each level, which in turn improves read efficiency. Our empirical results show a reduction in average query runtime (up to 2%), an increase in read throughput (up to 2.5%), and a decrease in average latency (up to 2%) on YCSB’s read-only workload.

Indian Institute of Technology Madras (IN), Banaras Hindu University (IN)
Openalex Percentile: Top 64%
Advanced Data Storage Technologies
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

On Designing a Compaction Strategy for Enhanced LevelDB Read Performance — Sarvesh Pandey, Umesh Bhatt · (2024) | TGRS Research Map | TGRS