NoSQL

Madusanka Gajadeera
3 min readApr 4, 2021

Introduction

In 1998, Carl Strozz introduced the concept “NoSQL.” A NoSQL database is a non-relational data management system that does not need a schema to be fixed. NoSQL database stands for “Not Only SQL” or “Not SQL.” NoSQL databases are designed specifically for particular data structures, and their schemas are versatile enough to allow for the development of modern applications. NoSQL databases are well-known for their efficiency of development, functionality, and scalability.

Features of NoSQL database

· Non-relational — The relational model is never followed in NoSQL databases and tables with flat fixed-column records can never be used.

· schema-free — NoSQL databases may be schema-free or have schemas that are more relaxed and there is no need for any kind of data schema specification.

· Simple API — Provides user-friendly interfaces for storing and querying data. No standard-based query language.

· Distributed — A distributed execution of several NoSQL databases is possible, and Auto-scaling and fail-over features are included.

Types of NoSQL databases

· Key-value — Key/value pairs are used to store data. It is designed to accommodate large amounts of data and heavy loads. The key-value data model is especially well-tailored to use cases like games, ad tech, and IoT.

· Column Based — Column-oriented databases are built on Google’s BigTable paper and run with columns. Each column is dealt with separately. The values of single-column databases are kept together. Since the data is readily available in a column, they provide high performance on aggregation queries like SUM, COUNT, AVG, MIN, and so on.

· Document oriented — The value portion of a NoSQL DB’s data is stored as a record, but the key-value pair is stored as a key-value pair. JSON or XML formats are used to store the document. By using the same document model structure as their program code, document databases make it easy for developers to store and query data in a database.

· Graph-Based — The function of a graph database is to make it easier to construct and run applications that operate with massive, interconnected datasets. Social networking, recommendation engines, spam prevention, and information graphs are also popular use cases for graph databases.

Advantages of NoSQL

· Big data capability

· It is possible to use it as a primary or analytic database.

· Replication is easy.

· Key Developer Languages and Platforms are supported

· It is easier to implement than using a relational database management system (RDBMS).

· Removes the need for a dedicated data cache layer.

· There are no single points of failure.

Disadvantages of NoSQL

· Query capabilities are limited.

· There are no guidelines for standardization.

· Databases and tools for Relational Database Management Systems (RDBMS) are largely mature.

· For relational records, it does not fit as well.

· For businesses, open-source alternatives are less common.

· New developers will face a steep learning curve.

--

--