skip to main content
10.1145/2596631.2596633acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Riak DT map: a composable, convergent replicated dictionary

Published: 13 April 2014 Publication History

Abstract

Conflict-Free Replicated Data-Types (CRDTs) [6] provide greater safety properties to eventually-consistent distributed systems without requiring synchronization. CRDTs ensure that concurrent, uncoordinated updates have deterministic outcomes via the properties of bounded join-semilattices.
We discuss the design of a new convergent (state-based) replicated data-type, the Map, as implemented by the Riak DT library [4] and the Riak data store [3]. Like traditional dictionary data structures, the Map associates keys with values, and provides operations to add, remove, and mutate entries. Unlike traditional dictionaries, all values in the Map data structure are also state-based CRDTs and updates to embedded values preserve their convergence semantics via lattice inflations [1] that propagate upward to the top-level. Updates to the Map and its embedded values can also be applied atomically in batches. Metadata required for ensuring convergence is minimized in a manner similar to the optimized OR-set [5].
This design allows greater flexibility to application developers working with semi-structured data, while removing the need for the developer to design custom conflict-resolution routines for each class of application data. We also discuss the experimental validation of the data-type using stateful property-based tests with QuickCheck [2].

References

[1]
P. S. Almeida, C. Baquero, and A. Cunha. Composing Lattices and CRDTs. In B. Kemme, G. Ramalingam, A. Schiper, M. Shapiro, and K. Vaswani, editors, Consistency in Distributed Systems (Dagstuhl Seminar 13081), volume 3, pages 92--126, Dagstuhl, Germany, Feb. 2013. Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik. URL http://www.dagstuhl.de/mat/Files/13/13081/13081.BaqueroCarlos.Slides.pdf.
[2]
T. Arts, L. M. Castro, and J. Hughes. Testing Erlang Data Types with Quviq Quickcheck. In Proceedings of the 7th ACM SIGPLAN Workshop on ERLANG, ERLANG '08, pages 1--8, New York, NY, USA, 2008. ACM. ISBN 978-1-60558-065-4. URL http://doi.acm.org/10.1145/1411273.1411275.
[3]
Basho Technologies, Inc. Riak source code repository. https://github.com/basho/riak, 2009--2014.
[4]
Basho Technologies, Inc. Riak DT source code repository. https://github.com/basho/riak_dt, 2012--2014.
[5]
A. Bieniusa, M. Zawirski, N. Preguiça, M. Shapiro, C. Baquero, V. Balegas, and S. Duarte. An optimized conflict-free replicated set. ArXiv e-prints, Oct. 2012.
[6]
M. Shapiro, N. Preguiça, C. Baquero, and M. Zawirski. A comprehensive study of Convergent and Commutative Replicated Data Types. Rapport de recherche RR-7506, INRIA, Jan. 2011. URL http://hal.inria.fr/inria-00555588.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PaPEC '14: Proceedings of the First Workshop on Principles and Practice of Eventual Consistency
April 2014
47 pages
ISBN:9781450327169
DOI:10.1145/2596631
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 April 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. QuickCheck
  2. commutative operations
  3. data replication
  4. dynamo
  5. erlang
  6. eventual consistency
  7. property-based testing
  8. riak

Qualifiers

  • Research-article

Funding Sources

Conference

EuroSys 2014
Sponsor:
EuroSys 2014: Ninth Eurosys Conference 2014
April 13, 2014
Amsterdam, The Netherlands

Acceptance Rates

PaPEC '14 Paper Acceptance Rate 16 of 20 submissions, 80%;
Overall Acceptance Rate 16 of 20 submissions, 80%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)20
  • Downloads (Last 6 weeks)1
Reflects downloads up to 27 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Approaches to Conflict-free Replicated Data TypesACM Computing Surveys10.1145/369524957:2(1-36)Online publication date: 9-Sep-2024
  • (2023)Efficient Synchronization of CRDTs using VCube-PSProceedings of the 12th Latin-American Symposium on Dependable and Secure Computing10.1145/3615366.3615421(50-59)Online publication date: 16-Oct-2023
  • (2023)OrderlessChainProceedings of the 24th International Middleware Conference10.1145/3590140.3629111(137-150)Online publication date: 27-Nov-2023
  • (2022)Efficient CRDT Synchronization at Scale using a Causal Multicast over a Virtual Hypercube OverlayProceedings of the 11th Latin-American Symposium on Dependable Computing10.1145/3569902.3569948(84-88)Online publication date: 21-Nov-2022
  • (2022)Strong eventual consistency of the collaborative editing framework WOOTDistributed Computing10.1007/s00446-021-00414-6Online publication date: 4-Jan-2022
  • (2022)Conflict-Free Replicated Data Types (CRDTs)Encyclopedia of Big Data Technologies10.1007/978-3-319-63962-8_185-2(1-10)Online publication date: 17-May-2022
  • (2021)Sliding Window CRDT Sketches2021 40th International Symposium on Reliable Distributed Systems (SRDS)10.1109/SRDS53918.2021.00036(288-298)Online publication date: Sep-2021
  • (2020)Conflict-Free Replicated Relations for Multi-Synchronous Database Management at Edge2020 IEEE International Conference on Smart Data Services (SMDS)10.1109/SMDS49396.2020.00021(113-121)Online publication date: Oct-2020
  • (2020)Replicated data types that unify eventual consistency and observable atomic consistencyJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2020.100561(100561)Online publication date: May-2020
  • (2019)Linearizable State Machine Replication of State-Based CRDTs without LogsProceedings of the 2019 ACM Symposium on Principles of Distributed Computing10.1145/3293611.3331568(455-457)Online publication date: 16-Jul-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media