๐ Document Stores
- Data Model: JSON-like documents (key-value pairs with nested structure)
- Use Case: When you want a flexible schema and hierarchical data (e.g., blog posts, user profiles)
- Queryable Fields: โ Yes โ you can query inside the document fields
Example:
{
"user_id": 123,
"name": "Alice",
"orders": [
{ "item": "Book", "price": 10 },
{ "item": "Pen", "price": 2 }
]
}Popular Databases: MongoDB, CouchDB, Firestore
๐ Key-Value Stores
โข Data Model: Simple key โ value pairs
โข Use Case: Fast lookups and caching (e.g., session storage, leaderboards)
โข Queryable Fields: โ No โ you retrieve by key only
Example:
"session_abc123" โ "{ user_id: 123, status: 'active' }"
Popular Databases: Redis, DynamoDB, Riak
๐งพ Wide-Column Stores
โข Data Model: Rows with dynamic, sparse columns grouped into column families
โข Use Case: Time-series data, write-heavy workloads, IoT, logs
โข Scales Horizontally: โ Excellent for massive datasets across many machines
Example:
| UserID | Name | LastLogin | |
|---|---|---|---|
| 123 | Alice | alice@mail.com | 2024-03-01 |
Popular Databases: Cassandra, HBase, ScyllaDB
๐ Graph Databases
โข Data Model: Nodes and relationships (edges)
โข Use Case: Social networks, fraud detection, recommendation engines
โข Query Language: Cypher (Neo4j), Gremlin, SPARQL
Example:
(Alice) -[FRIEND]-> (Bob)
Popular Databases: Neo4j, ArangoDB, JanusGraph