arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2102.11960cs.DC
收藏

一种无日志动态重配置协议的设计与分析

Design and Analysis of a Logless Dynamic Reconfiguration Protocol

William Schultz, Siyuan Zhou, Ian Dardik, Stavros Tripakis

摘要:

基于复制状态机模型的分布式复制系统已经成为现代数据库系统的基础。为了保证系统在出现故障时的可用性,这些系统必须能够通过动态重新配置来动态地用健康的节点替换故障节点。MongoDB是一个面向文档的数据库,具有源自Raft协议的分布式复制机制。在本文中,我们提出了MongoRaftReconfig,一种新的动态重新配置协议的MongoDB复制系统。MongoRaftReconfig使用无日志的方法来管理配置状态,并从主数据库操作日志中删除配置更改的处理。该协议的设计受到了工程约束的影响,这些约束是在试图重新设计MongoDB中以前存在的不安全的遗留重新配置机制时所面临的。我们提供了MongoRaftReconfig的安全性证明,以及TLA+中的正式规范。据我们所知,这是第一个出版的安全证明和正式规范的重新配置协议的筏为基础的系统。我们也给出了有限协议实例上的模型检验结果。最后,我们讨论了MongoRaftReconfig的概念新颖性,它如何可以被理解为一个优化和广义版本的单服务器重新配置算法的筏,并提出了一个实验评估其优化如何可以提供性能优势的重新配置。

英文摘要:

Distributed replication systems based on the replicated state machine model have become ubiquitous as the foundation of modern database systems. To ensure availability in the presence of faults, these systems must be able to dynamically replace failed nodes with healthy ones via dynamic reconfiguration. MongoDB is a document oriented database with a distributed replication mechanism derived from the Raft protocol. In this paper, we present MongoRaftReconfig, a novel dynamic reconfiguration protocol for the MongoDB replication system. MongoRaftReconfig utilizes a logless approach to managing configuration state and decouples the processing of configuration changes from the main database operation log. The protocol's design was influenced by engineering constraints faced when attempting to redesign an unsafe, legacy reconfiguration mechanism that existed previously in MongoDB. We provide a safety proof of MongoRaftReconfig, along with a formal specification in TLA+. To our knowledge, this is the first published safety proof and formal specification of a reconfiguration protocol for a Raft-based system. We also present results from model checking its safety properties on finite protocol instances. Finally, we discuss the conceptual novelties of MongoRaftReconfig, how it can be understood as an optimized and generalized version of the single server reconfiguration algorithm of Raft, and present an experimental evaluation of how its optimizations can provide performance benefits for reconfigurations.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑