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 take a look at…

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 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 [https://www.bartoszsypytkowski.…

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 [https://pages.lip6.fr/syncfree/attachments/article/59/boundedCounter-white-paper.pdf] and a very few implementation living in the wild, this…

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 [https://www.bartoszsypytkowski.com/the-state-of-a-state-based-crdts/] * Optimizing state-based CRDTs (part 1) * Optimizing state-based CRDTs (part 2) [https://www.bartoszsypytkowski.com/optimizing-state-based-crdts-part-2/] * State-based CRDTs: BoundedCounter [https://www.bartoszsypytkowski.com/state-based-crdts-bounded-counter/] * State-based CRDTs:…

An introduction to state-based CRDTs

Other posts from this series: * An introduction to state-based CRDTs * Optimizing state-based CRDTs (part 1) [https://www.bartoszsypytkowski.com/optimizing-state-based-crdts-1/] * Optimizing state-based CRDTs (part 2) [https://www.bartoszsypytkowski.com/optimizing-state-based-crdts-part-2/] * State-based CRDTs: BoundedCounter [https://www.bartoszsypytkowski.com/state-based-crdts-bounded-counter/] * State-based CRDTs:…