Skip to main content

What is NoSQL database?

The name NoSQL itself tells us that it is "non-SQL" or "non-relational" database. Around 30 years back when the data used to be non-changing and smaller in size, traditional relational databases were more prominent like ORACLE, Postgres and so on which had fixed schemas. But during the last decade, the data has grown exponentially and it is also changing quickly. The traditional databases have failed to handle this BIG DATA effectively. So there was a need to introduce the database that can adapt itself with ever-changing data and that can handle the enormous size of data. And thus NoSQL databases came into the picture.

Nowadays NoSQL databases have been referred to as "Not Only SQL" databases which means that these databases may support SQL like query languages and can be a part of polygot persistent architecture along with other relational databases. The data structures used in the NoSQL database are more efficient than the data structures used by the relational database which makes the operations faster in the NoSQL database. Below are some of the features of NoSQL databases:

1. Flexibility: NoSQL databases offer flexible schema which makes NoSQL databases suitable for structured and unstructured data.

2. Scalability: NoSQL databases are scalable. It scale-out by using distributed clusters of hardware rather than scaling by adding expensive servers.

3. High Functionality: NoSQL provides high functional APIs and data types

4. High Performance: NoSQL database are designed for specific data models and access patterns that enable high performance

Most of the NoSQL databases offer "eventual consistency" in which database changes are propagated to all the nodes eventually, so queries for data might not get the updated data immediately or might lead to inaccurate data, a problem called as stale reads. Some NoSQL database also exhibits data loss. The other disadvantages include transaction management problems, Backup issues, and large document sizes in some of the NoSQL databases like MongoDB.

Types of NoSQL databases:

1. Key-Value: Key-Value stores use an associative array as a data model, the data is represented as key-value pairs where each key appears at most once in the collection. Some of the examples of Key-value stores are Memcached and Redis.

2. Document Store: In the document store, the data is represented as an object or JSON like document because it is an efficient and intuitive data model. MongoDB is one such example of the document store

3. Graph: This kind of database are suitable for the data which exhibits a relationship between them and can be represented in the form of a graph consisting of elements with finite relationships between them. Popular databases include Neo4j and Giraph.


Comments

Popular posts from this blog

Tricky Questions or Puzzles in C ( Updated for 2026)

Updated for 2026 This article was originally written when C/C++ puzzles were commonly asked in interviews. While such language-specific puzzles are less frequent today, the problem-solving and logical reasoning skills tested here remain highly relevant for modern Software Engineering, Data Engineering, SQL, and system design interviews . Why These Puzzles Still Matter in 2026 Although most Software &   Data Engineering interviews today focus on Programming, SQL, data pipelines, cloud platforms, and system design , interviewers still care deeply about how you think . These puzzles test: Logical reasoning Edge-case handling Understanding of execution flow Ability to reason under pressure The language may change , but the thinking patterns do not . How These Skills Apply to Data Engineering Interviews The same skills tested by C/C++ puzzles appear in modern interviews as: SQL edge cases and NULL handling Data pipeline failure scenarios Incremental vs ...

Decorators in Python

Decorators provide additional functionality to the functions without directly changing their definition of them. Basically, it takes the functions as an argument, adds functionality to them, and returns it.  Before diving deep into the concept of Decorators, let's first try to understand  What are functions in Python and what is an inner function? In Python everything is Objects, be it Class, Variables, and Functions . So functions are python first-class objects that can be used or passed as an argument. You can store the functions in variables, you can pass a function to another function as parameters, and you can also return the function from the function. Below is one simple example where we are treating functions as objects . def make_me_lowercase ( str ): return str .lower() print (make_me_lowercase( "HELLO World" )) copy_of_you = make_me_lowercase print (copy_of_you( "HELLO World" )) The output of the above calls for both the functio...

Program to uncompress a string ie a2b3c4 to aabbbcccc

Below is the program to uncompress a string #include<stdio.h> #include<conio.h> #include<stdlib.h> int main() { char str[100]="a2b3c4d8u7"; for(int i=0;str[i]!='\0';i++) { if(i%2!=0) { for(int j=0;j<atoi(&str[i]);j++) { printf("%c",str[i-1]); } } } getch(); } Want to become a Data Engineer? Check out below blog posts  1.  5 Key Skills Every Data Engineer needs in 2023 2.  How to prepare for Data Engineering Interviews 3.  Top 25 Data Engineer Questions