any firestore user here? would like to know more a...
# present-company
m
any firestore user here? would like to know more about how it works and how it's used
y
Ive used it in the past (once for a pet project and once to build a chat like system)
m
is it something between mongodb and a relational dabatase right?
is it expected to query from the frontend?
y
Yes, you’re mostly expected to directly query from frontend
“is it something between mongodb and a relational dabatase right?” --> bit difficult to make comparisons like this
One of it’s strong points is the realtime aspect (you can subscribe to changes directly from the frontend)
Downside is that it’s not open source and that costs could quickly ramp up (especially if not used correctly). Also you need to take care with setting correct permissions
But it’s pretty good for quickly building apps, especially with real time support
m
Thanks!
t
Hi I was the first engineer on it 😛
👏🏽 1
❤️ 1
I wrote up some misnomers on it here https://tomlarkworthy.endpointservices.net/blogs/firestores-technical-advantages.html Where it is better than relational is availability (5 nines). It is a bit slower than the realtime database (like 200ms per commit vs 10ms). It is clientside first, which is Firebase's unique features. It supports offline persisted cache, and latency compensation, which greatly simplifies apps as you don't need to manage when data gets flushed (same with realtime RT DB). The model is live automatically updating queries, you should try to avoid polling the DB for instance. It replaces the firebase realtime database, though that DB has a lot of good features that are still nice. Firestore is very expensive on the write path. So for many applications where I need a log of fast moving data streams I still use the RT DB.
A chat app for instance, I would probably use the RT DB for the actual messages, and maybe use Firestore for the user/room management, control plane. (if I was worried about it being popular)
happy to chat on internals if you are interested. BTW, I never heard back on my "HAVE YOU TRIED RUBBING A DATABASE ON IT?" submission in which I was proposing going through my reverse engineering the Firebase realtime database wire protocol (hint @jamii)
j
The submission deadline isn't up yet 😛
Most people haven't heard back yet. I'll do most of the scheduling once submissions close at the end of Feb.
👌 1