Information Systems, volume 125, pages 102403
Storage management with multi-version partitioned BTrees
Christian Riegger
1
,
Ilia Petrov
1
Publication type: Journal Article
Publication date: 2024-11-01
Journal:
Information Systems
scimago Q1
SJR: 1.201
CiteScore: 9.4
Impact factor: 3
ISSN: 03064379, 21560749
Abstract
Modern persistent Key/Value-Stores operate on updatable datasets – massively exceeding the size of available main memory. Tree-based key/value storage management structures became particularly popular in storage engines. B+-Trees allow constant search performance, however write-heavy workloads yield inefficient write patterns to secondary storage devices and poor performance characteristics. LSM-Trees overcome this issue by horizontal partitioning fractions of data – small enough to fully reside in main memory, but require frequent maintenance to sustain search performance. To this end, firstly, we propose Multi-Version Partitioned BTrees (MV-PBT) as sole storage and index management structure in key-sorted storage engines like Key/Value-Stores. Secondly, we compare MV-PBT against LSM-Trees. The logical horizontal partitioning in MV-PBT allows leveraging recent advances in modern B+-Tree techniques in a small transparent and memory resident portion of the structure. Structural properties sustain steady read performance, even on historical data, and yield efficient write patterns as well as reduced write-amplification. We integrate MV-PBT in the WiredTiger key/value storage engine. MV-PBT offers an up to 2x increased steady throughput in comparison to LSM-Trees and several orders of magnitude in comparison to B+-Trees in a YCSB workload. Moreover, MV-PBT exhibits robust time-travel query performance and outperforms LSM-Trees by 20% and B+-Trees by an order of magnitude.
Found
Are you a researcher?
Create a profile to get free access to personal recommendations for colleagues and new articles.