Lune

VLDB2023Top-tier venue

Keep CALM and CRDT On

Shadaj Laddad, Conor Power, Mae Milano, Alvin Cheung, Natacha Crooks, Joseph M. Hellerstein

2023Year
13Citations
4Top-tier citations

Abstract

Despite decades of research and practical experience, developers have few tools for programming reliable distributed applications without resorting to expensive coordination techniques. Conflictfree replicated datatypes (CRDTs) are a promising line of work that enable coordination-free replication and offer certain eventual consistency guarantees in a relatively simple object-oriented API. Yet CRDT guarantees extend only to data updates; observations of CRDT state are unconstrained and unsafe. We propose an agenda that embraces the simplicity of CRDTs, but provides richer, more uniform guarantees. We extend CRDTs with a query model that reasons about which queries are safe without coordination by applying monotonicity results from the CALM Theorem, and lay out a larger agenda for developing CRDT data stores that let developers safely and efficiently interact with replicated application state. State-Based CRDTs We begin by reviewing the definition of state-based CRDTs. CvRDTs encapsulate the current ๐‘ ๐‘ก๐‘Ž๐‘ก๐‘’ of the replica; let the type of ๐‘ ๐‘ก๐‘Ž๐‘ก๐‘’ be called ๐‘‡ . The API for state-based CRDTs contains three classes of methods, all of which run locally on a single replica's state: Merge: merge is a single, required method that takes a value ๐‘ฃ of type ๐‘‡ as input. It combines ๐‘ ๐‘ก๐‘Ž๐‘ก๐‘’ with ๐‘ฃ to generate a value ๐‘ ๐‘ก๐‘Ž๐‘ก๐‘’ โ€ฒ of type ๐‘‡ , and updates itself so that ๐‘ ๐‘ก๐‘Ž๐‘ก๐‘’ = ๐‘ ๐‘ก๐‘Ž๐‘ก๐‘’ โ€ฒ . Constraint: the merge function must be ACI. Operations: these are methods that clients use to modify ๐‘ ๐‘ก๐‘Ž๐‘ก๐‘’. Constraint: operations must be monotonic with respect to the type ๐‘‡ . Queries: these are methods that do not modify ๐‘ ๐‘ก๐‘Ž๐‘ก๐‘’, but return a result that may be dependent on ๐‘ ๐‘ก๐‘Ž๐‘ก๐‘’.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

Cited by top-tier papers4

Ask how each one uses it

Builds on5

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines