|
|
|
|
|
by skrebbel
3841 days ago
|
|
As a Firebase customer and former CouchDB user, I can tell you that the use cases are really not as similar as you apparently think they are. Until very recently, Couch/Pouch would only sync entire databases, and recommended a "One database per user" approach. This is improving now, but it's still very coarse-grained. Last time I checked, anything that has data that you couldn't shard easily is basically unfit for Couch/Pouch - e.g. any messaging app or a Twitter clone. How would you select which data goes to which user? Or do you just want to put all tweets, globally, on everybody's phone? All of this is absolutely peanuts on Firebase. |
|
- strong consistency (cross-node transactions!)
- strong access controls (don't want clients to see data they're not allowed to!)
- the ability to seamlessly replicate a view from the server to a web client without me having to think about it (although only read-only)
So far none of the web nosql databases I've looked at support these. Strong consistency seems to be unfashionable, presumably because it's hard to shard. I was really surprised to discover that CouchDB apparently doesn't support access controls, though --- if a client has access to the database endpoint, it can see everything. Aren't access controls part of the core competency of a multi-user database?