My Docs
Search…
My Docs
knowledge
14-Pure-Education
My Knowledge Wiki 🌿
.github
design
databases
augmented-reality
art
computer-graphics
computer-science
business
compilers
books
devops
cryptocurrencies
backups
3d-printing
distributed-systems
message-queue
[Load balancing](https://en.wikipedia.org/wiki/Load_balancing_(computing))
rpcs
Distributed systems
Conflict-free replicated data type
cli
automation
biology
cloud-computing
articles
anki
data-science
consciousness
documentaries
Summary
api
animals
courses
analytics
chemistry
Powered By
GitBook
Conflict-free replicated data type
Notes
Distributed state is so fundamentally complex that I think we actually need CRDTs (or something like them) to reason about it effectively. And certainly to build reliable systems. The abstraction of a single, global, logical truth is so nice and tidy and appealing, but it becomes so leaky that I think all successful systems for distributed state will abandon it beyond a certain scale.
Links
James Long - CRDTs for Mortals (2019)
Applied Monotonicity: A Brief History of CRDTs in Riak (2019)
Why CRDT didn't work out as well for collaborative editing xi-editor
(
HN
)
How Figma’s multiplayer technology works (2019)
HN thread on CRDT (2019)
An API for data that changes over time (2019)
Statecraft
- Protocol and set of tools for interacting with data that changes over time.
Full implementation of CRDTs using hybrid logical apps and a demo app that uses it
Swarm.js
- JavaScript replicated model (M of MVC) library.
To OT or CRDT, that is the question (2020)
(
HN
)
CRDTs wiki
(
Code
)
Awesome CRDT
Local-first packages & explorations
Automerge in JS
- JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
Automerge in Rust
Peter Bourgon on CRDTs and State at the Edge (2020)
Moving Elements in List CRDTs
Chronofold: a data structure for versioned text (2020)
roshi
- Large-scale CRDT set implementation for timestamped events.
CRDT benchmarks
- Collection of reproducible benchmarks.
pony-crdt
- Delta-State Convergent Replicated Data Types (ẟ-CRDTs) for the Pony language.
Jylis
- Distributed in-memory database for Conflict-free Replicated Data Types (CRDTs), built for speed, scalability, availability, and ease of use.
An introduction to Conflict-Free Replicated Data Types (2020)
(
HN
)
CRDTs: The Hard Parts (2020)
(
Abstract & References
) (
HN
)
CRDTs in a Nutshell (2020)
(
Lobsters
)
A First Replicating Type (2020)
Conflict-Free Replicated Data Types (CRDTs) in Swift (2020)
Local-first software: You Own Your Data, in spite of the Cloud (2019)
(
HN
)
Are CRDTs suitable for shared editing? (2020)
Room Service
- Faster-Than-Light Multiplayer Engine. (
Docs
)
I was wrong. CRDTs are the future (2020)
(
HN
) (
Lobsters
) (
Reddit
)
A Pragmatic Approach to Live Collaboration (2020)
Local First (2020)
A Bluffers Guide to CRDTs in Riak
bft-crdts
- Byzantine Fault Tolerant CRDT's and other Eventually Consistent Algorithms. In Rust.
Large-Scale Geo-Replicated Conflict-free Replicated Data Types
CRDT notes
syncpad
- CRDT-based collaborative source code editor (featuring the Monaco editor).
Previous
Distributed systems
Next
cli
Last modified
5mo ago
Copy link
Contents
Notes
Links