事務一致性與原子性的區別

2021-07-29 12:45:33 字數 447 閱讀 1838

其實一致性和原子性在事務裡是兩個不太相關,但又很相關的邏輯來的

一致性:這個講的是事務是按照預期生效的,也就是你舉例的那個轉賬的,一致性的核心一部分是靠原子性實現的,而另一部分是邏輯實現。

舉個例子吧:

轉賬:張三給李四轉賬100元。那資料庫假設需要 張三扣100,李四加100,記錄一條流水。

如果流水沒記錄成功,那整體回滾,張三也沒轉賬成功,李四也沒多錢。這就是原子性的體現。

而張三必須扣100,李四必須加100,這個就是一致性了,如果因為某些邏輯原因,導致張三扣了100,流水記錄100轉賬,而李四只加了60。然後這3條操作都成功了,那原子性就符合了,但是一致性就不符合了~~~

其實在實際應用中肯定不是這麼簡單的例子的。往往是類似,買東西扣庫存這類的邏輯,主表裡有庫存,庫存表裡有庫存,然後就因為設計缺陷,就算加了事務還是出現了主表庫存對不上庫存表庫存的問題,這個就是一致性不滿足的了。

oracle事務一致性 原子性

事務的動作要麼一起成功,要麼都不成功,這是事務的原子性。原子性包括 語句級原子性 過程級原子性 事務級原子性 ddl與原子性 如果某條語句 如insert update 執行成功與否會自動控制事務。如設定插入前的觸發器。create table t2 cnt int insert into t2 v...

mysql事務中一致性和原子性的區別

大體含義就是,事務的產生,其實是為了當應用程式訪問資料庫的時候,事務能夠簡化我們的程式設計模型,不需要我們去考慮各種各樣的潛在錯誤和併發問題.可以想一下當我們使用事務時,要麼提交,要麼回滾,我們不會去考慮網路異常了,伺服器宕機了,同時更改乙個資料怎麼辦對吧.因此事務本質上是為了應用層服務的.而不是伴...

理解事務 原子性 一致性 隔離性

事務是指對系統進行的一組操作,為了保證系統的完整性,事務需要具有acid特性,具體如下 1.原子性 atomic 乙個事務包含多個操作,這些操作要麼全部執行,要麼全都不執行。實現事務的原子性,要支援回滾操作,在某個操作失敗後,回滾到事務執行之前的狀態。回滾實際上是乙個比較高層抽象的概念,大多數db在...