資料庫是一個共享資源,可以供多個用戶使用,允許多個用戶同時使用同一個資料庫的資料庫系統稱為多用戶資料庫系統,
在這樣的系統中,在同一時刻并發運行的事務可達數百上千個,
事務可以一個一個的串行執行,即每個時刻只有一個事務運行,其他事務必須等到這個事務結束以后方能運行
因此,為了充分利用系統資源,發揮資料庫共享資源的特點,應該允許多個事務并行的執行,
在單處理系統中,事務的并發執行實際上是這些并行事務的并行操作輪流交叉運行,這種并行執行方式稱為交叉并發方式,
在多處理機系統中,每個處理機可以運行一個事務,多個處理機可以同時運行多個事務,實作多個事務真正的并發運行,這種并發執行方式稱為同時并發方式,
并發控制概述
事務是并發控制的基本單位
保證事務的acid特性是事務處理的重要任務,而事務的acid特性可能遭到破壞的原因之一是多個事務對資料庫的并發操作造成的,為了保證事務的隔離性和一致性,資料庫管理系統需要對并發操作進行正確調度,這些就是資料庫管理系統中并發控制機制的責任,
并發操作帶來的資料不一致性包括丟失修改,不可重復讀,讀“臟”資料
1.丟失修改
二個事務t1和t2讀入同一資料并修改,t2提交的結果破壞了t1提交的結果,導致t1的修改被丟失,
2.不可重復讀
不可重復讀是指事務t1讀取資料后,事務t2執行更新操作,使t1無法再現前一次讀取結果,(修改,洗掉,插入)
3.讀“臟”資料
讀“臟”資料是指事務t1修改某一資料并將其寫入磁盤,事務t2讀取同一資料后,t1由于某種原因被撤銷,這時被t1修改過的資料恢復原值,t2讀到的資料與資料庫中的資料不一致,則t2讀到的資料為“臟”資料,即不正確的資料,
產生上述三類資料不一致的主要原因是并發操作破壞了事務的隔離性,并發控制機制就是要用正確的方式調度并發操作,使一個用戶事務的執行不受其他事務的干擾,從而避免造成資料的不一致性,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/274551.html
標籤:其他
上一篇:南京運滿滿面試經歷
下一篇:Oracle中日期計算相差的天數
