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是首个利用强化学习指导LSM树结构转换的研究;(3)RusKey包含一种名为FLSM树的新型LSM树设计,用于实现不同压缩策略——动态键值存储的瓶颈——之间的高效转换。我们通过理论分析验证了新设计的优越性;(4)与现有最先进技术不同,RusKey无需任何先验工作负载知识即可进行系统调优。实验表明,RusKey在多种工作负载下展现出强大的性能鲁棒性,在多种配置下其端到端性能相比RocksDB系统最高提升达4倍。