Skip to content

Databases 101: SQL vs NoSQL

Databases 101: SQL vs NoSQL

Overview

Relational (SQL) databases store structured data in tables with relationships. NoSQL databases optimize for flexible schemas, scale, or specific access patterns.

When to choose which

  • SQL: strong consistency, complex queries, transactions (Postgres, MySQL)
  • NoSQL: flexible schema, high write scale, document or key-value data (MongoDB, DynamoDB)

Key concepts

  • Normalization vs denormalization
  • ACID vs eventual consistency
  • Indexes and query plans
  • ORMs (Prisma, Sequelize, SQLAlchemy) vs query builders (Knex)

Example schema (SQL)

  • Tables: users, projects, tasks (FK from tasks->projects)

Checklist

  • Write a simple ER diagram
  • Define indexes for frequent queries
  • Add migrations (Prisma, Alembic, Django migrations)
  • Seed development data

Resources

  • postgres.ai learning hub
  • MongoDB University basics
  • Prisma data modeling guide