ACID講解,ACID簡介

2021-10-22 17:20:21 字數 863 閱讀 1315

acid:保證資料庫事務的完整性提出的理論。

a(atomicity):原子性,乙個事務要一起完成,要麼一起失敗,不能因為中途一些錯誤導致資料一部分寫入成功,一部分寫入失敗,失敗就要回滾。

c(consistency):一致性,指的是資料狀態一致性,就比如一次性操作三個資料狀態為1的資料,給他們加2,一致性就代表三個資料都要等於3,如果乙個等於3,二個還等於1就是違反一致性。

i(isolation):隔離性,指的是事務之前的隔離性,比如a事務和b事務同時在執行,它們直接不能產生聯絡和影響,不然就是違反隔離性,隔離性產生如下四種隔離級別:

1.讀未提交:很好理解,就是a事務和b事務都在運算元據,a操作乙個欄位的數字不停的疊加疊加,b正好也在操作,這個時候b就能讀取到a疊加且未提交的資料,要點就在於事務中的資料在事務未提交的時候也可以被讀取到。

2.讀已提交:很好理解,與讀未提交相反,讀取的資料一定是其他的事務提交過後的資料,沒提交的不會被讀取到。

3.可重複讀:指的是在事務開始前我讀取了資料a等於1,那在本事務的後續讀取a的過程中他的值還是a,這樣子就避免了髒讀(讀取到讀未提交又發生了回滾的資料)和不可重複讀(第一次和第二次讀取的資料不一致)的問題,但是就會產生幻讀(提交前查到資料是a,提交後查到是b)的問題,具體解決幻讀的方案可以查詢mysql的解決方案作為參考。

4.串讀:安全級別最高也是效率最低的方案,就是必須讓事務排隊操作,a操作完b才能操作,不能採用高效率的多執行緒或者併發操作。

d(durability):永續性,很好理解了,就是資料一旦提交就比如實現持久化了,繼續後續系統發生了故障、斷電斷網資料都不會丟失。

總結:

Mysql 事務ACID簡介和原理

acid嘛,原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 根據定義,原子性是指乙個事務是乙個不可分割的工作單位,其中的操作要麼都做,要麼都不做。即要麼轉賬成功,要麼轉賬失敗,是不存在中間的狀態!如果無法保證原子性會怎麼樣?ok,...

事務特性(ACID)

原子性 是指事務乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。不能夠單獨執行。把一組操作放入事務中 一致性 事務的執行的前後,資料的完整性要得到保證。隔離性 強調的是多個使用者併發訪問資料庫的時候,乙個使用者事務不能被其他使用者的事務所干擾到,多個併發事務之間的資料要相互隔離。解決多...

事務ACID原則

資料庫事務 transaction 是訪問並可能操作各種資料項的乙個資料庫操作序列。事務必須滿足acid原則 即原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 原子性指事務是資料庫工作的最小單位,乙個事務中的所有操作要麼全部成功提...