NoSQL is an umbrella term for databases that do not use the fixed table-and-row relational model. Common types are document, key-value, wide-column, and graph databases.
Why it matters
NoSQL systems were built for needs that strained traditional databases: flexible or changing data shapes, very high write rates, and horizontal scaling across many servers. Many relax some guarantees, such as joins or immediate consistency, to achieve that. The name is misleading, since several of them now support SQL-like query languages and transactions.
Example
The same user record in a document database:
{
"_id": 17,
"name": "Asha",
"emails": ["a@example.com", "asha@work.example"],
"address": { "city": "Shimla" }
}
In a relational schema the emails and address would usually live in separate tables joined by keys.
Common mistakes
- Choosing NoSQL because it sounds modern, then needing joins and multi-row transactions that it handles poorly.
- Skipping schema design because the database does not enforce one. The application still needs a consistent shape.
- Believing NoSQL is always faster. It depends on the access pattern.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.