百合文库
首页 > 网文

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

2024-06-14 来源:百合文库
另一方面,持久化尾部段涉及主服务器和备份服务器的CPU。当主服务器的日志的尾部段已经满时,主服务器将这个段刷写到持久存储中(图2中的步骤2a),并向每个备份服务器发送一个flush尾部消息来持久化它们的RDMA缓冲区(图2中的步骤2b)。备份服务器收到刷写请求后,将相应的RDMA缓冲区写入持久存储中(图2中的步骤2c)。最后,它们向主服务器发送一个确认(图2中的步骤3)。
每个备份区域维护一个日志映射,其中包含条目,指定每个段在主备份存储设备上的位置。备份使用它们重写Send-Index方法中的主指针。log map的内存占用较小,以MB为单位。map中的每个条目为16b,一个值log为1tb、段大小为2mb的log map需要8mb。

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


为此,主捎带使用其存储设备中的尾部段编号来刷写消息。备份服务器在持久化它们的值日志尾部段之后,使用这些信息在它们的日志映射中创建相应的条目(图2中的步骤2d)。注意,备份中的日志映射在由于故障或负载均衡操作而发生主要更改之前是有效的。在这些情况下,Tebis将一个备份提升为新的主备份,其余备份需要更新它们的日志映射。该过程也是一个内存操作,不需要I/O。新的主节点将它的日志映射发送到其他备份节点。备份遍历map,用新的主节点的段号替换前一个节点的段号。
图2 Value log replication in Tebis.3.2 Index Shipping and Rewrite at the Backup Tebis避免了备份区域的完全压缩过程,以节省设备读I/O吞吐量、CPU和内存。相反,每次合并后,主索引都会将一个新索引发送到备份。Tebis中的主要挑战是重写备份中的索引以包含有效的设备地址,因为服务器不共享全局存储名称空间。

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


猜你喜欢