Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I’m new to CRDTs, but could we clean up tombstones if all replicas acknowledge? Not too sure, but could we persist snapshots of state at certain “compaction” points?
 help



You can do this by (1) extending your CRDT into a CTM (see https://braid.org/time-machines) and then (2) use the antimatter algorithm (braid.org/antimatter), or something similar, for acknowledgements.

The antimatter algorithm allows peers to learn where the rest of the network has caught up to, without a central actor, or relying on consensus, across arbitrary P2P connection & disconnection events in the network. It even allows subnetworks, after a partition, to prune the history that they generate while partitioned, while still holding onto the necessary older history to reconnect with the other half of the partition.


Yep. As well as what Toomim said, eg-walker (another text crdt algorithm) doesn’t need or use tombstones. With eg-walker we just store the history of all changes (kinda like git). Some changes are deletes. The changes are only used for merging old stuff, so if you’re happy to set a cutoff (or have some coordination like antimatter) you can delete the operation history and all the overhead that goes along with it.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: