Litcius/Paper detail

Nova-LSM: A Distributed, Component-based LSM-tree Key-value Store

Haoyu Huang, Shahram Ghandeharizadeh

202145 citationsDOIOpen Access PDF

Abstract

The cloud infrastructure motivates disaggregation of monolithic data stores into components that are assembled together based on an application's workload. This study investigates disaggregation of an LSM-tree key-value store into components that communicate using RDMA. These components separate storage from processing, enabling processing components to share storage bandwidth and space. The processing components scatter blocks of a file (SSTable) across an arbitrary number of storage components and balance load across them using power-of-d. They construct ranges dynamically at runtime to parallelize compaction and enhance performance. Each component has configuration knobs that control its scalability. The resulting component-based system, Nova-LSM, is elastic. It outperforms its monolithic counterparts, both LevelDB and RocksDB, by several orders of magnitude with workloads that exhibit a skewed pattern of access to data.

Topics & Concepts

Computer scienceComponent (thermodynamics)Cloud computingConstruct (python library)Data accessComputer data storageBandwidth (computing)Data processingDistributed computingDatabaseKey (lock)Operating systemCloud storageReal-time computingDistributed databaseEmbedded systemData structureComputer networkComputer hardwareCloud Computing and Resource ManagementAdvanced Data Storage TechnologiesDistributed and Parallel Computing Systems