日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

事务管理基础:数据库的并发控制相关知识笔记

發布時間:2023/12/10 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 事务管理基础:数据库的并发控制相关知识笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

1、并發操作的概念介紹

并發操作主要是指在多用戶共享的系統當中,可能存在很多用戶同時對同一個數據進行操作。并發操作會造成丟失更新、不可重復讀、讀臟數據。主要原因是事務的并發操作破壞了事務的隔離性。

2、事務調度相關知識

事務調度主要有串行調度、并發調度、可恢復調度三種。

2.1 串行調度

串行調度是指多個事務依次串行執行,并且只有當一個事務的所有操作都執行完成后才可以執行另一個事務的所有操作。

特點:串行調度和執行順序無關,執行的結果都是穩定和正確的,對于N個事務,最多有N!中正確的串行調度。

2.2 并發調度?

并發調度是指利用分時的方法同時處理多個事務。針對N個事務進行并發調度,所產生的調度方案遠大于N!個,并且并發調度的結果很有可能是錯誤的。只有并發調度的結果和串行調度的結果一致,才說明并發調度的結果是正確的。

2.3 可恢復調度?

如果事務T1提交失敗,則應當撤銷T1的影響以保證其原子性。在允許并發執行的系統中,還必須保證依賴T1的任何事務T2也中止。比如T2要讀寫T1寫的數據,則稱為T2依賴于T1。

可恢復調度應滿足:如果事務T2要讀取事務T1寫的數據時,事務T1必須要先于T2提交事務。這樣T2事務讀取的數據才是真實可靠的數據。

3、并發操作帶來的危害

3.1 丟失修改?

丟失修改主要是指多個事務同時對數據庫更新操作,正常情況下應該都執行情況,但會因為并發操作,造成其中某些事務的更新操作丟失。比如12306售票系統,同時售出了兩張火車票,但數據庫中票數只減少了一張,從而造成了數據的不一致。

丟失修改破壞了事務的隔離性。

3.2 不可重復讀?

比如事務A首先讀取了一條數據,然后執行邏輯的時候,事務B將這條數據改變了,然后事務A再次讀取的時候,發現數據不匹配了,這就是所謂的不可重復讀了。

通俗來說,當前事務先進行了一次數據讀取,然后再次讀取到的數據是別的事務修改成功的數據,導致兩次讀取到的數據不匹配,也就照應了不可重復讀的語義。

不可重復讀干擾了事務的獨立性。

3.3 讀臟數據?

臟讀,其實就是讀到了其他的事務回滾前的臟數據。比如事務B執行過程中修改了數據X,在未提交前,事務A讀取了X,而事務B卻回滾了,這樣事務A就形成了臟讀。

簡單來說,當前事務讀到的數據是別的事務想要修改成為的但是沒有修改成功的數據。

讀臟數據時事務隔離性的破壞而破壞了數據的一致性。

?

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

總結

以上是生活随笔為你收集整理的事务管理基础:数据库的并发控制相关知识笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。