The CRDT Dictionary: A Field Guide to Conflict-Free Replicated Data Types

Old database comeback, tool fans clap back, coders cook their own—and roast Ai

TLDR: A field guide explains how CRDTs let apps merge changes from different places without losing data. Comments split between “Riak lives,” “Automerge is more than a library,” and “DIY hurts,” with a chorus of “just use Postgres”—a lively tug‑of‑war between cool offline tech and practical, simple solutions.

The internet just met a Thanksgiving‑sized explainer on CRDTs—data structures that let apps merge changes from different places without arguing—and nostalgia erupted. One commenter cheered that Riak, the old “keep‑writing through a network storm” database, is still kicking via OpenRiak. Practical voices replayed the author’s lesson: maybe you didn’t need the shiny gear—Postgres would’ve been fine. Cue team Postgres vs team Offline‑First, jokes about “consensus” carving the turkey, and eye‑rolls at acronyms like WOOT (“Without Operational Transformation”).

Then came the Automerge defense squad: “It’s not just a bag of parts,” insisted one commenter, arguing tools like Automerge are full systems for collaboration, not toy kits. DIY crowd flexed: a commenter hand‑rolled a sequence CRDT and roasted “Ai” for flubbing the logic, turning consistency into comedy. CRDTs feel like magic until you implement one—then it’s puzzles, timestamps, and headaches.

For newcomers, the thread translated the options: consensus = vote on one truth; last‑write‑wins = whoever saves last wins (and you may lose data); CRDTs = keep both changes and reconcile later. And yes, someone asked the eternal question: Should you just… not? The jury’s split, the memes are loud, and the guide is handy.

Key Points

  • CRDTs enable deterministic, coordination-free merging of concurrent updates, preserving all changes and tolerating network partitions.
  • Consensus algorithms (Paxos/Raft) can order operations but may block writes during partitions, unsuitable for offline-first scenarios.
  • Last-Write-Wins is simple but risks data loss by discarding earlier updates when timestamps conflict.
  • CRDT merge operations must be commutative, associative, and idempotent to guarantee replica convergence.
  • The guide surveys common CRDT variants (e.g., G/PN-Counters, LWW/OR/2P-Sets, RGAs, WOOT, Logoot) and introduces lattices to build intuition.

Hottest takes

"Speaking of Riak, it's still around, in the form of https://github.com/OpenRiak" — rdtsc
"are not just 'libraries' that 'throw together' low-level CRDTs" — btown
"CRDTs are something you still have to write by hand ... it was hilarious to ask Ai for assistance" — fellowniusmonk
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.