In this post, we'll continue onto topic of Commutative Replicated Data Types. We already mentioned how to prepare first, the most basic types of collections: sets. This time we'll go take a look at indexed sequences with add/remove operations.…
crdt
A collection of 16 posts
Operation-based CRDTs: registers and sets
Last time we started our operation-based CRDTs sub-series, as we moved away from state-based CRDTs. We talked mostly about core requirements and sample implementation of RCB (Reliable Causal Broadcast) protocol, which was necessary to provide guarantees required by Commutative Replicated…
Operation based CRDTs: protocol
Today we'll continue a series about CRDTs, this time however we'll stray from the path of state-based CRDTs and start talking about their operation-based relatives. The major difference that we need to cover, is the center of gravity of this…
State-based CRDTs: Maps
In this blog post, we'll cover the idea of CRDT maps, and how we could create them and utilize them in common scenarios. A prerequisite for this talk is some general knowledge of CRDTs, especially observed-remove sets, which were already…
State-based CRDTs: Bounded Counter
Originally, I didn't want to make a separate blog post about design behind bounded counters, but since beside original paper and a very few implementation living in the wild, this CRDT is widely unknown, I've decided to give it a…
Optimizing state-based CRDTs (part 2)
In this blog post we'll continue exploring the ideas behind optimizing state-based CRDTs. This is a third post from the series. If you haven't read them before this article and don't feel familiar with CRDTs, I advise you to do…
Optimizing state-based CRDTs (part 1)
Other posts from this series: An introduction to state-based CRDTs Optimizing state-based CRDTs (part 1) Optimizing state-based CRDTs (part 2) State-based CRDTs: BoundedCounter State-based CRDTs: Map Operation-based CRDTs: protocol Operation-based CRDTs: registers and sets Operation-based CRDTs: arrays (part 1) Operation-based…
An introduction to state-based CRDTs
Other posts from this series: An introduction to state-based CRDTs Optimizing state-based CRDTs (part 1) Optimizing state-based CRDTs (part 2) State-based CRDTs: BoundedCounter State-based CRDTs: Map Operation-based CRDTs: protocol Operation-based CRDTs: registers and sets Operation-based CRDTs: arrays (part 1) Operation-based…