Saturday, June 19, 2021

Explain the concept of NoSQL Database and state its advantages over RDBMS.

 NoSQL Data Models

Before we start about Data Models, Let’s first understand what NoSQL means. NoSQL means not the only SQL which means we are going to retrieve and store data from non-relational databases. Now let’s see what data model is? A data model defines the logical structure of DBMS. This basically means that it tells us how data is connected to each other, relationships between various entities and how they are processed. Data modeling techniques are different for both relational and non-relational databases. The main difference is NoSQL data models have more application-specific queries as compared to SQL.
 
Syntax with parameters
The Syntax for writing a NoSQL query is given with an example. In this example, we are going to retrieve the name and age of all employees with designation as Manager.
{
"object": "employee",
"q": {
"designation" : " Manager"
},
"fields": ["name", "age"] }
 
 
The above NoSQL query if converted to SQL will look as below:
 
SELECT name, age
FROM employee
WHERE designation =’ manager’;
The shortest query that we can write is a normal select query in NoSQL is as follows:
{
"object": "String",
"q": "Expression"
}
 
The above query is a normal select query.

Advantages of NoSQL databases

Regardless of these obstacles, NoSQL databases have been widely adopted in many enterprises for the following reasons:
1.      Elastic scalability
RDBMSs are not as easy to scale out on commodity clusters, whereas NoSQL databases are made for transparent expansion, taking advantage of new nodes. These databases are designed for use with low-cost commodity hardware. In a world where upward scalability is being replaced by outward scalability, NoSQL databases are a better fit.
2.      Big data applications
Given that transaction rates are growing from recognition, there is need to store massive volumes of data. While RDBMSs have grown to match the growing needs, but it’s difficult to realistically use one RDBMS to manage such data volumes. These volumes are however easily handled by NoSQL databases.
3.      Database administration
The best RDBMSs require the services of expensive administrators to design, install and maintain the systems. On the other hand, NoSQL databases require much less hands-on management, with data distribution and auto repair capabilities, simplified data models and fewer tuning and administration requirements. However, in practice, someone will always be needed to take care of performance and availability of databases.
4.      Economy
RDBMSs require installation of expensive storage systems and proprietary servers, while NoSQL databases can be easily installed in cheap commodity hardware clusters as transaction and data volumes increase. This means that you can process and store more data at much less cost. 

No comments:

Post a Comment