Scenario: You have 10,000 family photos:
Backup Strategy A:
Backup Strategy B:
Backup Strategy C:
Question: Which strategy is most efficient for regular backups? What if you need to restore?
Definition: Copy EVERYTHING - the entire database from scratch.
How it works:

Real-world analogy: Moving to a new house - you pack and move EVERY single item you own.
Example: Full Backup Command
What's included:
✅ All database structures (tables, views, procedures)
✅ All data in all tables
✅ All indexes
✅ User accounts and permissions
✅ Database configuration
Result: Complete standalone backup!
✅ Advantages:
❌ Disadvantages:
When to use:
✓ Weekly baseline backup
✓ Before major changes (migrations, upgrades)
✓ Small databases (<10 GB)
✓ Regulatory compliance requirements
✓ Long-term archival
Definition: Copy only data that changed SINCE THE LAST BACKUP (of any type).
How it works:
Real-world analogy: Packing for a trip where you add only new items each day - Day 1: Full suitcase, Day 2: Add toothbrush, Day 3: Add sunglasses.
Example: Incremental Backup
Visual timeline:
Database changes over time:
Sunday: [Table1: 1000 rows][Table2: 500 rows] = FULL BACKUP
Monday: [Table1: +50 rows] = INCR (50 rows)
Tuesday: [Table2: +20 rows] = INCR (20 rows)
Wednesday: [Table1: +100 rows][Table2: +30 rows] = INCR (130 rows)
✅ Advantages:
❌ Disadvantages:
Restore process (the pain!):
To restore Wednesday data:
Step 1: Restore FULL (Sunday) ⏱️ 2 hours
Step 2: Apply INCR (Monday) ⏱️ 10 minutes
Step 3: Apply INCR (Tuesday) ⏱️ 5 minutes
Step 4: Apply INCR (Wednesday) ⏱️ 8 minutes
Total restore time: ~2.5 hours
(And if any backup is corrupt, restore FAILS!)
When to use:
✓ Frequent backups (hourly/every few hours)
✓ Large databases with small daily changes
✓ When storage space is limited
✓ Between differential backups
✓ Continuous data protection
Definition: Copy all data that changed SINCE THE LAST FULL BACKUP (not since last backup).
How it works:
Sunday (Full): ████████████████████ 100 GB
Monday (Diff): ██ 2 GB (changed since Sunday)
Tuesday (Diff): ███ 3 GB (changed since Sunday!)
Wednesday (Diff): █████ 5 GB (changed since Sunday!)
Thursday (Diff): ███████ 7 GB (changed since Sunday!)
Total storage: 117 GB (more than incremental)
Chain dependency:
FULL (Sun) → DIFF (Mon) ✓ Can restore from these two
↑
FULL (Sun) → DIFF (Tue) ✓ Can restore from these two
↑
FULL (Sun) → DIFF (Wed) ✓ Can restore from these two
↑
FULL (Sun) → DIFF (Thu) ✓ Can restore from these two
Only need: FULL + Latest DIFF (much simpler!)
Real-world analogy: Writing a book - you keep the original manuscript (full backup) and each day you save a copy with ALL changes made since the original (not just today's changes).
Example: Differential Backup
Visual timeline:
Database changes over time:
Sunday: [1000 rows total] = FULL BACKUP
Monday: [+50 new rows] DIFF = 50 rows
Tuesday: [+20 more new rows] DIFF = 50 + 20 = 70 rows (cumulative!)
Wednesday: [+100 more new rows] DIFF = 50 + 20 + 100 = 170 rows (cumulative!)
✅ Advantages:
❌ Disadvantages:
Restore process (much simpler!):
To restore Wednesday data:
Step 1: Restore FULL (Sunday) ⏱️ 2 hours Step 2: Apply DIFF (Wednesday only) ⏱️ 30 minutes
Total restore time: 2.5 hours (Only need 2 backups - much simpler!)
When to use:
✓ Daily backups (good middle ground)
✓ Medium-to-large databases
✓ When restore speed matters
✓ When simplicity is important
✓ Most common strategy for production!
Scenario: 100 GB database, 2 GB changes per day
| Day | Full | Incremental | Differential |
|---|---|---|---|
| Sun | 100 GB | 100 GB | 100 GB |
| Mon | 100 GB | 2 GB | 2 GB |
| Tue | 100 GB | 2 GB | 4 GB |
| Wed | 100 GB | 2 GB | 6 GB |
| Thu | 100 GB | 2 GB | 8 GB |
| Fri | 100 GB | 2 GB | 10 GB |
| Sat | 100 GB | 2 GB | 12 GB |
| TOTAL | 700 GB | 112 GB ✓ | 142 GB |
Restore complexity:
Full: ⭐ Easiest (1 file)
Differential: ⭐⭐ Easy (2 files: Full + Latest Diff)
Incremental: ⭐⭐⭐⭐⭐ Complex (7 files: Full + 6 Incrementals)
Restore time:
Full: 2 hours (restore 1 file)
Differential: 2.5 hours (restore Full + Diff)
Incremental: 3+ hours (restore Full + all Incrementals)
Best practice: Combine all three types!

┌The 3-2-1 Rule: 3 = Keep 3 copies of data - Production database - Local backup - Offsite backup
2 = Use 2 different storage types - Local disk/SAN - Cloud storage (S3, Azure Blob)
1 = Keep 1 copy offsite - Different geographic location - Protected from local disasters
Your database:
Design a backup strategy. Consider:
Think about it...
Sample Solution:
STRATEGY:
FULL BACKUP:
DIFFERENTIAL BACKUP:
INCREMENTAL BACKUP:
STORAGE:
WHY THIS WORKS:
✓ RPO: 4 hours (matches incremental schedule)
✓ RTO: ~2 hours (restore Full + Diff + few Incrementals)
✓ Balance: Not too much storage, not too risky
✓ 3-2-1 compliant
Horror Story 1: Untested Backups
❌ Problem:
✅ Solution:
Horror Story 2: No Offsite Storage
❌ Problem:
✅ Solution:
Horror Story 3: Backup Windows Missed
❌ Problem:
✅ Solution:
✅ DO:
❌ DON'T:

Choose FULL when:
✓ Starting new backup cycle (weekly baseline)
✓ Small database (<10 GB)
✓ Before major changes
✓ Regulatory requirements
Choose DIFFERENTIAL when:
✓ Daily backups (best for most cases)
✓ Need balance of speed and simplicity
✓ Restore speed is important
✓ Medium changes daily
Choose INCREMENTAL when:
✓ Very frequent backups (hourly)
✓ Large database with small changes
✓ Storage space is limited
✓ Between differential backups