Skip to content

Perfect — Option B it is.

Below is a deep, interview-grade, CTO-level article that goes far beyond the usual SQL vs NoSQL explanations. This version covers internal architectures, read/write paths, consistency models, sharding, replication, and real interview reasoning.

This is the article you should publish on officialcto.com (and also the version you should study repeatedly before your interviews).


SQL vs NoSQL — Internal Architecture, Access Patterns & When to Use Each ​

A Deep Technical and Interview-Ready Guide for Senior Engineers & System Design Candidates ​

Most engineers know the surface-level differences:

SQL uses structured schema and ACID; NoSQL is flexible and scalable.

But modern interviewers expect a far deeper understanding:

  • How do B+ Trees differ from LSM Trees internally?
  • Why do relational databases struggle with horizontal scaling?
  • How does MongoDB achieve multi-document ACID now?
  • Why do Cassandra and DynamoDB prefer eventual consistency?
  • How do read/write paths differ internally across SQL/NoSQL systems?
  • When will NoSQL fail catastrophically as a choice?
  • How does sharding differ across PostgreSQL, MongoDB, Cassandra, DynamoDB?

This article provides those answers.


1. The Real Difference: Internal Storage Engines ​

This is the single biggest conceptual gap most candidates miss.

SQL databases (PostgreSQL, MySQL) use B+Tree storage engines, while most high-scale NoSQL systems (MongoDB WiredTiger, Cassandra, DynamoDB, HBase) use LSM Trees.

SQL Internal Architecture (B+ Trees) ​

Indexes & Storage ​

  • All data stored in pages (4 KB or 8 KB).
  • B+ Trees map logical keys → physical pages.
  • Updates modify pages in-place.
  • Write path requires random writes.

Read Path ​

B+ Tree lookup → page fetch → row decode

Write Path ​

Update page
↓
Write redo record to WAL
↓
Flush dirty pages later

Pros ​

  • Fast point queries.
  • Efficient range scans.
  • Strong transactional semantics.

Cons ​

  • Random writes → bottlenecks at scale.
  • Sharding is difficult because joins span shards.
  • Consistent replication across shards is complex.

NoSQL Internal Architecture (LSM Trees) ​

How LSM Works ​

  • Writes go to memtable (in-memory red-black tree / skiplist).
  • WAL (Write-Ahead Log) ensures durability.
  • Memtable flushed to immutable SSTables.
  • SSTables periodically merged via compaction.

Read Path ​

Memtable
↓
Immutable memtables
↓
SSTables (newest → oldest)
↓
Bloom filters skip irrelevant files
↓
Return latest version

Write Path (FAST) ​

Append WAL
↓
Insert into memtable
↓
Return to client
↓
Flush to SSTable asynchronously

Pros ​

  • Extremely fast writes (append-only).
  • Scales horizontally very well.
  • Perfect for high-throughput workloads.

Cons ​

  • Read amplification (must check multiple SSTables).
  • Complex compaction logic.
  • Eventual consistency common.

2. Distributed Architecture Differences ​

SQL databases originally evolved for single-node deployment. NoSQL systems were built for distributed architectures from day one.

SQL Scaling ​

Modern SQL databases can scale horizontally, but require complex solutions:

  • Read replicas
  • Sharding middleware like Vitess or Citus
  • Federated queries
  • Distributed SQL systems like CockroachDB, Yugabyte, Spanner

Key challenge:

Relational integrity and joins break naturally across shards.


NoSQL Scaling ​

NoSQL systems embrace horizontal scaling:

  • Automatic sharding
  • Consistent hashing (Cassandra, DynamoDB)
  • Range-based sharding (MongoDB, HBase)
  • Global replication
  • Fault-tolerant write paths

Because they are schema-flexible and often denormalized:

Each document/row carries all required data — no joins across shards.


3. Consistency Models: ACID vs BASE Is Not Enough ​

Every interviewer hates hearing only:

“SQL is ACID; NoSQL is BASE.”

You must show deeper clarity.

ACID (SQL) ​

  • Atomicity: all or nothing
  • Consistency: database rules always satisfied
  • Isolation: transactions don’t interfere
  • Durability: persisted even if crash happens

SQL databases default to strong consistency.


BASE (Classic NoSQL) ​

  • Basically Available
  • Soft-state
  • Eventual consistency

But modern NoSQL databases have tunable consistency:

Cassandra ​

R + W > RF  → strong consistency

DynamoDB ​

  • Strong read optional (ConsistentRead=true)
  • Default: eventual consistency

MongoDB ​

  • Majority writes + majority reads → strong consistency
  • WiredTiger uses MVCC internally

HBase ​

  • Consistent within regionserver
  • Eventual across regions

4. Internal Replication Models ​

Interviewers love this topic.

SQL Replication ​

Leader-Follower (most common) ​

  • Only leader accepts writes.
  • Followers replicate WAL.
  • Strong consistency only if reading from leader.

Issues:

  • Failover requires election.
  • No horizontal write scaling.

NoSQL Replication ​

Cassandra / DynamoDB (Leaderless) ​

  • Any replica can accept writes.
  • Tunable consistency via quorum.
  • Anti-entropy & hinted handoff used for convergence.

MongoDB (Replica Set) ​

  • Primary + secondaries.
  • Consensus-driven elections.
  • Multi-document ACID supported since v4.

5. Sharding Internals (VERY IMPORTANT for senior interviews) ​

PostgreSQL / MySQL Sharding ​

Not built in originally.

Solutions:

  • Citus (distributed Postgres)
  • Vitess (used at YouTube)

Challenges:

  • Cross-shard joins expensive
  • Cross-shard transactions complex
  • Rebalancing painful

MongoDB Sharding ​

  • Config servers maintain metadata

  • Shard keys define distribution

  • Shards can be:

    • range-based
    • hash-based
    • zone-tagged (for geo partitioning)

Balancer moves chunks for load distribution.


Cassandra / DynamoDB Sharding ​

  • Use consistent hashing.
  • Each node responsible for token ranges.
  • Very easy to scale — add/remove nodes dynamically.

This is ideal for:

  • write-heavy systems
  • globally distributed systems
  • low-latency reads/writes

6. Query Model Differences — The Real Reason SQL ≠ NoSQL ​

SQL Query Engine ​

  • Cost-based optimizer
  • Joins
  • Aggregations
  • Window functions
  • Transactions

SQL shines when:

complex queries + relationships matter + correctness matters

NoSQL Query Model ​

Depends on database type:

Document Stores (MongoDB) ​

  • Query by fields
  • No joins (except $lookup, which is discouraged at scale)
  • Aggregation pipeline

Wide Column Stores (Cassandra) ​

Query only on primary key and clustering keys.

Key-Value Stores (Redis, DynamoDB) ​

Lookup by key only.

Graph Databases (Neo4j) ​

Cypher queries for graph traversal.


7. When SQL Is the Right Choice ​

Use SQL when:

A. Transactions require correctness ​

  • Banking
  • Payments
  • Inventory
  • Billing
  • Forex or ledger systems

B. Strong schema discipline is needed ​

  • ERP
  • HRMS
  • Accounting systems

C. Querying is complex ​

  • multi-table joins
  • aggregations
  • analytics on OLTP system

D. Predictable access patterns ​


8. When NoSQL Is the Right Choice ​

Use NoSQL when:

A. Scale-out writes matter ​

  • Logs
  • Metrics
  • High-ingest workloads
  • Messaging
  • IoT time-series

B. Availability > consistency ​

  • Social feeds
  • Notifications
  • Real-time updates

C. Documents are flexible ​

  • User profiles
  • CMS
  • Product catalogs

D. Multi-region workloads ​

  • Global applications
  • Low-latency reads

E. Dataset grows to petabytes ​


9. When NoSQL FAILS (Critical Interview Insights) ​

Candidates often oversell NoSQL.

Interviewers expect you to know when NoSQL is a terrible idea:

❌ Multi-document transactions ​

❌ Cross-partition joins ​

❌ Strict sequences (order IDs, invoice numbers) ​

❌ Complex filtering ​

❌ Real-time financial correctness ​

❌ Queries requiring >1 partition ​

Example: A ride-sharing app using MongoDB for payments? → Guaranteed disaster.


10. Polyglot Persistence (How Real Companies Do It) ​

Most real architectures mix SQL + NoSQL:

Netflix ​

  • Cassandra → watch history, comments
  • MySQL → billing

Uber ​

  • MySQL → trips & transactions
  • DynamoDB → driver locations
  • Cassandra → events

Instagram ​

  • PostgreSQL → primary DB
  • Redis → caching
  • Elasticsearch → search

Why? ​

Because no single database solves all problems.


11. Interview Framework (Use This EVERY Time) ​

Whenever asked:

"SQL or NoSQL — which one?"

Follow this structure:

Step 1: Clarify workload ​

  • read-heavy? write-heavy?
  • transactional? analytical?
  • global distribution?

Step 2: Identify constraints ​

  • consistency?
  • latency?
  • scale?
  • access patterns?

Step 3: Describe trade-offs ​

  • B+Tree vs LSM Tree
  • ACID vs eventual consistency
  • Sharding complexity
  • Query flexibility

Step 4: Conclude with hybrid design ​

“For transactional correctness, I’d choose PostgreSQL. For large-scale user activity logs, Cassandra is a better fit. The combined system uses polyglot persistence.”

This is what senior interviewers want.


12. Summary ​

SQL

  • B+Trees, ACID, strong consistency
  • Harder to shard
  • Great for correctness & queries

NoSQL

  • LSM Trees, BASE, eventual consistency
  • Easy horizontal scaling
  • Great for massive writes & flexible data

Real systems → combine both.


If you want, I can also create: ​

✅ A condensed interview cheat sheet ✅ A SQL vs NoSQL comparison diagram ✅ Mock interview questions with answers ✅ A follow-up article: “Sharding Internals Deep Dive” ✅ A follow-up article: “Read & Write Path Comparison: Postgres vs MongoDB vs Cassandra vs DynamoDB”

Just tell me what you'd like next.