標籤:

事務的ACID特性

1、A(Atomicity)原子性

概念:事務是一個不可再拆分的最小單位,要麼整個執行,要麼整個回滾;

舉例:有一個事務(到飯店吃飯),到飯店吃飯必須點菜、上菜、上飯、上筷子(按正常思維);

你點了菜之後坐等上菜,結果老闆說沒有飯了(或者沒有菜了|或者沒有筷子了),你一肚子火罵了老闆幾句說「老子不吃了」(事務回滾);

然後你換了加飯店又點了菜、這個老闆很會做生意飛快的把飯、菜、筷子上齊了,然後你狼吞虎咽的吃起來(事務提交);

這裡的吃飯是一個最小單位,少了點菜、上菜、上飯、上筷子任何一個步驟都不行,只有都上齊了你才吃,少了一步你就沒法吃;

2、C(Consistency)一致性

概念:事務要保證資料庫整體數據的完整性和業務的數據的一致性,事務成功提交整體數據修改,事務錯誤則回滾到數據回到原來的狀態;

舉例:A到銀行轉賬1000給B,轉賬流程如下:A輸入轉賬金額100然後確定轉賬(事務開啟)->查詢A賬戶餘額是否大於等於1000->滿足條件則A賬戶減1000->B賬戶加1000-》保存最後計算出來的數據(提交事務);

如果事務提交成功則A賬戶減金額,B賬戶加對應的金額;資料庫總體金額不變只是載體變了;

如果事務出錯則無論到了上面的哪個步驟A和B的數據都會回到最事務開啟前的狀態保證數據的始終一致;

3、I(Isolation)隔離性:

概念:隔離性是說兩個事務的執行都是獨立隔離開來的,事務之前不會相互影響,多個事務操作一個對象時會以串列等待的方式保證事務相互之間是隔離的:

4、D(Durability)持久性:

概念:持久性是指一旦事務成功提交後,事務處理過的數據將會保存到資料庫,不能再進行回滾;

推薦閱讀:

MySQL資料庫應用總結(十)—MySQL資料庫數據的插入、更新和刪除操作
Mysql優化
什麼鬼!基於備份恢復的數據還能變多?
為物聯網而生:高性能時間序列資料庫HiTSDB商業化首發!
雲資料庫UDB的三重境界

TAG:資料庫 | MySQL |