SQL vs NoSQL What is the difference?
NoSQL databases are on the rise, and some say SQL is dying. In this article we talk about the definitions, some history, and the future about those database management systems.
What is SQL?
Structured Query Language (S-Q-L) was initially developed by IBM, mainly based on the relational model from Edgar F. Codd’s paper “A Relational Model of Data for Large Shared Data Banks”. It was designed to manipulate and retrieve data stored in IBM’s management system. Over the years different companies developed their versions of SQL, and it kept improving. SQL is designed to be used for relational databases which at the time were very promising because they minimize data duplication and data storage was expensive back in those days.
What is NoSQL?
NoSQL (non-SQL or Not-only-SQL) emerged in the late 2000s as the cost of storage dramatically decreased and the incentive of minimizing data storage used was replaced with the incentive of minimizing development costs. Also, over the years the data stored increased exponentially and relational databases were hard to scale vertically. NoSQL databases allow developers to store huge amounts of unstructured data, that gives developers a lot of flexibility.
After relational databases dominated the industry for decades, NoSQL emerged to solve the limitations relational databases have. One of those problems is the problem of scaling. In the early days storing data was simple and mostly predefined so RDMS (Relational Database Management Systems) had no problem storing them but after data became abundant and the ways of using/analyzing data improved drastically they started to struggle. Because now companies want to store every piece and type of data they can. This is a huge problem for RDMS because you should have a predefined structure to use them. At the same time agile programming was rising in popularity. This means products often changed their shape in the development cycle and again RDMSs were not meant for this. These main factors and many minor factors contributed to the shift from RDMSs to NoSQL databases like Mongodb but you shouldn’t overestimate these problems. Even to this day RDMS are superior in most cases because these problems are not always present. Most large companies use SQL when they can and NoSQL when they must, because SQL is better at minimizing duplicates and an overall better organized system.
Some people are saying that SQL is dying, but they are saying this for years and there is no real data to support their claims. Reports from 2019 are showing that SQL databases are still the majority with %60.5 share and most databases are using a combination of both over %70 percent of them. To conclude yes NoSQL databases are on the rise and it seems like a good idea to learn and train yourself about them but SQL is not looking like it will become outdated soon so it is a good idea to invest in SQL even more than NoSQL.
Undergraduate in Bogazici University Management Information Systems