What are the advantages and disadvantages of Firebase for a database

database-recommendation

I am currently developing a site to track credits gained from exams, and how these stack up against the user's goal credits.

I am looking for a database system that will store all the possible exams someone could take in NCEA (New Zealand's qualification system), and store the user's goals and actual results for exams.

I have considered using Firebase, mySQL and JSON storage with GET and POST requests in order to store and change data.

What are the advantages and disadvantages of using Firebase as a database for this?

Best Answer

You haven't really given us much info about what this data is going to be used for. I mean, you have said what data is going to be stored, but what are you going to do with it?

If your purpose is storing the data then reporting on it, then I think you're looking in the wrong place. A simple MySQL or SQL Database would do just fine and the reporting tools are readily available.

However if your going to be linking to something such as a web or mobile application where the data is constantly changing by multiple users (all accessing the same database stored in the cloud) then Firebase is the way to go.

So, your Pro's and Con's:

Pro's

  • If your app does run of a centralized DB, and is updated by a lot of users - then it's more than capable of handling the Real-Time data updates between devices.
  • Stored in the cloud so readily available everywhere.
  • Cross Platform API (If you are using this DB with an App)
  • They Host the data. -Meaning if you are storing a lot of data, you don't have to worry about hardware!

Con's:

  • Unless your app runs of one centralized database updated by a vast quantity of users, it's a major overkill.
  • Storage format is entirely different to that of SQL, (Firebase uses JSON) so you wouldn't be able to migrate that easily.
  • Reporting tools won't be anywhere near the ones of standard SQL.
  • Costs! -Limited to 100 Connections and 1GB of Storage! (see this for more details on limitations!)
  • You don't host the data, Firebase does. And depending on which server you get put on, viewing there up time there seems to be a lot of disruption lately.

Note: I included "Who hosts the data" in both the pro's and con's. That's because you never told us how much data you were storing and who was going to be accessing it.