I’ve been looking into CRDTs and thought these were excellent resources:
Websites:
- https://crdt.tech
- https://solidproject.org (not CRDT, but related)
Implementations:
CRDTs, or Conflict-free Replicated Data Types, are a solution for keeping data consistent when multiple devices or users make changes at the same time.
In my conversations with other developers “conflict-free” may be a bit of an overstatement in terms of what implementers have been able to achieve, but “conflict-free” is the objective. Like OT, CRDT has to deal with a lot of unique merge problems and automatically solve them without really knowing your intent — thus it can only go so far and may give you unexpected results.
However, unlike OT systems that traditionally rely on constant server coordination, CRDTs allow updates to happen independently and automatically resolve conflicts during synchronization. While CRDTs may not suit scenarios demanding strict, real-time coordination, they help in decentralized systems where seamless data merging is essential.
Ultimately, the tradeoff comes down to choosing between “merge automation” and “strict data integrity.” You’ll need to assess your application’s requirements and make a decision accordingly.
Leave a Reply