Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การสำรองและกู้คืนฐานข้อมูล (Database Backup and Recovery)


การมีสำเนาสำรอง (Backup) จำเป็นเพื่อกู้คืนข้อมูลเมื่อฐานข้อมูลต้นฉบับเสียหายหรือสูญหาย การสำรองหมายถึงการสร้างสำเนาข้อมูลและ transaction logs ไว้ที่เซิร์ฟเวอร์สำรอง เพราะไม่มี logs ข้อมูลจะใช้ไม่ได้

สาเหตุของความล้มเหลว

  • User Error: สาเหตุหลัก ข้อมูลเสียหายจากการใช้งานผิด ต้องกู้คืนไปยังจุดก่อนเกิดข้อผิดพลาด
  • Hardware Failure: ฮาร์ดดิสก์เสียหาย ควรเปลี่ยนเป็นระยะ
  • Catastrophic Event: เหตุการณ์รุนแรง เช่น น้ำท่วม แผ่นดินไหว หรือการโจมตี (Hacking)

วิธีการสำรอง (Backup Methods)

  • Full Backup: คัดลอกทั้งฐานข้อมูลและ transaction logs ใช้เวลานาน ไฟล์ใหญ่
  • Transaction Log Backup: สำรองเฉพาะ logs ลบ logs เก่าเมื่อมี backup ใหม่ เพื่อให้ไฟล์เล็ก
  • Differential Backup: สำรองข้อมูลและ logs ที่เปลี่ยนแปลงหลัง Full Backup ล่าสุด ไฟล์เล็กกว่า Full

การกู้คืนฐานข้อมูล (Database Recovery)

  • Log-based Recovery: เก็บ logs ทุก transaction ไว้ที่ปลอดภัย ก่อน execute transaction จะกู้คืนได้
  • Shadow Paging: หลัง transaction เสร็จ ข้อมูลจะถูกเก็บอัตโนมัติ หากระบบ crash ระหว่าง transaction การเปลี่ยนแปลงจะไม่สะท้อนในฐานข้อมูล