Definitely not coming across argumentative and I dont think we particularly disagree on much, not strictly tying ourselves to a particular backend is definitely a good thing as long as it doesnt push scope beyond mvp, which nobody is suggesting.
On 31 July 2013 03:32, Ryan Kelly <[email protected]> wrote: > On 31/07/2013 10:50 AM, Dale Harvey wrote: > >> I don't consider that a significant win *in isolation*. (I also don't > >> consider it a lose; just want to be clear that this is not a killer > >> feature) > > > > If we can avoid atomic multikey updates then in my opinion it is a huge > > win, the architecture looks very similiar to what couchdb was designed > > to handle and rewriting that on top of a database that wasnt designed in > > the same way in a way that is stable and handle a large volume of > > traffic is a huge undertaking, an auth layer is pretty much irrelevant > > in terms of additional work to get a working server (an auth layer > > wouldnt need to sit in front of couchdb, it could just be a token server) > > > > If we have a hard requirement on atomic multikey writes (without any > > possibility of introducing conflicts) then it is a different story in > > terms of time to get a server running, but still a pretty huge task > > I don't want to suggest that the server side is trivial here; it's going > to be a pretty huge task either way. > > If CouchDB's semantics and API are a good fit for what we're trying to > do, great! There's lots to like about it. But if we go too far down > the road of "CouchDB++" then IMHO its value on the server side > deteriorates rapidly. > > I agree that atomic multi-keys writes are probably the boundary of "too > far down that road". > > To sanity-check my understanding: AFAICT the proposed queuesync model > requires only this small set of functionality: > > * JSON records, stored by key, with: > * server-assigned version identifiers > * atomic compare-and-swap > * An API for doing bulk upload of new versions > * maybe with cross-key consistency > * An API for reading back changes, in order > > Have I missed anything? > > This seems straightforward to implement on top of CouchDB, minus the > cross-key consistency part. > > It also seems straightforward to implement on top of the servers we > built and loadtested and almost-deployed for Sync2.0, including the > cross-key consistency part. > > Would it be equivalently straightforward to implement on top of the > Dropbox APIs? > > Without wanting to go Off-MVP here, perhaps this a small core protocol > that we can back with CouchDB for an initial fast-to-market > implementation, but also leave open as a possible integration point for > third-party storage services in the future. > > (I hope this doesn't come across as argumentative. I'm not trying to > advocate against CouchDB here! I just want to be super clear about > where and how we plan to extract value from it, and what we might be > giving up in return.) > > > Cheers, > > Ryan > _______________________________________________ > Sync-dev mailing list > [email protected] > https://mail.mozilla.org/listinfo/sync-dev >
_______________________________________________ Sync-dev mailing list [email protected] https://mail.mozilla.org/listinfo/sync-dev

