NoSQL databases overview
In short: NoSQL is an umbrella term for databases that do not rely on tables with a fixed schema. There are four main types: document, key-value, column and graph.
In more detail: Relational databases are strong at relationships and consistency. NoSQL systems often trade some of that for easier scaling, flexible data shapes or very high speed.
In Depth
- Document: JSON-like documents (MongoDB, CouchDB). Good for nested, changing data.
- Key-value: Fetch a value by key (Redis, DynamoDB). Very fast, ideal for caches and sessions.
- Column: Data grouped by columns (Cassandra, HBase). Strong for huge write volumes.
- Graph: Nodes and edges (Neo4j). Ideal for networks such as friendships or recommendations.
- Trade-off: No NoSQL is “better”; it depends on access patterns. For invoices and orders, SQL usually remains the safe choice.
See also: CAP theorem