MongoDB is a popular general-purpose, document-oriented, distributed NoSQL database. It supports transactions in three different deployments: single-document transactions utilizing the WiredTiger storage engine in a standalone node, multi-document transactions in a replica set which consists of a primary node and several secondary nodes, and distributed transactions in a sharded cluster which is a group of multiple replica sets, among which data is sharded. A natural and fundamental question about MongoDB transactions is: What transactional consistency guarantee do MongoDB Transactions in each deployment provide? However, it lacks both concise pseudocode of MongoDB transactions in each deployment and formal specification of the consistency guarantees which MongoDB claimed to provide. In this work, we formally specify and verify the transactional consistency protocols of MongoDB. Specifically, we provide a concise pseudocode for the transactional consistency protocols in each MongoDB deployment, namely WIREDTIGER, REPLICASET, and SHARDEDCLUSTER, based on the official documents and source code. We then prove that WIREDTIGER, REPLICASET, and SHARDEDCLUSTER satisfy different variants of snapshot isolation, namely Strong-SI, Realtime-SI, and Session-SI, respectively. We also propose and evaluate efficient white-box checking algorithms for MongoDB transaction protocols against their consistency guarantees, effectively circumventing the NP-hard obstacle in theory.


翻译:MongoDB是一个广受欢迎的通用、以文件为导向、分布式的NOSQL数据库。它支持三种不同的交易:单文档交易,使用WiredTiger存储引擎的独立节点,多文档交易,复制集的多文档交易,由初级节点和几个二级节点组成,分散在碎裂的组群中,由多种复制组组成,其中数据被分割。关于MongoDB交易的自然和根本问题是:MongoDB交易在每次部署中提供什么样的交易一致性保证?然而,它缺乏每次部署中的MongoDB交易的简明假码,以及MongoDBA声称提供的一致性保证的正式规格。在这项工作中,我们正式指定和核查MongoDBDB的交易一致性协议。具体地说,我们为每次部署MongDBDB的会计一致性协议提供了简洁的假码,即WiREDTIGER、REPICAST和SADFSA的透明性协议,我们随后证明WA-BRO-CF-CRODF-CRODF AS 和SARVARVDRVDF-CS-CS-S-CRVADRVDF AS-CRVDRVDORDAR AS AS AS-CRV 有效保证。

0
下载
关闭预览

相关内容

MongoDB 是一种文件导向的 NoSQL 数据库,由 C++ 撰写而成。
专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
【电子书推荐】Data Science with Python and Dask
专知会员服务
43+阅读 · 2019年6月1日
一句话木马的各种变形
黑白之道
4+阅读 · 2019年7月13日
CCF C类 | DSAA 2019 诚邀稿件
Call4Papers
6+阅读 · 2019年5月13日
学术会议 | 知识图谱顶会 ISWC 征稿:Poster/Demo
开放知识图谱
5+阅读 · 2019年4月16日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
已删除
将门创投
4+阅读 · 2018年11月6日
计算机 | CCF推荐会议信息10条
Call4Papers
5+阅读 · 2018年10月18日
高可用+高并发+负载均衡架构设计
架构师之路
3+阅读 · 2017年9月5日
大数据的分布式算法
待字闺中
3+阅读 · 2017年6月13日
Arxiv
0+阅读 · 2022年1月28日
Arxiv
8+阅读 · 2018年1月30日
VIP会员
相关VIP内容
专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
最新BERT相关论文清单,BERT-related Papers
专知会员服务
52+阅读 · 2019年9月29日
【电子书推荐】Data Science with Python and Dask
专知会员服务
43+阅读 · 2019年6月1日
相关资讯
一句话木马的各种变形
黑白之道
4+阅读 · 2019年7月13日
CCF C类 | DSAA 2019 诚邀稿件
Call4Papers
6+阅读 · 2019年5月13日
学术会议 | 知识图谱顶会 ISWC 征稿:Poster/Demo
开放知识图谱
5+阅读 · 2019年4月16日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
已删除
将门创投
4+阅读 · 2018年11月6日
计算机 | CCF推荐会议信息10条
Call4Papers
5+阅读 · 2018年10月18日
高可用+高并发+负载均衡架构设计
架构师之路
3+阅读 · 2017年9月5日
大数据的分布式算法
待字闺中
3+阅读 · 2017年6月13日
Top
微信扫码咨询专知VIP会员