四、請說明資料庫交易處理中的 ACID 意義與其四大性質(Atomicity, Consistency, Isolation, Durability)分別意義為何, (15 分)並針對下列交易衝突情境, 指出可能違反的 ACID 性質與造成的後果,情境:T1 在更新帳戶 A 餘額 後尚未提交(commit) ,T2 同時讀取帳戶 A 的餘額並執行轉帳。(15 分)

詳解 (共 1 筆)

Yuchang Wu
Yuchang Wu
詳解 #6560184
2025/07/21

資料庫交易處理中的 ACID 意義
ACID 是指保障資料庫交易(Transaction)正確性及可靠性的四大基本特性,分別為:
• Atomicity(原子性)
交易中的所有操作要麼全部執行、要麼全部不執行。不允許部分操作成功、部分操作失敗的狀態,確保資料庫不會處於不一致的中間狀態。
• Consistency(一致性)
交易必須使資料庫由一個一致的狀態,轉換到另一個一致的狀態。交易執行前後,資料庫都必須滿足所有的完整性約束。
• Isolation(隔離性)
多個交易同時執行時,每個交易應像獨自執行一樣,彼此之間不受干擾。交易的中間結果在未提交之前,不會被其他交易看到。
• Durability(持久性)
一旦交易提交,對資料的變更會永久保留在資料庫,即使系統發生故障也不會丟失。
交易衝突情境分析
情境描述:
T1 在更新帳戶 A 餘額後尚未提交(commit),此時 T2 同時讀取帳戶 A 的餘額並執行轉帳。
可能違反的 ACID 性質
• Isolation(隔離性) 可能違反
因為 T2 讀取到 T1 尚未提交的新餘額,T2 有可能根據尚未穩定的資料執行動作。這稱為「髒讀」(Dirty Read),使兩個交易之間發生干擾,交易結果不可預期。
造成的後果
• 若 T1 最後取消交易(rollback),T2 卻已根據 T1 的暫時結果完成轉帳,最終導致資料不一致,可能出現資金異常或損失。
• 若系統設計沒有適當隔離級別,會產生資料完整性風險,違反 Consistency(一致性),導致違反業務邏輯或資料規則。
總結
此情境下,隔離性最容易被破壞,進而連帶影響一致性,造成真實資料不符預期,導致業務邏輯錯誤與財務損失。