In my previous post I briefly discussed the core differences between RDBMS and NoSQL. In this post, I'm going to more focus on the NoSQL.
There are four major NoSQL Database types
These four types have their own advantages and disadvantages and we should carefully select depending on our requirement.
Basically, NoSQL databases have come into action in response to
What are this rapid data growth and high demand in data?
2-3 decades back we knew only handful of methods of receiving and publishing data. (Books/Newspapers/Letters etc) but now we have unlimited sources such as mobile devices, electronic sensors (and lot more) to provide different types of information.
Due to the interconnectivity of people via the technology (the most un-human way of connecting anyway) nowadays we know a lot and we are in unsatisfying thirst to know everything. I think that answers to the question.
In RDMBS we already knew what are the data which we are going to store in our database and what is the structure of the data.
Simple Eg : In customer table, we are going to store only the first name, last name and age with customer id nothing else.
In other words, our data is clearly matching to our data model in our RDBMS
Simply we can think about Videos/Images/Sounds
A good explanation of these data types can be found here
The other worth mentioning point is NoSQL databases increases the ability to follow the Agile development practices in such a way that giving the flexibility to do the rapid changes to the data and the schemes depending on the client's need.
So the NoSQL database systems have developed using the technologies which are capable of satisfying these requirements more easily than the traditional RDBMS systems.
Most of the time Big Companies with enormous data cannot rely on one particular database system. So they tend to use Hybrid solutions with multiple types of RDMBS and NoSQL databases. Which provides their customers more feature rich and user-friendly environment.