百合文库
首页 > 网文

Tebis: Index Shipping for Efficient Replication in LSM Key-Value(2)

2024-06-14 来源:百合文库
1 Introduction Key-value (KV)存储是现代数据中心存储栈的核心。这些系统通常使用LSM树索引结构,因为它可以实现:1)在保持良好的读取和扫描性能的同时,对小的和可变大小的数据项进行快速的数据采集,2)存储设备上的空间开销低。然而,基于lsm的KV存储在重新组织多级索引时,存在很大的压缩开销,包括I/O放大和CPU开销。
为了提供可靠性和可用性,最先进的KV存储系统在多个(通常是两个或三个)节点中复制KV对。当前的设计通过执行昂贵的合并来重新组织主节点和备份节点中的数据,以确保:(a)通过只在节点之间移动用户数据来最小化网络流量,(b)通过只执行大I/ Os来顺序设备访问。但是,这种方法在读取I/O流量、CPU利用率和备份时的内存使用方面有显著的增加。考虑到所有节点同时充当主节点和备份节点,这种方法最终会损害系统的整体性能。在我们的工作中,我们依赖于两个观察结果:1)数据中心对RDMA使用的增加,在CPU利用率较低的情况下增加了可用吞吐量。这使得用网络流量交换CPU和设备I/O是可行的。2)在最先进的KV存储中使用KV分离,根据KV对的大小,减少了索引的大小。

Tebis: Index Shipping for Efficient Replication in LSM Key-Value


不同于将值和键存储在LSM树中,KV分离将值存储在单独的日志中,并使用额外的元数据指向值日志。这种技术通过引入小的随机读I/O将I/O放大幅度降低了10倍,这对快速存储设备没有那么大的危害。此外,最近的工作显著改善了KV分离的垃圾收集开销。
在本文中,我们设计并实现了Tebis,一个高效的基于lsm的复制KV存储系统。Tebis的主要新奇之处在于,它通过从主服务器传送一个预构建的索引来减少备份的合并开销。该方法减少了备份节点的读I/O扩增、CPU开销和内存利用率。
Tebis的设计解决了一个主要的和两个次要的挑战。主要的挑战是备份节点上索引的高效重写机制:备份节点上收到的索引包含主节点上设备的段偏移量。Tebis在对齐的主段和备份段之间创建映射。然后,它利用这些映射高效地重写备份中的设备位置。

Tebis: Index Shipping for Efficient Replication in LSM Key-Value


猜你喜欢