5 ms·
Is the take-home message of the post that the full complexity of CRDTs/OT is necessary only in the absence of a central server?
by math_dandy 1y ago
Is the take-home message of the post that the full complexity of CRDTs/OT is necessary only in the absence of a central server?
- sampton 1y agoOT requires centralized server.
- n_u 1y agoSome OTs do, some don't. OTs with the TP2 property do not require a central authority to order edits I believe. In my experience if you are persisting your edits or document state, you have something that creates an ordering anyways. That thing is commonly an OLTP database. OLTPs are optimized for this kind of write-heavy workload and there's a lot of existing work on how to optimize them further. But now even S3 has PUT-IF, so you could use that to create an ordering. https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html https://docs.aws.amazon.com/AmazonS3/latest/userguide/condit...
- mweidner 1y agoEven in the absence of a central server, you can still avoid CRDT/OT complexity if you have a decentralized way to eventually total order operations & apply them in that order: https://mattweidner.com/2025/05/21/text-without-crdts.html#decentralized-variants https://mattweidner.com/2025/05/21/text-without-crdts.html#d... As others in the comments argue, this is technically a CRDT (though a fully general one); also, undoing/replaying ops is itself non-trivial to implement. However, I hope this is still simpler than using a traditional CRDT/OT for each data type.
- math_dandy 1y agoDid you perhaps mean to write, “though not a fully general one”?
- mweidner 1y agoA decentralized, eventually consistent total order on operations is a fully general CRDT, in the sense that you can put whatever (deterministic) operations you want in the total order and clients will end up in eventually consistent states. Whether the converged result is at all reasonable is a different question.
- math_dandy 1y agoOk, now I understand your reply. In retrospect, you were being perfectly clear all along and my confusion was due to me not appreciating the precise definition of a CRDT. Thanks!
- motorest 1y ago> Is the take-home message of the post that the full complexity of CRDTs/OT is necessary only in the absence of a central server? That's the whole point of CRDTs: multiple replicas of the same data structure are managed throughout many nodes, each replica is updated independently, and they all eventually converge.