Can someone explain this to me? I’m clearly missing something about its name.
Worked a treat
This approach means the tools have to be good at not just sync, but also querying, business logic, validation, authn, authz, trigger background jobs, etc. That's a lot!
I'm not trying to eliminate my backend, nor an all-in-one frontend DB. I've tried tools that do that, and I've come to think the approach has severe limits.
I wonder if there's not a way to offer a two-way stream of data change events, with conflict detection/resolution, which I can process with my own code.
matlin•9mo ago
The author links to a much longer post on handling conflicts which is worthy of its length because it's not a pleasant experience with this setup.
I highly recommend trying a modern setup from one of the many new local first solutions [2]
1. https://triplit.dev
2. https://www.localfirst.fm/landscape
elcritch•9mo ago
Also, heads up the first triplit link I tried gave me a 404: https://www.triplit.dev/docs/client/query/select#selecting-r...
matlin•9mo ago
WorldMaker•9mo ago
(Though to be fair Apache has been threatening to shrink the key space greatly as well with the considered move to the Foundation-based "CouchDB 4.0".)
elcritch•9mo ago
1: https://github.com/couchbase/couchbase-lite-C
WorldMaker•9mo ago
The project I was working on involved regularly taking some photos and all the sync issues with attachments led to moving to syncing only metadata like width, height, and Blurhashes in the database itself and use a reference URL/pointer to a content-addressed storage (basically an S3 bucket-like with git-like hashes for filenames) we could background sync more directly outside of the CouchDB protocol. (Blurhashes were particularly useful there while waiting on that additional background sync phase after the CouchDB sync.)
justanotheratom•9mo ago
matlin•9mo ago
justanotheratom•9mo ago
4b11b4•9mo ago
mentalgear•9mo ago
nezaj•9mo ago
https://github.com/instantdb/instant
mentalgear•9mo ago
Also Triplit's universal client/server model means you never have to care about all the complexity of other solutions that require to get the transformations between client db & server db just right. A really impressive piece of work! (another great one with a universal db is jazz.tools, especially if you need encryption)
exe34•9mo ago
felideon•9mo ago