ฐานข้อมูลยืนยันว่าธุรกรรมถอนเงินเสร็จสมบูรณ์แล้ว จากนั้นเครื่องขัดข้องทันที ระบบธุรกรรมต้องรับประกันผลใด?
กยอดที่ยืนยันแล้วอาจหายได้ เพราะระบบเริ่มบันทึกลงสื่อถาวรหลังฐานข้อมูลกลับมาทำงาน
ขระบบต้องยกเลิกธุรกรรมที่ยืนยันแล้ว และคืนยอดเป็นสถานะก่อนเริ่มถอนเงินทุกครั้ง
คยอดจะคงอยู่ได้ต่อเมื่อไม่มีธุรกรรมอื่นเริ่มทำงานคั่นก่อนระบบฐานข้อมูลขัดข้อง
งยอดที่ยืนยันแล้วต้องไม่สูญหาย เพราะถูกบันทึกลงสื่อถาวรก่อนระบบรายงานว่าสำเร็จ
เฉลยอธิบาย
เมื่อฐานข้อมูลรายงานว่าธุรกรรมเสร็จสมบูรณ์ การเปลี่ยนแปลงต้องถูกบันทึกลงสื่อถาวรแล้ว จึงไม่ควรสูญหายจากเหตุขัดข้องที่เกิดภายหลัง แนวทางที่ยกเลิกธุรกรรมดังกล่าวผิดเพราะใช้หลักของธุรกรรมที่ยังไม่เสร็จมาปะปนกับธุรกรรมที่ยืนยันสำเร็จแล้ว