4 ms·
Firebase works like that. The polling of databases is a really obvious limitation of existing databases once you see the alternative. (I work at Firebase)
by tlarkworthy 10y ago
Firebase works like that. The polling of databases is a really obvious limitation of existing databases once you see the alternative.
(I work at Firebase)
- bjt 10y agoHas Firebase been through Aphyr's Jepsen tests?
- pritambaral 10y agoSeeing as how Aphyr can't deploy his own instances of Firebase to simulate network partitions, I don't think it has.
- dsl 10y agoI searched and searched, but I couldn't find a download link on Firebase.com. Help?
- williamstein 10y agoI think Firebase is a closed source program that can only be used via "the cloud", i.e., via a web application. It's not something you can run yourself. In contrast, RethinkDB+Horizon would have soon provided similar functionality to Firebase, but with the option of self hosting.
- tiglionabbit 10y agoWell it's easy to shard when you don't support joins or foreign key constraints. Btw, as a person who works on Firebase, perhaps you can answer this question that has been bothering me about it. There's no way to model a foreign key relationship that's traversable in both ways without trusting the client application to update both directions, right? Isn't that a bit of a dealbreaker for anything other than a toy app? I would assume if you wanted to make something that's actually reliable, you'd have to run all your mutations through your own personal server instead of letting clients mutate Firebase directly, right?
- williamstein 10y ago[edit: this is an irrelevant remark] RethinkDB supports joins: https://www.rethinkdb.com/docs/table-joins/ https://www.rethinkdb.com/docs/table-joins/ "Like many traditional database systems, RethinkDB supports JOIN commands to combine data from multiple tables. In RethinkDB joins are automatically distributed—a join command is automatically sent to the appropriate nodes across the cluster, the relevant data is combined, and the final result is presented to the user."
- tiglionabbit 10y agoI'm talking about Firebase :P.
- Jweb_Guru 10y agoRethink joins aren't consistent (in fact, no Rethink multikey transaction guarantees any degree of consistency), so even though the original conversation was about Firebase IMO it is just as applicable to Rethink.
- tlarkworthy 10y agoYou can use it as the mobile device connector as clientside auth, push, latency compensation, presense and offline persistence are big features on their own. For sensitive joins, have a server side joiner with administrative privileges. Still, it's work that should be easier I agree. Firebase's strength is not what other DBs can do, but what they cannot.
- tiglionabbit 10y agoI'm curious what Firebase users do in real life. Do people realize this is a problem? I can imagine making an app like that where all mutations go through my server and reads go through Firebase. How would this interact with the offline persistence feature though? I suppose you could allow the client to do some simple mutations like editing text fields. For the mutations that must go through the server, though, perhaps you could do optimistic local updates?