A CRDT primer: Why CRDTs are perfect for eventual consistency





Who is this presentation for?
- Software engineers and software architects
Level
Description
When it comes to distributed systems, coordination is slow. CRDTs are data structures that promise strong eventual consistency for highly available systems without the costs of coordination. If you’ve read about the theory behind state-based CRDTs, you may have run across the term “monotonic join semi-lattice." Despite the intimidating name, this concept (drawn from order theory) is built out of familiar elements.
John Mumm starts with these familiar elements of theory to build up to the complete mathematical concept. You’ll look at how state-based CRDTs work, relying on the lessons you’ve learned from order theory. John explores why you might want to use CRDTs in your own system by looking at an imaginary photo-sharing app called BirdWatch. Users of this app are much more interested in getting immediate feedback than in seeing the most up-to-date possible view of the entire system, which means you should consider eventual consistency. If you need to design your own CRDTs in practice, it’s helpful to understand the theory underlying them.
Once you understand why CRDTs are such a perfect fit for eventual consistency, you’ll implement a simple CRDT called a G-Counter and see that something just a little more sophisticated than a G-Counter could be a great fit for BirdWatch or similar apps. You’ll leave understanding why that dreaded “monotonic join semi-lattice” isn’t really that complex after all.
Prerequisite knowledge
- A basic understanding of the principles underlying distributed systems
What you'll learn
- Learn why CRDTs are a perfect fit for eventual consistency, how the mathematics underlying them can be understood by building up from simple concepts, and how this theoretical basis can be useful for implementing CRDTs in practice

John Mumm
Wallaroo Labs
John Mumm is a software architect at Wallaroo Labs based in Netherlands, where he works on an open source high-performance framework for building stateful distributed applications. John holds a PhD in philosophy.
Gold Sponsor
Silver Sponsors
Exhibitor
Innovator
Supporter
Diversity & Inclusion Sponsor
Contact us
confreg@oreilly.com
For conference registration information and customer service
partners@oreilly.com
For more information on community discounts and trade opportunities with O’Reilly conferences
Become a sponsor
For information on exhibiting or sponsoring a conference
pr@oreilly.com
For media/analyst press inquires