Encyclopedia of Database Systems

Living Edition
| Editors: Ling Liu, M. Tamer Özsu

Replicated Data Types

  • Marc Shapiro
Living reference work entry
DOI: https://doi.org/10.1007/978-1-4899-7993-3_80813-1

Synonyms

Definition

Conflict-free replicated data types (CRDTs) were invented to encapsulate and hide the complexity of managing Eventual Consistency. A CRDT is an abstract data type that implements some familiar object, such as a counter, a set, or a sequence. Internally, a CRDT is replicated, to provide reliability, availability, and responsiveness. Encapsulation hides the details of replication and conflict resolution.

In a sequential execution, the CRDT behaves like its sequential counterpart. Thus, a CRDT is reusable by programmers without detailed knowledge of its implementation. Furthermore, a CRDT supports concurrent updates and encapsulates some strategy that provably ensures that replicas of the CRDT will converge despite this concurrency. Concurrent updates are never...

This is a preview of subscription content, log in to check access.

Recommended Readings

  1. 1.
    Almeida PS, Shoker A, Baquero C. Efficient state-based CRDTs by delta-mutation. In: International Conference on Networked Systems (NETYS). Lecture notes in computer science, Agadir. Vol. 9466, p. 62–76. May 2015.Google Scholar
  2. 2.
    Attiya H, Burckhardt S, Gotsman A, Morrison A, Yang H, Zawirski M. Specification and complexity of collaborative text editing. In: Principles of Distributed Computing (PODC), Chicago. ACM; Jul 2016 p. 259–268. doi: 10.1145/2933057.2933090. https://hal.inria.fr/hal-01351512.
  3. 3.
    Balegas V, Preguiça N, Rodrigues R, et al. Putting consistency back into eventual consistency. In: European Conference on Computer Systems (EuroSys), Bordeaux. p. 6:1–6:16. Apr 2015.Google Scholar
  4. 4.
    Baquero C, Moura F. Using structural characteristics for autonomous operation. Oper Syst Rev. 1999;33(4):90–96. ISSN:0163-5980.CrossRefGoogle Scholar
  5. 5.
    Baquero C, Almeida PS, Shoker A. Making operation-based CRDTs operation-based. In: International Conference on Distributed Applications and Interoperability System (DAIS). Lecture notes in computer science, Berlin. Vol. 8460, p. 126–40. June 2014.Google Scholar
  6. 6.
    Basho Inc. Data types, version 2.1.1. https://docs.basho.com/riak/kv/2.1.1/developing/data-types/, Viewed May 2016.
  7. 7.
    Bieniusa A, Zawirski M, Preguiça N, et al. An optimized conflict-free replicated set. Rapport de Recherche RR-8083, Institut National de la Recherche en Informatique et Automatique (Inria), Rocquencourt. Oct 2012.Google Scholar
  8. 8.
    Burckhardt S, Fahndrich M, Leijen D, et al. Cloud types for eventual consistency. In: European Conference on Object-Oriented Programming (ECOOP), Beijing. p. 283–307. June 2012.Google Scholar
  9. 9.
    Burckhardt S, Gotsman A, Yang H, et al. Replicated data types: specification, verification, optimality. In: Symposium on Principles of Programming Languages (POPL), San Diego. p. 271–84. Jan 2014.Google Scholar
  10. 10.
    DeCandia G, Hastorun D, Jampani M, et al. Dynamo: Amazon’s highly available key-value store. In: Symposium on Operating Systems Principles (SOSP). Operating systems review, Stevenson. Vol. 41, p. 205–20. Oct 2007.Google Scholar
  11. 11.
    Gotsman A, Yang H, Ferreira C, et al. ’Cause I’m strong enough: reasoning about consistency choices in distributed systems. In: Symposium on Principles of Programming Languages (POPL), St. Petersburg. p. 371–84. 2016.Google Scholar
  12. 12.
    Johnson PR, Thomas RH. The maintenance of duplicate databases. Internet Request for Comments RFC 677, Information Sciences Institute. Jan 1976.Google Scholar
  13. 13.
    Li C, Porto D, Clement A, et al. Making geo-replicated systems fast as possible, consistent when necessary. In: Symposium on Operating Systems Design and Implementation (OSDI), Hollywood. p. 265–78. Oct 2012.Google Scholar
  14. 14.
    Preguiça N, Marquès JM, Shapiro M, et al. A commutative replicated data type for cooperative editing. In: International Conference on Distributed Computer Systems (ICDCS), Montréal. p. 395–403. June 2009.Google Scholar
  15. 15.
    Roh H-G, Jeon M, Kim J-S, et al. Replicated abstract data types: building blocks for collaborative applications. J Parallel Distrib Comput. 2011;71(3):354–68.CrossRefMATHGoogle Scholar
  16. 16.
    Shapiro M, Preguiça N, Baquero C, et al. A comprehensive study of convergent and commutative replicated data types. Rapport de Recherche 7506, Institut National de la Recherche en Informatique et Automatique (Inria), Rocquencourt. Jan 2011.Google Scholar
  17. 17.
    Shapiro M, Preguiça N, Baquero C, et al. Conflict-free replicated data types. In: International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS). Lecture notes in computer science, Grenoble. Vol. 6976, p. 386–400. Oct 2011.Google Scholar
  18. 18.
    Shapiro M, Preguiça N, Baquero C, et al. Convergent and commutative replicated data types. Bull Euro Assoc Theor Comput Sci (EATCS). 2011;(104): 67–88.Google Scholar
  19. 19.
    Sun C, Ellis C. Operational transformation in real-time group editors: issues, algorithms, and achievements. In: International Conference on Computer-Supported Cooperative Work (CSCW), Seattle. p. 59. Nov 1998.Google Scholar
  20. 20.
    The SyncFree Consortium. Antidote DB: a planet-scale, available, transactional database with strong semantics. http://antidoteDB.eu/.
  21. 21.
    Wuu GTJ, Bernstein AJ. Efficient solutions to the replicated log and dictionary problems. In: Symposium on Principles of Distributed Computing (PODC), Vancouver. p. 233–242. Aug 1984.Google Scholar

Copyright information

© Springer Science+Business Media LLC 2017

Authors and Affiliations

  1. 1.Sorbonne-Universités-UPMC-LIP6 & InriaParisFrance