Re:Firebase is Joining Google
by jimbokun on Tuesday October 21, 2014 @08:29PM
(#8490935)
One interesting thing about the legacy of CouchDB is the sync protocol. There are now multiple implementations capable of syncing with each other, making it easy to migrate data to a different provider, even if the underlying implementation is different. I think there have been one or two forks and different service providers, and they can all exchange data without issue, as far as I know.
[ Parent
| on HN ]
HTML5 - http://pouchdb.com
iOS, Android, .NET, Java - http://developer.couchbase.com/mobile
Hosted - http://www.iriscouch.com and http://cloudant.com
Original - http://couchdb.apache.org
All of these are 100% open source and interoperable.
This is exactly why I went for couchbase and decided to avoid firebase.
Assuming you use PouchDB, how do you avoid syncing the entire database with all users?
Re:Firebase is Joining Google
by willholley on Wednesday October 22, 2014 @08:37AM
(#8492386)
database-per-user is a common pattern with CouchDB. If you need to aggregate data across your users for reporting etc then you can use a server-side replication to create a "master" database which is only accessible to your internal users.
You could also use filtered replication but it is: a) not scalable b) not secure (the whole db would still be accessible to all users)
Couchbase has a different spin on this via "channels" though I'm not sure how it interoperates with PouchDB.
Couchbase Sync Gateway's channels are just slices through the data. The mechanism is internal to the Sync Gateway (you write a JS function that says who can see which channels and which channels a doc belongs to.) Replicating clients don't Need to know about this filtering, so channels work great with all flavors of Couch.