資料庫事務(ACID)

2022-05-21 19:12:13 字數 832 閱讀 2661

原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。

一致性是指事務必須使資料庫從乙個一致性狀態變換到另乙個一致性狀態,也就是說乙個事務執行之前和執行之後都必須處於一致性狀態。

拿轉賬來說,假設使用者a和使用者b兩者的錢加起來一共是5000,那麼不管a和b之間如何轉賬,轉幾次賬,事務結束後兩個使用者的錢相加起來應該還得是5000,這就是事務的一致性。

隔離性是當多個使用者併發訪問資料庫時,比如操作同一張表時,資料庫為每乙個使用者開啟的事務,不能被其他事務的操作所干擾,多個併發事務之間要相互隔離。

即要達到這麼一種效果:對於任意兩個併發的事務t1和t2,在事務t1看來,t2要麼在t1開始之前就已經結束,要麼在t1結束之後才開始,這樣每個事務都感覺不到有其他事務在併發地執行。

a事務已執行,但未提交;其他事務可以查詢到a事務的更新後資料---會造成髒讀

a事務執行更新並提交後;其他事務查詢才能查詢到更新內容,一次事務中兩次讀取結果可能不一致(不可重複度) -- 幻讀

a事務執行更新並提交後;其他事務查詢的相當於是a此時的乙個快照,由此多次的讀取結果與a新提交無關

a事務執行時,不允許其他事務的執行

永續性是指乙個事務一旦被提交了,那麼對資料庫中的資料的改變就是永久性的,即便是在資料庫系統遇到故障的情況下也不會丟失提交事務的操作。

例如我們在使用jdbc運算元據庫時,在提交事務方法後,提示使用者事務操作完成,當我們程式執行完成直到看到提示後,就可以認定事務以及正確提交,即使這時候資料庫出現了問題,也必須要將我們的事務完全執行完成,否則就會造成我們看到提示事務處理完畢,但是資料庫因為故障而沒有執行事務的重大錯誤。

資料庫事務ACID

1.原子性 atomicity 原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。2.一致性 consistency 事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。3.隔離性 isolation 事務的隔離性是指乙個事務的執行不能被其他事務干擾,即乙個事務內部...

資料庫事務 ACID

資料庫事務 acid 1.原子性 atomicity 乙個事務必須被視為乙個不可分割的最小工作單元,整個事務中的所有操作要麼全部提交成功,要麼全部失敗回滾。對於乙個事務來說,不可能只執行其中的一部分操作,這就是事物的原子性。2.一致性 consistency 資料庫總是從乙個一致性的狀態轉換到另外乙...

資料庫事務 ACID

事務 乙個操作,乙個要執行sql語句,要麼執行,要麼不執行,是乙個不可分割的工作單位。有如下特性 a 原子性 atomicity c 一致性 consistency i 隔離性 isolation d 永續性 durability 先理解資料庫的一致性 參考這篇部落格 考慮如下場景 公司給員工發工資...