NoSQL Database – An Overview

NoSQL can be defined as a schema-less, non relational database management system that does not require a fixed schema. The term NoSQL stands for ‘non SQL’ or ‘not only SQL’. It is the next generation database management system. Data storage costs have reduced and number of applications and query needed to store have increased. Thus, the need for improved storage capacity came into being. NoSQL database encourages flexibility by allowing users to store huge amount of unstructured data.


Need for NoSQL Database

NoSQL was developed around late 2000s with the objective of scaling up for application change. It has relaxed schemas or are schema-free. As requirements change we can also make amendments in the database due to its flexible schema. Nowadays web applications require 24×7 support services, no downtime (ideal situation), have globally distributed user base, should have ability to handle both structured and unstructured data, etc. An issue with relational database is that the schema is static. Due to their fixed data model, they are usually unable to meet this requirement, thus the need for NoSQL database rose.

NoSQL technology stores data in JSON format, rather than row column style like traditional SQL.
It supports heterogeneous data structures. You can execute multiple databases in a distributed manner. The joins which are a vital part in SQL is not a mandate here.

In relational db, it reads data after ‘shredding’ or ‘disassembling’ or ‘reassembling’ into tabular format. But in a NoSQL database, data can be presented and used as it is.


Data Storage types in NoSQL

A NoSQL database does not strictly define a data model. Based on product needs, users can choose their databases. NoSQL has four different types of databases based on different requirement. They are:

Key-Value Store: data is stored in key/value pair format. To put it simply, they are a type of no query language. It just deals with a few simple commands like GET, PUT, DELETE to help in fast data retrieval. It helps developers to store data without any schema. One use case of this type is shopping cart contents.

Column-based: Another name for column-based models is ‘Wide column’ models. In this case, it treats each column separately. They can deliver great performance based on aggregation queries such as SUM, AVG, MIN, MAX, etc. The columns are not consistent across records. You can add columns to specific rows without having to add them to every single record.

Document-based: The document-based approach consists usage of numbers, strings, booleans, arrays and even dictionaries. It stores all information as an instance in the database, instead of spreading across different tables like relational databases. This technique helps in storing large amounts of data having different attributes. MongoDB and CouchDB are examples of document-based databases.

Graph-based: Graph-based framework is mostly used in logistics, social network, spatial data. It helps in visualizing, analyzing or to find relationship between nodes. In graph databases, there are mainly two components: node and edge. Node is the data itself. Edge is the relationship between two nodes. OrientDB is an example of graph-based database. They can help in expressing information in a graphical manner.


Easy Up-Scaling

Due to flexible data models, NoSQL databases can scale up horizontally and can query quite fast. Speed and agility are both crucial to remain competitive in today’s evolving market. Hence, continuous adaptation to the requirements is the key. When requirements change, the data model might also change. Relational databases fail here due to their static schema. Besides, this lag also slows down the environment, sometimes affecting other applications. Not to forget, NoSQL db can operate at any scale by adding more servers to the infrastructure to manage large load and lessen the heap. Easy installation and configuration is an added advantage. Thus, this high-performance database is gaining popularity to power IoT, mobile and other web applications.


Facebooktwitterredditpinterestlinkedin

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top