4 ms·
Not quite the answer to your question, but there are quite a few people looking at doing eventually consistent database syncing with CRDTs. Two interesting ones
by samwillis 3y ago
Not quite the answer to your question, but there are quite a few people looking at doing eventually consistent database syncing with CRDTs. Two interesting ones are:
https://electric-sql.com/ https://electric-sql.com/ - SQLite and Postgres syncing
https://vlcn.io/ https://vlcn.io/ - SQLite syncing
I've been experimenting with Yjs and merging documents in database via SQL, for both SQLite and Postgres. And allowing you to query the contents of those documents, similar to how you can query JSON. Early days, these are just tests:
https://github.com/samwillis/yjs-sqlite-test https://github.com/samwillis/yjs-sqlite-test
https://github.com/samwillis/yjs-pg-test https://github.com/samwillis/yjs-pg-test
- cmrdporcupine 3y agoYeah I'm more interested in having this as part of the core DB tx commit logic, rather than as an ad-on or sync piece.
- agg23 3y agoI hadn't heard of Electric-SQL before. Was potentially interested, but the lack of native language bindings is a dealbreaker. I don't particularly like a centralized server being required for the sync either, but it's ok. VLCN is very interesting to me, and I really need to play around with it. It's not incredibly obvious to me how these extensions to SQLite play out in actual use.
- stusmall 3y agoHave you looked at https://www.ditto.live/ https://www.ditto.live/ Full disclosure: I work there
- agg23 3y agoI have actually, but I'm only interested in open source and self-hostable solutions, so I stopped looking at it pretty quickly, sorry.
- thruflo 3y agoWe (ElectricSQL) have some work underway on a Rust/WASM port of our core client component, that’s designed to open up more language support. This is a community contributed Dart/Flutter client https://github.com/SkillDevs/electric_dart https://github.com/SkillDevs/electric_dart that may also be a useful reference.