A comparison between SQL and NoSQL
Huge amounts of data are collected these days, which creates the need for advanced storage technologies. Since databases were introduced in 1960’s, different types have been developed. SQL (Structured query language) is a well-known database that has emerged in the 70’s, but one of the technologies that has gained particular attention since the late 2000s is a NoSQL database. (Hadjigeorgiou, 2013). I will make a comparison between these two databases and discuss the advantages and limitations of each.
Let me start by explaining what SQL and NoSQL databases actually are: the basic concept of SQL is that it is a relational database. This means that all data is stored in relations, structured in a set of tables with columns and rows. The columns define data categories, and each row is contains a unique instance of these defined categories (Khan, 2011).
NoSQL is developed in response to the high volume data that is being created, stored and analysed by users and applications. NoSQL combines a selection of different database technologies and are non-relational databases, meaning that it does not require fixed table schemas. (Planet Cassandra, 2015). The non-relational databases can generally be divided into three categories: the document model (organizes data as a collection of documents) the graph model (data stored using nodges, edges and properties) and the Key-value Wide column models (data stored as attribute name or key with its corresponding value) (MongoDB, 2016)
A downside of a relational database might be that data has to fit in a table. The same table cannot be used to store different information, which introduces complexity issues in case of adding or restructuring data. However the table ensures a strict data storage, limiting consistency issues. (Planet Cassandra, 2015). The advantages of a NoSQL database are that it is able to process a large amount of unrelated and unstructured data, enabling developers to cope with the growing amount of data velocity, variety, volume and complexity. Because of their simpler data models, NoSQL are also able to process data faster than SQL databases. (Khan, 2011). However, NoSQL databases are less reliable compared to SQL databases because of less reliability and less data-integrity, making SQL databases preferable when data-integrity is essential (Buckler, 2015).
So which one is better, SQL or NoSQL databases? The choice should depend on the particular problem that one wants to solve. Both have their advantages and limitations and hybrid solutions may even be more suitable in some cases than eliminating one of the two.
References:
- <http://www.thewindowsclub.com/difference-sql-nosql-comparision>
- https://www.sitepoint.com/sql-vs-nosql-differences/