@EvanJ - Hey replying to your question under this thread.
I could write a whole blog post on why leave firebase hahah, to keep it short (relatively).
1) Bias, I worked with SQL for years professionally and in university. I don't get to use that experience and for whatever reason I just don't get No SQL like I do SQL.
2) The pricing model. I've used Firebase for a really long time. They do somewhat nefarious things by changing arbitrary rules.
- For example, you can have arrays in documents, but only up to 30 items. The rule used to just be, documents can be X size measured in mb.
- Sooo, if you want something like a "tag" functionality in your app. Which has very-very small objects but numerous of them. You can't avoid taking reads of 100s-1000s of hits that could be represented by 1 read into a small array.
3) The breaking point. I used a wrapper called "AngularFire". There is a commit, that is like 20k+ net lines (by someone at Google), it destroys the documentation and some of the function typing. To the point that they literally have un-runnable javascript on their homepage Readme for over a year now.
- To make it worse, when users have ran into this, they make a github issue; which gets auto closed by bots.