ในระบบ Database Replication แบบ Master-Slave เมื่อ Master Server หยุดทำงานกะทันหันและมีการ Promote Slave ขึ้นเป็น Master ใหม่ (Failover) พบว่าข้อมูลบางส่วนสูญหาย สาเหตุหลักของปัญหานี้คืออะไร

Slave ได้รับ Binary Log จาก Master ไม่ครบก่อนที่ Master จะหยุดทำงาน ทำให้ข้อมูลที่ยังไม่ได้ Replicate สูญหายไป
Slave ใช้ Storage Engine ที่แตกต่างจาก Master ทำให้ไม่สามารถรับข้อมูลบางประเภทได้อย่างสมบูรณ์
การตั้งค่า Network Bandwidth ระหว่าง Master และ Slave ไม่เพียงพอ ทำให้ข้อมูลถูกตัดทอนระหว่างการส่ง
Master Server ไม่ได้เปิดใช้งาน SSL Encryption ทำให้ข้อมูลบางส่วนไม่ถูกบันทึกลงใน Slave

เฉลยอธิบาย

ในระบบ Asynchronous Replication แบบ Master-Slave ข้อมูลที่ Master บันทึกลง Binary Log อาจยังไม่ได้ถูกส่งหรือ Apply บน Slave ทันทีก่อนที่ Master จะล่ม เรียกว่า Replication Lag ส่งผลให้เมื่อ Promote Slave เป็น Master ใหม่ ข้อมูลที่ยังอยู่ใน Binary Log ของ Master เดิมแต่ยังไม่ได้ Replicate จะสูญหายไป การแก้ไขคือใช้ Synchronous หรือ Semi-synchronous Replication เพื่อให้มั่นใจว่า Slave ได้รับข้อมูลครบก่อน Master ยืนยัน Transaction

ข้อสอบอื่นในวิชาความรู้ทั่วไปด้านเครื่องคอมพิวเตอร์แม่ข่าย (Server) และระบบเครือข่าย

ดูข้อสอบวิชานี้ทั้งหมด →