In this blog post we're coming back to indexed sequence CRDTs - we already discussed some operation-based approaches in the past. This time we'll cover YATA (Yet Another Transformation Approach): a delta-state based variant, introduced [https:…
crdt
A collection of 21 posts
CRDT optimizations
After series of 11 blogs posts about Conflict-free Replicated Data Types, it's time to wrap up. This time let's discuss various optimizations that could be applied to CRDTs working at higher scale. Other blog posts from…
Pure operation-based CRDTs
In this blog post we'll continue on topic of operation-based CRDTs and focus on the optimizations and approach known as pure operation-based CRDTs [https://hal.inria.fr/hal-01287738/document]: how can we use them to address some of…
Operation-based CRDTs: JSON document
Today we're going to cover how to build a complex, JSON-like document CRDT. In the past, we focused on homogeneous data types like registers, sets, arrays or maps. This time we're going to combine them all…
Operation-based CRDTs: arrays (part 2)
Last time [https://www.bartoszsypytkowski.com/operation-based-crdts-arrays-1/] we were discussing how to build a Commutative Replicated Data Types operating as indexed sequences - preserving order of inserted elements - using two different data structures: Linear Sequences (LSeq) and Replicated Growable…
Operation-based CRDTs: arrays (part 1)
In this post, we'll continue onto topic of Commutative Replicated Data Types. We already mentioned [https://www.bartoszsypytkowski.com/operation-based-crdts-registers-and-sets/#sets] how to prepare first, the most basic types of collections: sets. This time we'll go…
Operation-based CRDTs: registers and sets
Last time [https://www.bartoszsypytkowski.com/operation-based-crdts-protocol/] 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…
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…