Hi Dmitry,
With the growing amount of data that and individuals started to collect in the recent decade, and with the appearance of big data technologies, the demand for new storage types has emerged. The traditional relational databases were no longer able to handle the volume, and variety of big data. The new generation of storage, NoSQL databases started to gain popularity to counterbalance the shortages of relational databases.
"The major challenge with the growing data is its nonuniformity" (Gupta et al., 2017).
The incoming data can come from various sources in many formats such as social feeds, videos, photos, texts. While relational databases are also able to store all types of data, structured, unstructured and semi-structured, the latter two would need to be converted in order to fit it into the RDBMS. As opposed to this, NoSQL databases can store all types of data in large quantities continuously without any rigid schemes or limitations, therefore, they are able to deal with the volume, variety, and velocity of the big data.
Some of the main differences between SQL and NoSQL databases are the following:
- Language: relational databases use SQL whilst NoSQL databases have no defined language
- Scalability: SQL databases are while NoSQL are horizontally scalable
- Community: due to the relational databases' maturity, they have more developed communities
- Structure: relational databases are table based while NoSQL have different types - as discussed above
NoSQL databases are not perfect though, they also have their disadvantages.
One concern is security, as it is challenging to secure a NoSQL database. Although this problem may be solved in the future as the technology matures.
Another problem is data consistency as NoSQL databases do not perform ACID transactions (Atomicity, Consistency, Isolation, Durability), which would ensure that the data remains consistent while moving it around.
Lack of is also an issue as there is no specific query language or interface designed to deal with all type of NoSQL databases. Therefore, the learning curve for developers is steep.
Hope this helps!
Kind regards,
Annamaria
References:
Gupta, A. et al. (2017) 'NoSQL databases: Critical analysis and comparison', in 2017 International Conference on Computing and Communication Technologies for Smart Nation (IC3TSN). IEEE, pp. 293–299. : 10.1109/IC3TSN.2017.8284494.
Ribeiro, J. et al. (2017) 'NoSQL vs relational database: A comparative study about the generation of the most frequent N-grams', in 2017 4th International Conference on Systems and Informatics (ICSAI). IEEE, pp. 1568–1572. : 10.1109/ICSAI.2017.8248535.
Shiff, L. (2018) NoSQL vs SQL: What's The Difference and How To Choose – BMC Blogs. Available at: https://www.bmc.com/blogs/sql-vs-nosql/ (Accessed: 18 March 2018).
Original Message:
Sent: 04-10-2018 15:08
From: Dmitry Mironov
Subject: NoSQL Databases
Hi!
Why NoSQL databases like MongoDB are so popular now?
I knew for decades that relational database is the only "true" way to manage the data, all other approaches would not provide the relevant data quality, due to document conflicts and so on.
Lotus database is one of such examples.
And now... we see the other way, the other world of non-relational aka NoSQL databases.
Could anybody explain it in simple terms?
------------------------------
Dmitry Mironov
------------------------------
#GlobalAIandDataScience
#GlobalDataScience