I did some stress-testing of Firebase today which left me quite pessimistic at the prospect of using it a a full-on mobile backend replacement. I added 100,000 fake user nodes (each with 10 child nodes), and while the query time for a single user remained constant (about 250ms) between 1000, 10000, and 100000 fake users, the bandwidth usage scaled to take up 10s of megabytes for each request once I reached the 100k mark. In the course of about an hour of testing, I had used 300mb of bandwidth (the Firebase free tier currently caps out at 10gb). I know firebase is supposed to be used more for realtime use cases (chat, real-time locations, etc.), but does anyone has any experience with using it as a replacement for a traditional (non-realtime) database?
So, you did the same query for a user, and the bandwidth went up? This doesn't make sense for me. Are you sure you didn't push the Bandwidth while creating the 100k users?
Just questioning here, because we are currently building an app on top of firebase and this makes me suspicious...
When i request a user by id, it shouldn't make any difference if there are 100k or 1Mio Users, the result should be the same...
Aakash Dhuna
Designer and Developer
Update: Upon further inspection it seems like the online firebase console has a bit of a lag (up to an hour) when it comes to updating the total bandwidth usage. So foolishly I had run a big query, and then conflating the bandwidth usage for that with the single user queries I then did. I think the bandwidth usage for the single user queries I ran were actually of negligible size