What is NoSQL database?
NoSQL database(Not only SQL), designed to store, access and distribute data using methods that is different from relational databases(RDBMS). Initially NoSQL database created and used by Internet leaders such as Google, Facebook, Microsoft, Amazon etc that could read and write data anywhere in this world.
In other words, NoSQL database provides a mechanism for storage and retrieval of data that is modeled differently than the tabular relations used in Relational databases. Motive of this approach includes horizontal scaling, simplicity of design, better control over availability. The data structure used in NoSQL(eg. tree, graph, key-value) is different from the RDBMS, hence some operations are faster in NoSQL and some in SQL.
Since last 5-10 years form of data(like unstructured and semi-structured) and application(like mobile, IoT, Cloud) across the internet has changed drastically. Number of concurrent users, unstructured and semi-structured data(like sensor data, location data, images, documents, health records, social media and many more) have increased exponentially. With the help of RDBMS these data can not be processed. So here NoSQL came in picture to handle these kind of data.
You may be confused with NoSQL as Not SQL, but the fact is NoSQL stands for Not only SQL. Before with the help of SQL, only structured data can be processed. Where using NoSQL technology, Structured as well as unstructured and semi-structured data can also be processed. So that’s why it is known as Not only SQL.
Benefits of NoSQL Database
Primarily NoSQL database are designed for supporting decentralized system that target cloud computing. Following are some of the benefits of NoSQL database:
- It is used for Decentralized applications like Web, mobile and IOT.
- Continues availability without any downtime.
- High velocity, large in volume and different verities of data.
- Schema creation and alteration is possible at run-time.
- Horizontal Scaling, so one could choose cheap servers for cloud management to store data, which can be cost-effective.
Uses of NoSQL Database
When and Why to use NoSQL?
- When there is a need of flexible schema.
- When ACID support is not really required.
- When logging the data from distributed sources.
- When there is a need to store different kinds of data(i.e Structured, Semi-structured and Unstructured).
- When there is a need to store Event data.
- When there is need to store Temporal data(data that varies over time eg. weather data, session data, wish list etc.)
- Why, because of dynamic Schema.
- Why, because SQL is not distributed and scalable by nature.
When not to Use NoSQL?
- In case of financial data.
- Data required strict ACID compliance.
- Business critical data
Types of NoSQL database
In next article, you will see the Types of NoSQL database in detail…..