💾 Backup & Recovery
Level: Advanced
Backup adalah proses membuat salinan data untuk mencegah kehilangan,
sedangkan Recovery adalah proses mengembalikan data dari backup ketika terjadi kegagalan.
Bayangkan seperti menyimpan kunci cadangan rumah: jika kunci utama hilang, kita masih bisa masuk dengan cadangan.
📖 Jenis Backup
- Full Backup: menyalin seluruh database.
- Incremental Backup: hanya menyalin perubahan sejak backup terakhir.
- Differential Backup: menyalin perubahan sejak full backup terakhir.
📖 Strategi Recovery
- Point-in-Time Recovery: mengembalikan database ke kondisi tertentu.
- Disaster Recovery: pemulihan total setelah kegagalan besar (server crash, bencana).
🛠️ Praktik Kecil
Contoh backup & restore di MySQL:
-- Backup database ke file .sql
mysqldump -u root -p nama_database > backup.sql
-- Restore database dari file .sql
mysql -u root -p nama_database < backup.sql
👉 Untuk PostgreSQL:
-- Backup
pg_dump nama_database > backup.sql
-- Restore
psql nama_database < backup.sql
🎮 Mini Challenge
Buat skenario backup & recovery untuk database inventaris_db:
- Lakukan full backup database ke file
inventaris_backup.sql.
- Hapus salah satu tabel, lalu lakukan recovery dari backup.
- Uji apakah data kembali seperti semula.
Tugas tambahan: Buat jadwal backup otomatis harian menggunakan script atau cron job.