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.
翻译:云层基础设施激励将单流数据存储按应用程序工作量将单流数据存储分解成根据应用程序工作量组装的组件。 本研究调查将LSM-tree关键值存储分解成使用RDMA进行通信的组件。 这些组件将存储与处理分开,使处理组件能够共享存储带宽和空间。 处理组件将文件( SSTable) 的块块散布在任意数量的存储组件和平衡负荷中, 使用d型功率。 它们动态地在运行时设置范围, 以平行压缩和增强性能。 每个组件都有控制其可缩放性的配置 knobbs。 由此产生的基于组件的系统( Nova- LSM) 具有弹性性。 它比其单层对应系统( 级别DB 和 RocksDB) 的系统( ) 都高出几个数量级, 其工作量显示有扭曲的数据访问模式。