Checking Causal Consistency of MongoDB  

在线阅读下载全文

作  者:Hong-Rong Ouyang Heng-Feng Wei Hai-Xiang Li An-Qun Pan Yu Huang 欧阳鸿荣;魏恒峰;李海翔;潘安群;黄宇(State Key Laboratory for Novel Software Technology,Nanjing University,Nanjing 210023,China;Software Institute,Nanjing University,Nanjing 210093,China;Tencent Distributed SQL Team of Technology and Engineering Group of Tencent,Tencent Inc.,Shenzhen 518054,China)

机构地区:[1]State Key Laboratory for Novel Software Technology,Nanjing University,Nanjing 210023,China [2]Software Institute,Nanjing University,Nanjing 210093,China [3]Tencent Distributed SQL Team of Technology and Engineering Group of Tencent,Tencent Inc.,Shenzhen 518054,China

出  处:《Journal of Computer Science & Technology》2022年第1期128-146,共19页计算机科学技术学报(英文版)

基  金:supported by the CCF-Tencent Open Fund under Grant No.RAGR20200124;the National Natural Science Foundation of China under Grant Nos.61702253 and 61772258.

摘  要:MongoDB is one of the first commercial distributed databases that support causal consistency.Its implementation of causal consistency combines several research ideas for achieving scalability,fault tolerance,and security.Given its inherent complexity,a natural question arises:"Has MongoDB correctly implemented causal consistency as it claimed?"To address this concern,the Jepsen team has conducted black-box testing of MongoDB.However,this Jepsen testing has several drawbacks in terms of specification,test case generation,implementation of causal consistency checking algorithms,and testing scenarios,which undermine the credibility of its reports.In this work,we propose a more thorough design of Jepsen testing of causal consistency of MongoDB.Specifically,we fully implement the causal consistency checking algorithms proposed by Bouajjani et al.and test MongoDB against three well-known variants of causal consistency,namely CC,CCv,and CM,under various scenarios including node failures,data movement,and network partitions.In addition,we develop formal specifications of causal consistency and their checking algorithms in TLA^(+),and verify them using the TLC model checker.We also explain how TLA^(+) specification can be related to Jepsen testing.

关 键 词:MONGODB casual consistency Jepsen consistency checking TLA^(+) 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象