当前位置: X-MOL 学术Front. Comput. Sci. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Accurate and efficient follower log repair for Raft-replicated database systems
Frontiers of Computer Science ( IF 4.2 ) Pub Date : 2021-01-04 , DOI: 10.1007/s11704-019-8349-0
Jinwei Guo , Peng Cai , Weining Qian , Aoying Zhou

State machine replication has been widely used in modern cluster-based database systems. Most commonly deployed configurations adopt the Raft-like consensus protocol, which has a single strong leader which replicates the log to other followers. Since the followers can handle read requests and many real workloads are usually read-intensive, the recovery speed of a crashed follower may significantly impact on the throughput. Different from traditional database recovery, the recovering follower needs to repair its local log first. Original Raft protocol takes many network round trips to do log comparison between leader and the crashed follower. To reduce network round trips, an optimization method is to truncate the follower’s uncertain log entries behind the latest local commit point, and then to directly fetch all committed log entries from the leader in one round trip. However, if the commit point is not persisted, the recovering follower has to get the whole log from the leader. In this paper, we propose an accurate and efficient log repair (AELR) algorithm for follower recovery. AELR is more robust and resilient to follower failure, and it only needs one network round trip to fetch the least number of log entries for follower recovery. This approach is implemented in the open source database system OceanBase. We experimentally show that the system adopting AELR has a good performance in terms of recovery time.



中文翻译:

准确有效的筏复制数据库系统的从属日志修复

状态机复制已在现代基于群集的数据库系统中广泛使用。最普遍部署的配置采用类似Raft的共识协议,该协议有一个强大的领导者,可以将日志复制到其他关注者。由于关注者可以处理读取请求,并且许多实际工作负荷通常都是读取密集型的,因此崩溃的关注者的恢复速度可能会严重影响吞吐量。与传统的数据库恢复不同,恢复的跟随者需要首先修复其本地日志。原始的Raft协议需要进行许多网络往返,才能在领导者和崩溃的跟随者之间进行日志比较。为了减少网络往返,一种优化方法是在最新的本地提交点之后截断追随者的不确定日志条目,然后在一次往返中直接从领导者获取所有已提交的日志条目。但是,如果提交点不持久,则恢复跟随者必须从领导者那里获取整个日志。在本文中,我们提出了一种用于追随者恢复的准确高效的日志修复(AELR)算法。AELR 对跟随者故障更加健壮和有弹性,它仅需要一次网络往返即可获取最少数量的日志条目以进行跟随者恢复。该方法在开源数据库系统OceanBase中实现。我们通过实验表明,采用AELR的系统在恢复时间方面具有良好的性能。

更新日期:2021-01-04
down
wechat
bug