Lessons in this course (14)

6. Choosing the database — SQL vs NoSQL

Intermediate★ Must knowLesson 6 of 14
TypeExamplesStrengthsUse for
Relational (SQL)SQL Server, PostgreSQL, MySQL, Azure SQLACID transactions, joins, constraints, mature toolingOrders, payments, inventory, most business data
Key-valueRedis, DynamoDBVery fast simple lookupsCache, sessions, counters, leaderboards
DocumentMongoDB, Cosmos DBFlexible JSON documents, easy scalingCatalogs, user profiles, content
Wide-columnCassandra, ScyllaDBMassive write throughput, time-ordered dataIoT telemetry, messaging history, activity logs
GraphNeo4j, Cosmos DB GremlinRelationships and traversalsSocial graphs, recommendations, fraud
Time-seriesInfluxDB, TimescaleDB, Azure Data ExplorerTime-bucketed metricsMonitoring, sensors
SearchElasticsearch, Azure AI SearchFull-text search, ranking, facetsProduct search, logs
Object storageAzure Blob, S3Huge files cheaplyImages, videos, backups
Vectorpgvector, Azure AI Search vectors, QdrantSimilarity search on embeddingsAI/RAG, recommendations

Default: start with a relational database unless a specific need (massive scale for simple access patterns, flexible schema, special query type) points elsewhere. Many systems are polyglot — SQL for transactions + Redis + Blob + search index.