What is MongoDB?

An introduction to MongoDB and NoSQL databases

Featured image

Image Reference



Overview

Let’s explore MongoDB, one of the most popular NoSQL databases, and understand how it differs from traditional relational databases.


What is MongoDB?

MongoDB is a NoSQL database that offers more flexible data storage and management compared to traditional relational databases.

The name “MongoDB” comes from “humongous,” reflecting its design for handling large-scale data.

Key Characteristics
  • Document-oriented database
  • Schema-less design
  • Built for scalability
  • High performance


Understanding NoSQL

NoSQL (“Not Only SQL”) was developed as an alternative to traditional RDBMS, addressing their limitations. NoSQL databases typically offer:

Main Types of NoSQL Databases
  1. Document-Oriented Database
    • Examples: MongoDB, CouchDB
    • Stores JSON/XML-like documents
  2. Key-Value Store
    • Examples: Redis, DynamoDB
    • Simple key-value pair storage
  3. Wide Column Store
    • Examples: Cassandra, HBase
    • Uses column families for data organization
  4. Graph Database
    • Examples: Neo4j, Amazon Neptune
    • Optimized for relationship data


Key Features of MongoDB

Document Database

MongoDB stores data in flexible, JSON-like documents where each document can have different fields.

Schema-less Design

Collections can contain documents with varying structures, ideal for evolving data requirements.

Horizontal Scalability

Supports sharding for distributing data across multiple servers.

Query Capabilities

// Example of MongoDB query
db.collection.find({
  age: { $gt: 25 },
  status: "active"
}).sort({ name: 1 })

High Availability

Uses replica sets for automatic failover and data redundancy.


Understanding Sharding

MongoDB vs RDBMS Sharding
  • Mechanism
    • MongoDB: Automated sharding process
    • RDBMS: Manual configuration required
  • Data Model Flexibility
    • MongoDB: Flexible schema across shards
    • RDBMS: Fixed schema constraints
  • Cross-Shard Transactions
    • MongoDB: Native support since version 4.2
    • RDBMS: Can be complex to implement



References