ACID是指一個事務本質上有四個特色:數據庫
Atomicity:原子性服務器
Consistency:一致性併發
Isolation:隔離性異步
Durablilty:耐久性spa
原子性blog
原子性是指事務是一個不可分割的工做單位,事務中的操做要麼都發生,要麼都不發生事務
例如A向B轉200元ci
若是A轉成功,B也必須成功,不然都不成功,這就是所謂的要麼都成功,要麼都不成功it
一致性io
事務先後保持處於一致的狀態,無論在任何給定的時間併發事務有多少
一致性具備如下特色:
操做前:A:800,B:200
操做後:A:600,B:400
操做前與操做後的狀態一致,一致性表示事務完成後,符合邏輯運算
隔離性
事務的隔離性是指當多個用戶併發訪問數據庫時,數據庫爲每個用戶開啓的事務,不能被其餘事務的操做數據所幹擾,即多個事務之間要互相隔離。
針對兩個事物同時進行,其中一個事物讀取到的是另一個事務提交以前的數據,A與C同時向B轉錢,B的初始錢數都是200
當A向B轉過錢以後的狀態
A=800-200=600
B=200+200=400
當C向B轉過錢以後的狀態
C = 1000-100=900
B=200+100=300
兩個事物的對B的狀態是隔離的,不受其餘事務的影響。
持久性
事務的持久性是指一個事務一旦被提交,這個事務對數據庫裏的數據的改變將是永久的,接下來即便數據庫發生故障也不該該對其有任何
操做前:A:800,B:200
操做後:A:600,B:400
若是在操做前(事務尚未提交)服務器宕機或者斷電,那麼重啓數據庫之後,數據狀態應該爲:
A:800, B:200
若是在操做前(事務已經提交)服務器宕機或者斷電,那麼重啓數據庫之後,數據狀態應該爲:
A:600, B:400