ก่อน deploy ทีมต้องแยก configuration ตามสภาพแวดล้อมและตรวจความลับ จึงถามว่า เว็บแอปพลิเคชันต้องการจัดการ Database Transaction ที่เกี่ยวข้องกับการโอนเงิน ซึ่งต้องหักจากบัญชี A และเพิ่มในบัญชี B พร้อมกัน หากกระบวนการล้มเหลวกลางคัน ควรใช้หลักการใด

ใช้ ACID Transaction (Atomicity, Consistency, Isolation, Durability) เพื่อให้ทั้งสองการกระทำสำเร็จหรือล้มเหลวพร้อมกัน
ทำ Backup ฐานข้อมูลก่อนทุกการโอนเงิน
ใช้ NoSQL Database ที่ประมวลผลเร็วกว่า
บันทึกข้อมูลทีละขั้นตอนและหากล้มเหลวให้แจ้งผู้ใช้แก้ไขเอง

เฉลยอธิบาย

หลัก ACID Transaction โดยเฉพาะ Atomicity (ทุกการกระทำต้องสำเร็จพร้อมกันหรือถูก Rollback ทั้งหมด) เป็นสิ่งจำเป็นสำหรับธุรกรรมการเงิน ป้องกันสถานการณ์ที่หักเงินจาก A แต่ไม่ได้เพิ่มใน B ตัวเลือก A เสี่ยงต่อการสูญหายของเงิน, ตัวเลือก C NoSQL ส่วนใหญ่ไม่รองรับ Multi-Document ACID Transaction, ตัวเลือก D ไม่แก้ปัญหาความสมบูรณ์ของข้อมูลในทันที

ข้อสอบอื่นในวิชาความรู้เกี่ยวกับการพัฒนาโปรแกรมระบบงานในลักษณะ Web Application

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