CRDTs
Studies in this cluster, in series order. Each one keeps its own URL.
Distributed systems
Raft consensus, replication, consistent hashing, saga-style distributed transactions, two-phase commit, and conflict-free replicated data types.
CRDTs
6 studies- 1.CRDTs — Conflict-Free Types, Convergence & When Consensus WinsInterview map for conflict-free replicated data types: a join that converges, the state versus op versus delta split, and the invariants that still belong on Raft or one ledger.
- 2.Counters & Registers — G-Counter, PN-Counter, LWW & MV-RegisterG-Counter and PN-Counter merge per-replica counts with a component-wise max. Last-writer-wins drops a concurrent value. The multi-value register keeps it.
- 3.Sets & Maps — G-Set, 2P-Set, OR-Set, OR-MapG-Set only adds. 2P-Set removes forever. An observed-remove set tags each add with a dot so a later add can win. An OR-Map nests a CRDT under each key.
- 4.Sequences & Collaborative Text — RGA, LSEQ, Yjs/AutomergeSequence CRDTs give each insert a stable identity so two people typing at the same place converge. RGA, LSEQ, Yjs, and Automerge are that idea with different identifiers. A last-writer-wins string is not.
- 5.State-based vs Op-based vs Delta-CRDTs & CompactionThe same abstract type can ship as full state, as operations, or as deltas. The channel, the fresh replica, and the tombstone pile follow from that choice.
- 6.Production CRDTs & When NOT to Use Them (Riak, Redis CRDT, collab apps, vs Raft/linearizability)Riak data types, Redis Active-Active, and Yjs or Automerge are production CRDTs. Unique names, non-negative money, and exactly-once effects still belong on a linearizable store.