• DocumentCode
    2833981
  • Title

    A Principled Approach to Eventual Consistency

  • Author

    Shapiro, Marc

  • fYear
    2011
  • fDate
    27-29 June 2011
  • Firstpage
    1
  • Lastpage
    1
  • Abstract
    Replicating shared data is a fundamental mechanism in large-scale distributed systems, but suffers from a fundamental tension between scalability and data consistency. Eventual consistency sidesteps the (foreground) synchronisation bottleneck, but remains ad-hoc, error-prone, and difficult to prove correct. We present a promising new approach that is simple, scales almost indefinitely, and provably ensures eventual consistency: A CRDT is a data type that demonstrates some simple properties, viz. that its concurrent operations commute, or that its states form a semi-lattice. Any CRDT provably converges, provided all replicas eventually receive all operations. A CRDT requires no synchronisation: an update can execute immediately, irrespective of network latency, faults, or disconnection; it is highly scalable and fault-tolerant. The approach is necessarily limited since any task requiring consensus is out of reach. Nonetheless, many interesting and useful data types can be designed as a CRDT. We previously published the Treedoc CRDT, a sequence data type suited to concurrent editing tasks (as in a p2p wiki). This talk presents a portfolio of generally useful, non-trivial, composable CRDTs, including variations on counters, registers, sets, maps (key-value stores), graphs and sequences. This research is part of a systematic and principled study of CRDTs, to discover their power and limitations, and to better understand the underlying mechanisms and requirements. The challenges ahead include scaling garbage collection and integrating occasional non-commuting operations.
  • Keywords
    distributed processing; replicated databases; Treedoc CRDT; eventual consistency; large-scale distributed systems; sequence data type; shared data replication; Chapters; Distributed databases; Europe; Google; Internet; Operating systems; Synchronization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), 2011 20th IEEE International Workshops on
  • Conference_Location
    Paris
  • ISSN
    1524-4547
  • Print_ISBN
    978-1-4577-0134-4
  • Electronic_ISBN
    1524-4547
  • Type

    conf

  • DOI
    10.1109/WETICE.2011.76
  • Filename
    5990011