On desktop, moving history+bookmarks from SQLite to CouchDB seems like a rather large undertaking.
Gavin On Fri, Jul 26, 2013 at 1:30 PM, Andreas Gal <[email protected]> wrote: > > Nobody is asking to move all core services. We are talking about history, > bookmarks and passwords, for now. > > Andreas > > > Mark Finkle wrote: > > > > ________________________________ > > > I did some experiments with pouchdb inside Gecko, using passwords and > bookmarks as my two main use cases. As Dale pointed out, if we use a > shadow database and then replicate the shadow database, we also have to > replicate from the current storage backends (password, bookmark places, > history places) into the local couchdb/pouchdb (I will use couchdb as an > abstraction anything that looks like a couchdb interface/api/db). I > wrote a draft of that code for passwords and its not really trivial. Its > probably roughly as complex as doing the same and using a custom > replication using the couchdb wire protocol into a remote couchdb on the > server. > > Using a custom replication using CouchDB wire protocol has a benefit of not > needing to convert the entire application to use CouchDB as the backing > datastore. Given that the effort could be "roughly as complex", I'd rather > explore the custom replication and not trade lock-in to one datastore > (SQLite) for another (CouchDB). > > > An alternative to both would be to simply swap our current storage > backends for couchdb, in particular because some of our current storage > code is atrocious anyway (history is better, bookmarks are bad, password > backend is horrific and totally synchronous). The main problem we are > running into here is that the password manager for example is completely > synchronous. The API is of the form x = searchLogin(needle). This can't > be changed easily because there is layers and layers of APIs around this > API all across the codebase that are also synchronous. Rewriting all of > that to take a result callback would take at least a couple months. Its > righteous work, but it takes time, and it doesn't really solve a > performance problem because this code path is very rarely taken. The > solution old sync took (make a synchronous call, spin the event loop > while waiting, continue) is really terrible and we should not go down > that path. > > Let's not underestimate the time required to move from SQLite to CouchDB for > all core data in Firefox. > > > > _______________________________________________ > 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

