Verifying Transactional Consistency of MongoDB
Hongrong Ouyang, Hengfeng Wei, Yu Huang, Haixiang Li, Anqun Pan

TL;DR
This paper formally specifies and verifies the transactional consistency protocols of MongoDB across its different deployment modes, proving they satisfy various snapshot isolation guarantees and providing efficient checking algorithms.
Contribution
It provides the first formal pseudocode and proofs for MongoDB's transaction consistency guarantees in each deployment mode.
Findings
WIREDTIGER satisfies Strong-SI
REPLICASET satisfies Realtime-SI
SHARDEDCLUSTER satisfies Session-SI
Abstract
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.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Advanced Data Storage Technologies · Security and Verification in Computing
