My FeedDiscussionsHeadless CMS
New
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more

Is Firebase Realtime Database the wrong solution for this?

Asif Mehedi's photo
Asif Mehedi
·May 27, 2017

Imagine I'm creating an app where other people will write their blogs. (Actually I'm making something else, but it's not too different from a blogging app, technologically.) Note that I'm a simple hobbyist, slowly learning web technologies in my free time.

The database will contain only plain text. Some values (individual posts) can be hundreds of KB. The app will use some Google APIs.

I'm considering Firebase Realtime Database for the app and have been learning about it the last few days. Mario Giambanco has kindly provided a detailed description of how this can be done: hshno.de/SkI_uuvZZ

What I like about Firebase Realtime Database is the ease and flexibility that come with the JSON format. For someone like me, who has no experience of working with databases except writing simple SQL queries, this is perfect. I also like that it's realtime, which can be potentially useful, but is not absolutely necessary.

What I don't like is the lack of advanced querying and of the ability to do full-text search within values. I'm guessing I can pull the data on the server and then do the querying/processing there. But then, will this scale? For an idea about the scale, think of a very popular blogging platform with hundreds of thousands of users each with hundreds of posts (just stress-testing, not day-dreaming).

I also don't like is the need to denormalize (duplicate) some data. Because then I have to worry about updating the duplicate data everywhere. But it's not a deal-breaker.

Should I go with the Realtime Database? Or is it totally the wrong solution? What other choices do I have?