簡單介紹一下資料庫事務的特性,重點介紹隔離級別
本篇講一下資料庫中事務的四大特性(ACID),並且將會詳細地說明事務的隔離級別。
⑴ 原子性(Atomicity)
原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。
⑵ 一致性(Consistency)
一致性是指事務必須使資料庫從一個一致性狀態變換到另一個一致性狀態,也就是說一個事務執行之前和執行之後都必須處於一致性狀態。
舉個簡單的栗子,拿轉賬來說,假設使用者A和使用者B兩者的錢加起來一共是5000,那麼不管A和B之間如何轉賬,轉幾次賬,事務結束後兩個使用者的錢相加起來應該還得是5000,這就是事務的一致性。
⑶ 隔離性(Isolation)
隔離性是當多個使用者併發訪問資料庫時,比如操作同一張表時,資料庫為每一個使用者開啟的事務,每個不能被其他事務的操作所幹擾,多個併發事務之間要相互隔離。
即要達到這麼一種效果:對於任意兩個併發的事務T1和T2,在事務T1看來,T2要麼在T1開始之前就已經結束,要麼在T1結束之後才開始,這樣每個事務都感覺不到有其他事務在併發地執行。
關於事務的隔離性資料庫提供了多種隔離級別,下面會重點介紹。
⑷ 永續性(Durability)
永續性是指一個事務一旦被提交了,那麼對資料庫中的資料的改變就是永久性的,即便是在資料庫系統遇到故障的情況下也不會丟失提交事務的操作。
例如我們在使用JDBC操作資料庫時,在提交事務方法後,提示使用者事務操作完成,當我們程式執行完成直到看到提示後,就可以認定事務以及正確提交,即使這時候資料庫出現了問題,也必須要將我們的事務完全執行完成,否則就會造成我們看到提示事務處理完畢,但是資料庫因為故障而沒有執行事務的重大錯誤。
重點說一下事務的隔離性
如果沒有事務的隔離性容易出現的情況: 1.髒讀: 在一個事務中讀到另一個事務未提交的更新資料。 2.不可重複讀: 在一個事務中讀到了另一個事務提交的更新資料化。針對記錄的(即一行),在一個事務中同一條記錄前後讀到的資料不一致。簡單說就是同一個事務內前後讀兩次資料,第二次有可能會讀到其他事務提交過來的更新資料,造成前後兩次讀的資料不一致。舉個例子,就是第一次其中Connection.TRANSACTION_READ_COMMITTED只是隔離級別中的一個只是舉個例子,其他的三種級別,java中也有對應的常量
注意:設定事務的隔離級別一定要在開啟事務之前進行設定
總結:上邊是自己對資料庫以及事務和隔離級別的一些簡單的理解,供大家參考,若有錯誤的地方希望大家包涵並及時指出,3Q~
相關推薦
spring的4種事務特性,5種隔離級別,7種傳播行為
spring事務: 什麼是事務: 事務邏輯上的一組操作,組成這組操作的各個邏輯單元,要麼一起成功,要麼一起失敗. 事務特性(4種): 原子性 (atomicity):強調事務的不可分割. 一致
Spring的四種事務特性,五種隔離級別,七種傳播行為
Spring事務:什麼是事務:事務邏輯上的一組對資料對操作,組成這些操作的各個邏輯單元,要麼一起成功,要麼一起失敗。事務特性(4種):原子性(atomicity):強調事務的不可分割;一致性(consistency):事務的執行前後資料的完整性保持一致;隔離性(isolati
資料庫事務特性、併發、隔離級別、鎖種類、鎖粒度
本文解釋資料庫併發控制 事務 對資料庫資料執行的一系列操作,可以是一條或者多條SQL語句 資料庫事務特性 1、 原子性 對資料庫資料的一系列操作,要麼全部執行,要麼都不
簡單介紹一下資料庫事務的特性,重點介紹隔離級別
本篇講一下資料庫中事務的四大特性(ACID),並且將會詳細地說明事務的隔離級別。 ⑴ 原子性(Atomicity) 原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,因此事務的操作如果成
網絡協議 finally{ return問題 註入問題 jdbc註冊驅動問題 PreparedStatement 連接池目的 1.2.1DBCP連接池 C3P0連接池 MYSQL兩種方式進行實物管理 JDBC事務 DBUtils事務 ThreadLocal 事務特性 並發訪問 隔離級別
ID -- 1.7 ner red style 沒有 建立 工具 1.1.1 API詳解:註冊驅動 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建議使用 原因有2個: >導致驅動被註冊2次。 &
資料庫事務ACID和四個隔離級別
在實際的業務場景中,併發讀寫引出了和事務控制的需求。優秀的事務處理能力是關係型資料庫(特別是oracle等商用RDBMS)相對於正當風口的NoSQL資料庫的一大亮點。但這也從另一方面說明了事務控制的複雜性——正因為過於複雜,大部分NoSQL都沒提供事務支援或只提供部分事務支援
spring的4種事務特性、4種隔離級別、7種傳播行為
1.事務概念事務是程式中一系列嚴密的操作,所有操作執行必須成功完成,否則在每個操作所做的更改將會被撤銷,這也是事務的原子性(要麼成功,要麼失敗)。2.事務特性(4種)事務特性分為四個:原子性(Atomi
資料庫事務特性(ACID)
I.事務的4大特性(ACID) 原子性(Atomicity):原子性是指事務是一個不可分割的工作單位,事務中的操作要麼全部成功,要麼全部失敗。 一致性(Consistency):事務必須使資料庫從一個一致性狀態變換到另外一個一致性狀態。 隔離性(Isol
資料庫事務的四大特性及事物的隔離級別
一 、事務的四大特性 如果一個數據庫聲稱支援事務的操作,那麼該資料庫必須要具備以下四個特性(ACID): 1. 原子性(Atomicity) 原子性是指事務包含的所有操作要麼全部成功,要麼全部失敗回滾,這和前面兩篇部落格介紹事務的功能是一樣的
事務有哪些特性?spring的事務管理有幾種方式實現,如何實現?spring 中常用的兩種事務配置方式以及事務的傳播性、隔離級別
事務有哪些特性? 1.原子性:一個事務中所有對資料庫的操作是一個不可分割的操作序列,要麼全做要麼全不做 2.一致性:資料不會因為事務的執行而遭到破壞 3.隔離性:一個事物的執行,不受其他事務的干擾,即併發執
資料庫事務的,隔離級別
注意:我們討論隔離級別的場景,主要是在多個事務併發 的情況下,因此,接下來的講解都圍繞事務併發。Read uncommitted 讀未提交公司發工資了,領導把5000元打到singo的賬號上,但是該事務並未提交,而singo正好去檢視賬戶,發現工資已經到賬,是5000元整,非常高 興。可是不幸的是,領導發現發
Spring事務的7個傳播行為,4個隔離級別
Spring事務的傳播行為和隔離級別[transaction behavior and isolated level] Spring中事務的定義: 一、Propagation key屬性確定代理應該給哪個方法增加事務行為。這樣的屬性最重要的部份是
mongodb安裝、連線,mongodb使用者管理、建立集合、資料管理、備份恢復,副本集介紹、搭建、測試,分片介紹、搭建、測試,php的mongodb擴充套件、mongo擴充套件
21.26 mongodb介紹 21.27 mongodb安裝 21.28 連線mongodb
資料庫事務 ACID屬性、資料庫併發問題和四種隔離級別
# 資料庫事務 ACID屬性、資料庫併發問題和四種隔離級別 ## 資料庫事務 #### 資料庫事務是一組邏輯操作單元,使資料從一種狀態變換到另一種狀態 > 一組邏輯操作單元;一個或多個DML操作 #### 事務處理原則 > 保證所有事務都作為一個工作單元來執行,即使出現故障,都不能改變這種執行方式。
淺析事務的傳播行為與隔離級別
七個傳播行為,四個隔離級別。 Spring中事務的定義:Propagation(key屬性確定代理應該給哪個方法增加事務行為。這樣的屬性最重要的部份是傳播行為。)有以下選項可供使用: PROPAGATION_REQUIRED–支援當前事務,如果當前沒有事務,就
spring事務管理(一) 隔離級別、傳播行為
1.事務的定義 事務是指多個操作單元組成的合集,多個單元操作是整體不可分割的,要麼都操作不成功,要麼都成功。其必須遵循四個原則(ACID)。 原子性(Atomicity):即事務是不可分割的最小工作單元,事務內的操作要麼全做,要麼全不做; 一致性(Consistency
事物的四個特性和四個隔離級別
什麼事物 事物是一條或者多條sql語句組成的執行序列,這個序列中的所有語句都屬於同一個工作單元,要麼同時完成,其中如果有一個失敗,則其他操作都要回滾。 原子性 (Atomicity) 事物是一個不可分割的資料庫邏輯工作單位,要麼全部完成,要不失敗回滾。
Spring事務的傳播行為、隔離級別、回滾、只讀和過期
事務的傳播性- 當事務的方法被另一個事務的方法呼叫時,必須指定事務應該如何傳播。如:方法可能繼續在現有的事務中執行,也可能開啟一個新的事務,並在自己的事務中執行。- 事務的傳播行為可以由傳播屬性指定。Spring定義了7種傳播行為:required:如果有事務在執行,當前的方
事務的傳播行為和隔離級別
隔離級別:read-uncommit : 會出現幻讀,髒讀, 不可重複讀read-commit(預設隔離級別): 會出現幻讀, 不可重複讀repeatable-read : 會出現幻讀serializable : 最安全花費最高的級別 ,每次讀寫都加鎖傳播行為:require
spring 中常用的兩種事務配置方式以及事務的傳播性、隔離級別
在前面的文章中總結了spring事務的5中配置方式,但是很多方式都不用而且當時的配置使用的所有引數都是預設的引數,這篇文章就看常用的兩種事務配置方式並資訊配置事務的傳播性、隔離級別、以及超時等問題,廢話不說下面就來看看! 一、註解式事務 1、註解式事務在平時的開發中使用的挺