1.什麼是事務
在理解事務之前,先來看一個日常生活中常見的轉賬操作,大體有兩個步驟:比如有兩個使用者小明和小李,小明向小李轉賬500元,小明賬戶減去500元,小李賬戶加上500元,這兩個步驟必須是要麼都執行,要麼都不執行。如果小明向小李轉賬500元,小明賬戶減去500元成功,小李賬戶加上500元失敗,那麼小明將損失500元,如果小明向小李轉賬500元,小明賬戶減去500元失敗,小李賬戶加上500元成功,那麼銀行將損失500元。如果不管哪一個步驟失敗了,整個轉賬過程都能回滾,也就是取消所有操作的話,那就可以解決這樣的問題。
那麼事務就是用來解決上述類似的問題,那麼什麼是事務呢?事務是指一個整體,是一系列的動作,這些動作必須全部完成,如果有一個執行失敗的話,那麼就要回滾到事務開始前的狀態,彷彿什麼都沒有發生一樣。
在企業級專案開發中,事務管理操作是必不可少的,用來確保資料的完整性和一致性。
2.事務四大特性事務具有四個特性分別是原子性,一致性,隔離性,永續性,這四個特性簡稱ACID特性。
(1)原子性(Atomicity):每個事務都是一個整體,不可分隔。事務的原子性確保動作要麼全部都成功,要麼全部都失敗。
(2)一致性(Consistency):事務在執行前資料庫的資料與執行後資料庫的資料要保持一致。也就是說一個事務執行之前和執行之後資料必須處於一致性狀態。
(3)隔離性(Isolation):多個使用者併發訪問操作資料庫時,一個使用者的事務操作不能被其它的使用者事務所幹擾,也就是多個併發事務之間操作是隔離的。
(4)永續性(Durability):是指一個事務一旦提交成功,那麼對資料庫的資料的修改是永久性的。就算資料庫出現故障或關機,資料也是永久儲存下來的。
最新評論