Skip to content
Dev Dump

🗄️ SQL vs NoSQL Databases

  • Tabular schema with predefined columns and strong typing.
  • Query language: SQL with joins, aggregations, transactions.
  • Vertical scaling is common; horizontal sharding available with added complexity.
  • ACID guarantees ensure strict transactional integrity.

NoSQL Databases

  • Non-relational models designed for large-scale, flexible workloads.
  • Schema-free or schema-light; each record can differ.
  • Typically emphasize horizontal scale, availability, and lower latency over strict consistency.
CategoryDescriptionExample Use CasesSample Technologies
Key–valueSimple key → value lookupsCaching, session storesRedis, DynamoDB, Riak
DocumentJSON/Doc storage with nested structuresCMS, user profiles, catalogsMongoDB, CouchDB, Firestore
Column familySparse, column-oriented tablesTime series, analytics, loggingCassandra, HBase, Bigtable
GraphNodes + edges for relationshipsSocial graphs, fraud detectionNeo4j, JanusGraph, Amazon Neptune
ModelGuaranteesTypical Systems
ACID (Atomicity, Consistency, Isolation, Durability)Transactions fully succeed or roll back; serializable or snapshot isolationSQL databases, NewSQL
BASE (Basically Available, Soft state, Eventually consistent)System remains available under partition; replicas convergeDynamo-style NoSQL, Cassandra
RequirementSQLNoSQL
Strong consistency⚠️ depends (often eventual)
Flexible schema⚠️ requires migrations✅ schema-less
Complex joins & relationships✅ built-in⚠️ denormalize or use graph DB
Massive write throughput⚠️ sharding required✅ native horizontal scale
Rapid iteration on data model⚠️ slower✅ agile
Analytics/BI tooling✅ mature ecosystem⚠️ tool support varies