System Design
Disaster Recovery va High Availability
Disaster Recovery — server crash, data center fire, yoki boshqa falokat vaqtida tizimni qayta tiklash.
RTO vs RPO
RTO (Recovery Time Objective): Tizim qancha vaqtda qayta ishga tushishi kerak?
RTO = 1 hour → 1 soat ichida tiklash
RTO = 1 minute → 1 daqiqa ichida tiklash
RPO (Recovery Point Objective): Qancha ma’lumot yo’qolishi qabul qilinadi?
RPO = 24 hours → Oxirgi 24 soat ma'lumoti yo'qolishi OK
RPO = 0 → Ma'lumot yo'qolishi mumkin emas
Backup Strategies
1. Full Backup
Every night: Copy entire database
Size: 100GB
Time: 2 hours
Simple
Slow, expensive
2. Incremental Backup
Sunday: Full backup (100GB)
Monday: Changes only (5GB)
Tuesday: Changes only (3GB)
...
Fast, cheap
Restore slow (need all increments)
3. Continuous Backup (Best)
Real-time replication to backup server
RPO ≈ 0
Multi-Region Architecture
Primary Region: US-East
↓ Replication
Backup Region: US-West
Primary crash → Failover to backup
3-2-1 Backup Rule
- 3 copies of data
- 2 different media
- 1 offsite copy
1. Production database
2. Local backup (same datacenter)
3. Remote backup (different region/cloud)
Testing
Disaster recovery plan faqat test qilinsa ishlaydi!
Monthly: Restore test
Quarterly: Full DR drill
Keyingi dars: Suhbatga tayyorgarlik.