3 ms·
How is "conflict-free sync" done? The usual approach is last-write-wins, which is just a euphemism for "randomly losing user data", or CRDTs or Operational Tran
by janl 10y ago
How is "conflict-free sync" done? The usual approach is last-write-wins, which is just a euphemism for "randomly losing user data", or CRDTs or Operational Transforms, which severely limit the data models one can sync.
I'm happy to learn about a silver bullet here.
- striking 10y agoCRDT, but also vector clocks. https://news.ycombinator.com/item?id=12590753 https://news.ycombinator.com/item?id=12590753
- bigfish24 10y agoIt is true that most Operational Transform systems have limited data model support, but that's an area Realm is quite unique on. The Realm Mobile Platform supports all of Realm database's current data types, such as native support for links and ordered lists. Also have plans for much more including: substring changes, counters and sets.
- janl 10y agoThanks, that's gonna be the limiting factor then, developers not finding a way to represent some of their storage needs on this platform. It's a fair trade-off, but hardly neither objectively worse or better than couch-sync. I'm excited to see where Realm goes. In my very unscientific approximation couch/git-style sync solves about 80% of general use cases, CRDT/OT cover another 10-15% and the rest are poor souls that have to do something custom. (All this excluding binary sync/rsync/BitTorrent/Dropbox.)
- janl 10y agoThanks, that's gonna be the limiting factor then, developers not finding a way to represent some of their storage needs on this platform. It's a fair trade-off, but hardly neither objectively worse or better than couch-sync. I'm excited to see where Realm goes. In my very unscientific approximation couch/git-style sync solves about 80% of general use cases, CRDT/OT cover another 10-15% and the rest are poor souls that have to do something custom. (All this excluding binary sync/rsync/BitTorrent/Dropbox.)