Skip to content
Reliable Data Engineering
Lesson
Open in the interactive app

System Design Quick Reference

Print this or keep it open during prep. Covers everything you need in one page.


The 45-Minute Framework

PhaseTimeWhat to Do
1. Clarify5 minAsk requirements questions (see below)
2. High-Level10 minDraw boxes: Sources → Ingestion → Storage → Processing → Serving → Consumers
3. Deep Dive20 minPick 2-3 components, go deep on trade-offs
4. Trade-offs5 min”We could also do X, but Y is better because…“
5. Operations5 minMonitoring, failure handling, scaling

Requirements Questions (Ask These First!)

Functional

Non-Functional

Constraints


Architecture Patterns

Medallion (Lakehouse)

Bronze (raw) → Silver (cleaned) → Gold (aggregated)

Lambda vs Kappa vs Delta

PatternDescriptionUse When
LambdaSeparate batch + stream, merge at servingLegacy, different latency needs
KappaStream-only, replay for correctionsEvent-sourced, Kafka-native
DeltaUnified: streaming writes, batch reads same tablesModern greenfield

Data Modeling Cheat Sheet

Star Schema vs Data Vault

AspectStar SchemaData Vault 2.0
SpeedFast (fewer joins)Slow (many joins)
FlexibilityLowHigh
Use CaseBI/ReportingEnterprise DWH, audit

SCD Types

TypeBehaviorHistory?Use Case
SCD-1OverwriteNoCorrections
SCD-2New row with datesFullCustomer history
SCD-3Add previous columnLimitedOne previous value

Batch vs Streaming

AspectBatchMicro-BatchTrue Streaming
LatencyHoursMinutesMilliseconds
ComplexityLowMediumHigh
Exactly-onceEasyMediumHard
ToolsSpark, dbtSpark StreamingFlink

Streaming Concepts


Partitioning & Storage

Partitioning Strategies

StrategyUse WhenExample
Date/TimeTime-series queriesyear=2024/month=07
HashEven distributioncustomer_id % 256
ListCategoricalregion IN ('US', 'EU')

File Sizing

Delta Lake Optimization

OPTIMIZE table ZORDER BY (customer_id, date)

Tool Comparisons

Message Queue

KafkaKinesisPub/Sub
ManagedNo (or Confluent)Yes (AWS)Yes (GCP)
ThroughputMillions/sec1MB/shardAuto-scale
RetentionUnlimited7 days max7 days

Processing Engine

SparkFlink
ModelMicro-batchTrue streaming
LatencySeconds-minutesMilliseconds
CEPLimitedFirst-class
BatchExcellentGood

Back-of-Envelope Math

Data Size

Throughput

Kafka Sizing


Data Quality Pattern

Source → Validation → Pass → Main Pipeline
                   ↘ Fail → DLQ → Alert

Layers:

  1. Schema: Types, required fields
  2. Constraints: Unique, not null, referential
  3. Business: amount > 0, status IN (…)
  4. Statistical: Row count drift, null % spike

Common Performance Issues

ProblemSymptomFix
Data SkewOne task 10x slowerSalting, broadcast, AQE
Shuffle SpillDisk I/O during joinsMore memory, broadcast
Small FilesSlow reads, driver OOMOPTIMIZE, coalesce
Full ScansReading entire tablePartition pruning, ZORDER

Phrases That Impress

Architecture

Data Quality

Performance

Operations


Things NOT to Say


Quick Wins for Any Design

  1. Always mention: Monitoring, alerting, failure handling
  2. Always ask: Scale, latency, freshness requirements
  3. Always draw: Clear boxes and arrows
  4. Always discuss: At least one trade-off per component
  5. Always cover: What happens when things fail

References