Davinia de la Rosa She is a professor in the master's program in Programming Applied to BIM And in this article, he discusses the different databases we should consider depending on the project at hand.
SQL Server, MySQL, Firebase, MongoDB, Oracle, PostgreSQL… there’s a whole world of names and acronyms to choose from when it comes to storing data for an application, but which one should I use? Which one is best for my project? What are the differences?
Next, we're going to discuss a classification system that is fundamental and very important for making an informed decision.
Relational Databases
These are the ones in which the most important thing is the integrity and accuracy of the information. When we want to strictly limit the information to ensure that the information we extract when querying the data is accurate and reliable, we make a trade-off in terms of time, since performing numerous checks takes more time.
To ensure the integrity of the stored data, tools such as primary keys and foreign keys are used.
In short, if my database is well-designed and developed, data accuracy is guaranteed, but this takes time, so we can say that this type of database is efficient, but not fast.
Some of the databases mentioned earlier that fall under this classification are MySQL, SQL Server, Oracle y PostgreSQL.
This type of database is, as we can imagine, ideal for banks, business management software (SAP, Odoo, etc.), online stores, etc.
NoSQL Databases
We're talking about a much less restrictive approach that is designed to store a larger volume of data at a faster rate, although in this case the accuracy or completeness of the information would be compromised.
The idea, in this case, would be “Save the information—we'll analyze it later, because we don't have time to check it now; there's just too much of it.”.
To better understand what Big Data databases are, let’s take Google as an example: Do you know how many searches Google itself tells us are performed per second? no less than 68,000. Since Google doesn’t have time to check whether all the search data has been saved, it stores all the information as quickly as possible using a NoSQL database and analyzes it as soon as it can using other software tools.
If 200 searches were lost or not stored correctly, it wouldn't be a major issue, since the data could still be analyzed using the remaining information, and the reliability would be acceptable. The same applies to social media: if Facebook «mishandles» a «like,» it’s not a big deal, since the user can simply click “like” again.
Some of the examples mentioned that fall into this category are Firebase y MongoDB.
In short, Big Data, broadly speaking, involves storing a very large volume of data that will subsequently need to be managed and analyzed. When it comes to managing this data, we could use NoSQL databases or combine them with relational databases. This decision should be based on the two factors already discussed: data accuracy and time.
To decide which type of database to use, we can start by looking into the specific characteristics of each one, since even within this very basic classification and explanation, there are many more factors to consider.