什么是并发控制?并发控制技术的原理,最基本的分锁模式(排他锁,共享锁)
數(shù)據(jù)庫是一個共享資源,應該允許多個用戶程序并行地存取數(shù)據(jù),當對數(shù)據(jù)庫進行并行操作時,有可能出現(xiàn)數(shù)據(jù)不一致的情況。
并行操作:在單處理機系統(tǒng)中,事務的并行執(zhí)行實際上是這些并行事務的操作輪流交叉進行。
為保證事務并發(fā)執(zhí)行的正確,必須要有一定的調度手段以保障事務并發(fā)執(zhí)行中一事務執(zhí)行時不受其他事務的影響。并發(fā)控制就是要用正確的方式調度并發(fā)操作,使一個用戶事務的執(zhí)行不受其他事務的干擾,從而避免造成數(shù)據(jù)的不一致性。
并發(fā)控制的主要技術是封鎖(locking)、時間戳(Timestamp)和樂觀控制法。封鎖是實現(xiàn)并發(fā)控制的一個非常重要的技術,
所謂封鎖就是事務T在對某個數(shù)據(jù)對象(表、記錄等)操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務T就對該數(shù)據(jù)對象有了一定的控制,在事務T釋放它的鎖之前,其他的事務不能存取或更新此數(shù)據(jù)對象。封鎖一般由DBMS自動執(zhí)行。
最基本的封鎖模式有兩種:
排它鎖(eXclusive Locks,簡稱X鎖)和共享鎖(Share Locks,簡稱S鎖)。
排它鎖又稱寫鎖。若事務T對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和修改A,其他任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。這就保證了其他事務在T釋放A上的鎖之前不能再讀取和修改A。
共享鎖又稱為讀鎖。若事務T對數(shù)據(jù)對象A加上S鎖,則事務T可以讀A但不能修改A,其他事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這就保證了其他事務可以讀A,但在T釋放A上的S鎖之前不能修改A。
書山有路勤為徑,學海無涯苦作舟,學習是一個積累的過程,希望我們共同進步,同時寫的有問題的地方,希望大家指出!
總結
以上是生活随笔為你收集整理的什么是并发控制?并发控制技术的原理,最基本的分锁模式(排他锁,共享锁)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 触发器的定义及优点
- 下一篇: 汇编语言的程序设计方法(循环结构和分支结