System Design Tutorial 0/48 lessons ~6 min read Lesson 11

    SQL vs NoSQL

    SQL vs NoSQL is not a moral choice — it's a data model fit question.

    Course progress0%
    Focus
    21 guided sections
    Practice signal
    Examples included
    Career prep
    Interview Q&A included

    Introduction

    SQL vs NoSQL is not a moral choice — it's a data model fit question. Relational ACID vs document/wide-column/graph for access patterns and scale shape.

    The story

    A team picked Mongo for financial transactions needing multi-row ACID. They spent 6 months building app-level transactions. Postgres would have been week one. Match the database to access pattern and consistency needs.

    The business problem

    Teams that skip disciplined SQL vs NoSQL thinking pay in outages, cost overruns, and failed interviews:

    • Outages: components chosen without scale math fail at peak.
    • Cost: over-engineered microservices for 100-user products.
    • Latency: missing cache/CDN/replica on read-heavy paths.
    • Interviews: boxes without numbers and trade-offs don't hire.

    The problem teams faced

    This lesson addresses:

    • When and why SQL vs NoSQL matters in real architectures.
    • How to sketch components and data flows under interview time pressure.
    • Trade-offs vs alternatives — what senior engineers articulate aloud.
    • Production patterns and failure modes you've seen or will see.

    Understanding the topic

    Core idea: SQL vs NoSQL in production system design.

    • Problem — what force this topic addresses.
    • Building blocks — components typically involved.
    • Trade-offs — what you gain and what you pay.
    • Interview — how this appears in design loops.

    Internal architecture

    SQL vs NoSQL — system view:

    text
    Access pattern analysis
    Structured + joins + ACID → SQL (Postgres)
    Flexible schema + horizontal scale → Document (Mongo)
    High write throughput + time series → Wide-column (Cassandra)
    Relationships as first-class → Graph (Neo4j)

    Visual explanation

    Three diagrams: architecture flow, design process, and scaling lens:

    SQL vs NoSQL architecture
    SQL
    Entry point
    vs
    Core logic
    NoSQL
    Persistence
    Scale path
    Next bottleneck
    Component view — name each box in interviews.
    Design process
    Clarify scale
    QPS · storage
    Pick approach
    Trade-off
    Draw path
    One flow
    Failure mode
    What breaks?
    Repeat this loop for every system design question.
    Scale & reliability
    Bottleneck
    Find first
    Mitigation
    Cache · shard
    Measure
    SLI/SLO
    Iterate
    Phase 2
    Always close with how design evolves at 10× traffic.

    Informative example

    Example — SQL vs NoSQL:

    text
    E-commerce orders + line items + inventory → SQL
    User activity feed blob per user → Document
    Sensor metrics at 1M writes/sec → Wide-column
    Social graph "friends of friends" → Graph or SQL with care

    Execution workflow

    1SQL vs NoSQL design workflow
    1 / 5

    Clarify requirements

    Functional scope + NFRs (scale, latency, consistency).

    5 minutes in interviews.

    Real-world use

    Used in production at major tech companies and every FAANG system design interview loop. Patterns align with AWS/GCP well-architected frameworks and Google SRE practice.

    Production case study

    A team picked Mongo for financial transactions needing multi-row ACID. They spent 6 months building app-level transactions. Postgres would have been week one. Match the database to access pattern and …

    • Context: production or interview scenario from this lesson.
    • Decision: component and trade-off choices explained.
    • Outcome: measurable latency, availability, or cost impact.

    Trade-offs

    • Pro: structured approach reduces outages and interview failures.
    • Con: upfront thinking takes time — faster than wrong rebuild.
    • Con: every product has unique constraints — adapt templates.

    Decision framework

    • Always estimate before drawing microservices.
    • Match consistency model to business domain (money vs likes).
    • Document rejected alternatives — ADR or interview closing.

    Best practices

    • State assumptions explicitly (DAU, read:write ratio).
    • Draw async vs sync paths with different line styles.
    • Close with monitoring and on-call failure modes.

    Anti-patterns to avoid

    • Jumping to Kafka and microservices without scale justification.
    • Single DB box with no read replica or cache on read-heavy design.
    • Ignoring idempotency on write APIs with retries.

    Common mistakes

    • Underestimating peak QPS (forgetting peak factor).
    • Hot shard from poor partition key choice.

    Debugging tips

    • Trace one request ID through diagram — find missing component.
    • Ask "what fails first at 10×?" for every design.

    Optimization strategies

    • Cache + CDN first for read-heavy; shard when single DB saturates.
    • Async queue for slow side effects (email, analytics).

    Common misconceptions

    • More components ≠ better design — simplest meeting NFRs wins.
    • Interviews test process — not memorizing Netflix architecture.

    Advanced interview questions

    Interview Prep

    Practice concise answers, then expand each card for the explanation.

    3 questions
    1IntermediateQuestionHow does SQL vs NoSQL appear in interviews?+

    Answer

    Usually as a component choice or deep-dive within a larger design. Explain trade-offs vs alternatives and give scale numbers.

    Follow-up

    What breaks first at 10×?
    2IntermediateQuestionRelated building blocks?+

    Answer

    Connect to load balancers, cache, DB replication, queues, and observability from this course — show compositional thinking.

    Follow-up

    Draw the data flow.
    3AdvancedQuestionSenior-level trade-off?+

    Answer

    Name CAP/consistency choice, cost vs latency, build vs buy (managed service), and operational burden of your choice.

    Follow-up

    Phase 1 vs phase 2?

    Summary

    You can explain SQL vs NoSQL in a 45-minute system design interview with numbers, diagrams, and trade-offs. Teach it back without notes — you own this piece.

    Ready to mark this lesson complete?Track your journey across the entire course.