ระบบธนาคารต้องจัดการ Concurrent Transactions จำนวนมาก เช่น ลูกค้าสองคนโอนเงินจากบัญชีเดียวกันพร้อมกัน ยอดเงิน 1000 บาท แต่ระบบแสดงยอดผิดพลาด ปัญหานี้เรียกว่าอะไร และแก้ไขด้วยวิธีใด
กRace Condition หรือ Lost Update ปัญหานี้แก้ด้วยการใช้ Transaction Isolation Level ที่เหมาะสม เช่น Serializable
ขData Corruption แก้ไขด้วยการสำรองข้อมูลบ่อยขึ้น
คDeadlock แก้ไขด้วยการเพิ่ม Index
งBuffer Overflow แก้ไขด้วยการเพิ่มหน่วยความจำเซิร์ฟเวอร์
เฉลยอธิบาย
ปัญหานี้เรียกว่า Lost Update หรือ Race Condition ใน Concurrent Transaction เมื่อสองธุรกรรมอ่านค่าพร้อมกัน คำนวณ แล้วเขียนทับกัน ทำให้การอัพเดทของธุรกรรมแรกสูญหาย แก้ไขด้วย Transaction Isolation Level เช่น Serializable หรือ Repeatable Read หรือใช้ Optimistic/Pessimistic Locking ตัวเลือก A เป็นผลเสียหายทั่วไป C คือ deadlock ซึ่งไม่แก้ด้วยดัชนี และ D เป็นปัญหาหน่วยความจำคนละประเภท ตัวเลือก B จึงตรงกับ lost update และแนวทางควบคุม concurrency