Implementation of cluster-wide logical clock and causal consistency in MongoDB

25Citations
Citations of this article
34Readers
Mendeley users who have this article in their library.
Get full text

Abstract

MongoDB is a distributed database that supports replication and horizontal partitioning (sharding). MongoDB replica sets consist of a primary that accepts all client writes and then propagates those writes to the secondaries. Each member of the replica set contains the same set of data. For horizontal partitioning, each shard (or partition) is a replica set. This paper discusses the design and rationale behind MongoDB's implementation of a cluster-wide logical clock and causal consistency. The design leveraged ideas from across the research community to ensure that the implementation adds minimal processing overhead, tolerates possible operator errors, and gives protection against non-trusted client attacks. While the goal of the team was not to discover or test new algorithms, the practical implementation necessitated a novel combination of ideas from the research community on causal consistency, security, and minimal performance overhead at scale. This paper describes a large scale, practical implementation of causal consistency using a hybrid logical clock, adding the signing of logical time ranges to the protocol, and introducing performance optimizations necessary for systems at scale. The implementation seeks to define an event as a state change and as such must make forward progress guarantees even during periods of no state changes for a partition of data.

Cite

CITATION STYLE

APA

Tyulenev, M., Tan, R., Schwerin, A., Cabral, A., Kamsky, A., & Mulrow, J. (2019). Implementation of cluster-wide logical clock and causal consistency in MongoDB. In Proceedings of the ACM SIGMOD International Conference on Management of Data (pp. 636–650). Association for Computing Machinery. https://doi.org/10.1145/3299869.3314049

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free