Database Management System (DBMS) / No SQL Databases

Brief introduction to NoSQL Databases

NoSQL stands for "Not Only SQL".

It refers to a category of database systems that are non-relational, schema-less, and designed to handle:

  • Large volumes of unstructured or semi-structured data

  • High scalability and performance

  • Frequent changes in data structure


💡 Why NoSQL?

Traditional Relational Databases (RDBMS) like MySQL or Oracle:

  • Store data in tables (rows & columns)

  • Require predefined schema

  • Don't scale easily for Big Data or real-time web apps

NoSQL Databases overcome these limitations by offering:

  • Flexible data models

  • Horizontal scalability

  • High availability and performance


🧱 Types of NoSQL Databases

Type

Description & Use Case

Example DBs

📦 Document-Based

Stores data in JSON-like documents

MongoDB, CouchDB

📋 Key-Value Store

Simple key-value pairs, super fast lookups

Redis, DynamoDB

🌐 Graph-Based

Designed for connected data (nodes & edges)

Neo4j, ArangoDB

📊 Column-Based

Stores data by columns (not rows) for analytics

Cassandra, HBase


✅ Key Features of NoSQL:

Feature

Description

🔄 Schema-less

No fixed structure; fields can vary

⚡ High Performance

Fast reads/writes, even on large datasets

🧩 Flexible Data Model

Supports unstructured/semi-structured data

🧱 Horizontal Scalability

Easily scale by adding more servers

🛡️ Fault Tolerance

Built to handle failures gracefully


🚫 NoSQL ≠ No Rules

  • Not ACID compliant by default (though some NoSQL DBs support it)

  • Often follow the CAP theorem (Consistency, Availability, Partition Tolerance trade-off)


🧠 When to Use NoSQL?

Use NoSQL if:

  • You handle big data or real-time analytics

  • Your data model is evolving frequently

  • You need fast performance & horizontal scaling

  • You're building social networks, recommendation systems, IoT, etc.



🧾 Summary:

RDBMS

NoSQL

Structured data

Unstructured/Semi-structured data

Fixed schema

Flexible schema

ACID compliant

Often BASE (Eventually consistent)

Vertical scaling

Horizontal scaling

Joins supported

No joins (denormalized data)