4 ms·
Quick lingo... CRDT: Conflict Free Replicated Data Type. A kind of data structure and synchronization approach whereby beplicas can be updated independently an
by jph 6y ago
Quick lingo...
CRDT: Conflict Free Replicated Data Type. A kind of data structure and synchronization approach whereby beplicas can be updated independently and concurrently without typical coordination. Can be good for distributed collaborative real time editing, and/or syncing live data among machines.
State-based replication: send all CRDT state to each replica; no need to send operations. Typically good when state is small relative to operations, and/or when communications are unreliable. A.k.a. CvRDT, convergent replicated data types.
Operation-based replication: send all CRDT operations to each replica; no need to send state. Typically good when state is large relative to operations, and/or when communications are reliable. A.k.a. CmRDT, commutative replicated data types.
- jhardy54 6y agoGit examples: - Commits provide the state of each file at that snapshot. - Diffs (patches) provide a minimal operation to move from one FS state to another.
- zaarn 6y agoI don' think git is a good example since if you edit two git repositories together and you try to merge them, you can get conflicts. The point of CRDTs is that when you merge state, there CANNOT be a conflict, ever.
- jhardy54 6y ago...right, because Git doesn't use CRDTs. Those example point to where Git has state/operations, not where Git uses CRDTs (because it doesn't).
- kitd 6y agoMany thanks. I'd heard of CRDTs before but that's the best summary yet!