📄️ Definition
Conflict-free Replicated Data Type (CRDT)
📄️ Objects and Operations
Objects
📄️ State-based Convergent Replicated Data Type (CvRDT)
Figures
📄️ Operation-based Commutative Replicated Data Type (CmRDT)
Figures
📄️ Relation between CvRDT and CmRDT
Differences
📄️ Types Of CRDT
Some types of CRDT I have found
📄️ Counter CRDTs
A Counter is a replicated integer supporting operations increment and decrement to update it, and value to query it. The semantics should be is that the value converge towards the global number of increments minus the number of decrements. (Extension to operations for adding and subtracting an argument is straightforward.)
📄️ Register CRDTs
Last-Writer-Win Register (LWW Register)
📄️ Set CRDTs
Set CRDTs (Conflict-free Replicated Data Types) are a type of data structure that allows multiple replicas to converge to the same state without the need for coordination or consensus.
📄️ References
All resources that I used to note about this article.
📄️ Yjs Framework
Yjs is a CRDT implementation that exposes its internal data structure as shared types. Shared types are common data types like Map or Array with superpowers: changes are automatically distributed to other peers and merged without merge conflicts.