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 CRDT is widely unknown, I've decided to give it a| Bartosz Sypytkowski
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 the problems related to partially ordered event logs and optimize size of| Bartosz Sypytkowski
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 guarantees required by Commutative Replicated Data Types. Today we'll continue| Bartosz Sypytkowski
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 and tackle some of the challenges that this approach presents. Other blog posts from| Bartosz Sypytkowski
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.com/optimizing-state-based-crdts-part-2/#deltaawareaddwinsobservedremoveset] , which were already covered on this blog| Bartosz Sypytkowski
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 so - we'll often refer to them: * An introduction to| Bartosz Sypytkowski
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: Map [https://www.bartoszsypytkowski.com/crdt-map/] * Operatio| Bartosz Sypytkowski
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 this series: * An introduction to state-based CRDTs [https://www.bartoszsypytkowski.com/the-state-of-a-state-based-crdts/] * Optimizing state-based| Bartosz Sypytkowski