What is NoSQL?
NoSQL stands for Not Only SQL — a family of databases that broke away from the rigid table/row model of relational systems to solve very specific problems: massive scale, flexib…
Introduction
NoSQL stands for Not Only SQL — a family of databases that broke away from the rigid table/row model of relational systems to solve very specific problems: massive scale, flexible schemas, geo-distribution, and real-time workloads.
NoSQL isn't one thing. It's an umbrella covering document stores (MongoDB, Couchbase), key-value (Redis, DynamoDB), wide-column (Cassandra, HBase) and graph (Neo4j) databases. MongoDB is the leader in the document category — the most general-purpose and developer-friendly of the four.
Understanding the topic
The four NoSQL families:
- Document — JSON-like records. Best for catalogs, content, user profiles. → MongoDB.
- Key-Value —
get(key) → value. Best for caches, sessions. → Redis, DynamoDB. - Wide-Column — sparse tables, billions of rows. Best for time-series. → Cassandra.
- Graph — nodes + edges. Best for social, fraud, recommendations. → Neo4j.
- NewSQL (hybrid) — scale of NoSQL + ACID of SQL. → CockroachDB, Spanner.
Syntax reference
SQL vs NoSQL mental model:
SQL: NoSQL (Document):users TABLE users COLLECTION+----+-------+------+ {| id | name | city | _id: "...",+----+-------+------+ name: "Ada",| 1 | Ada | NYC | city: "NYC",+----+-------+------+ orders: [ { ... }, { ... } ]}
Real-world use
NoSQL took off when web-scale apps (Facebook, Netflix, Amazon) hit the limits of vertical scaling on a single SQL server. MongoDB is now used in 50%+ of new application projects according to Stack Overflow surveys.
Best practices
- Pick NoSQL when your access patterns drive the schema, not the other way around.
- Don't blindly replace SQL — choose the right tool for the workload.
- Most modern stacks use both: SQL for transactions, NoSQL for catalog/cache/search.