LSM-trees are widely adopted as the storage backend of key-value stores. However, optimizing the system performance under dynamic workloads has not been sufficiently studied or evaluated in previous work. To fill the gap, we present RusKey, a key-value store with the following new features: (1) RusKey is a first attempt to orchestrate LSM-tree structures online to enable robust performance under the context of dynamic workloads; (2) RusKey is the first study to use Reinforcement Learning (RL) to guide LSM-tree transformations; (3) RusKey includes a new LSM-tree design, named FLSM-tree, for an efficient transition between different compaction policies -- the bottleneck of dynamic key-value stores. We justify the superiority of the new design with theoretical analysis; (4) RusKey requires no prior workload knowledge for system adjustment, in contrast to state-of-the-art techniques. Experiments show that RusKey exhibits strong performance robustness in diverse workloads, achieving up to 4x better end-to-end performance than the RocksDB system under various settings.
翻译:LSM树被广泛用作键值存储系统的存储后端。然而,在动态工作负载下优化系统性能的问题在现有研究中尚未得到充分探讨与评估。为填补这一空白,我们提出RusKey——一款具备以下新特性的键值存储系统:(1) RusKey首次尝试在线编排LSM树结构,以实现动态工作负载场景下的鲁棒性能;(2) RusKey首次采用强化学习(RL)指导LSM树结构转换;(3) RusKey提出名为FLSM-tree的新型LSM树设计,支持不同合并策略(动态键值存储系统的性能瓶颈)间的高效转换。我们通过理论分析验证了新设计方案的优越性;(4) 与现有最优技术不同,RusKey无需预先掌握工作负载知识即可完成系统调整。实验表明,RusKey在多类工作负载下展现出强劲的性能鲁棒性,在多种配置下其端到端性能相较于RocksDB系统最高可提升4倍。