資料庫事務的四大特性

申辉發表於2024-09-11

  1. 原子性(Atomicity):原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾。這意味著事務內的操作如果失敗,會回滾到事務開始前的狀態;如果成功,則事務內的所有操作都會提交。原子性確保事務內的操作要麼全做,要麼全不做,是一個不可分割的工作單位。‌

  2. 一致性(Consistency):一致性是指事務必須使資料庫從一個一致性狀態變換到另一個一致性狀態。也就是說,一個事務執行之前和執行之後都必須處於一致性狀態。一致性透過約束、觸發器、儲存過程和資料庫規則等來實現。例如,銀行轉賬業務中,兩個賬戶的總金額在事務前後應該保持一致。

  3. 隔離性(Isolation):隔離性是指併發的事務是相互隔離的。即一個事務內部的操作及正在操作的資料必須封鎖起來,不被其他企圖進行修改的事務看到。隔離性透過鎖機制來實現,確保併發執行的事務不會互相干擾。如果沒有隔離性,多個事務同時對同一資料進行操作,可能會導致資料不一致的問題,如髒讀、不可重複讀和幻讀等。

  4. 永續性(Durability):永續性是指一旦事務提交,則其結果就是永久的。即使系統發生崩潰或者故障,資料庫也能將資料恢復到事務成功結束時的狀態。永續性透過資料庫的備份、恢復和日誌機制來保證。例如,在關聯式資料庫中,一旦事務提交,其對資料的修改就會被永久地儲存在資料庫中。

相關文章