cr-sqlite
cr-sqlite copied to clipboard
explore full causal graph and retaining of all history
eventually consistent distributed event DAG would be pretty interesting. Maybe based on SQLite4's LSM tree implementation.
Peers could receive updates, rebase them into the DAG, notify embedding app
We've done much of this exploration in the lww-vs-dag
article (to be re-published post migration to nextjs).
We can double down on that further by auto-creating events rather than making users define explicit events.
More explorations: https://vlcn.io/blog/crdt-substrate
The verdict is to:
- Implement a persistent B-tree that has structural sharing
- Use this to retain snapshots of the DB at every version
Users can or can not retain a causal graph. If they do, we should incorporate something like https://braid.org/antimatter to prune the graph.