CRDT basics for collaboration
Slap yourself if
You think CRDTs are just fancy merge functions or a drop-in replacement for locks.
Why this exists
CRDTs exist because collaborative systems can’t rely on global ordering, constant connectivity, or a single authority. When replicas diverge, coordination-free convergence beats perfect consistency that never arrives.
Mental model
A CRDT encodes mergeability into the data itself. If every update is mathematically safe to merge, coordination becomes optional instead of mandatory.
- Multiple replicas apply updates independently.
- Updates propagate asynchronously and out of order.
- Each replica merges received updates without coordination.
- All replicas converge to the same state given the same set of updates.
- Assuming CRDTs preserve user intent automatically.
- Choosing the wrong CRDT for the data semantics.
- Ignoring metadata growth and its long-term cost.
- Treating convergence as equivalent to correctness.
CRDTs are data structures designed so that concurrent, unordered updates can be merged deterministically, allowing replicas in collaborative systems to converge without coordination.
- Last-write-wins used inside a CRDT without justification
- No clear mapping between user actions and operations
- Assuming CRDTs eliminate conflicts conceptually
- Ignoring storage and bandwidth overhead
Deep dive
Requires Pro
Premium deep dives include more internals, more scars.