Loro-extended: Sync and persistence for Loro CRDTs
ToolingComments
If we prioritize persistence over flexibility, would a rigid schema potentially negate the main benefit of using CRDTs for unstructured collaborative data?
Flexibility is a luxury. In actual production environments with unstable connections, a strict schema is the only thing that prevents a database from becoming a corrupted mess.
Is it actually a bridge to a usable app? Most of these plumbing layers just end up being leaky abstractions that force you to rewrite your data model anyway.
The core Loro engine has a smaller memory footprint than Automerge. A dedicated sync layer avoids the overhead of treating the entire state as a single blob.
We saw this loop with Yjs. The community spent a year building custom binary update handlers because the persistence options couldn't handle large document histories.
I wonder how this fits with the P2P trend we've seen with ACORDE... does the persistence layer here handle the same discovery wall issues, or is it designed for a different network topology?