




已閱讀5頁(yè),還剩70頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
An Introduction to Database System,數(shù)據(jù)庫(kù)原理 Database Principle,仲愷農(nóng)業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,An Introduction to Database System,問(wèn)題的產(chǎn)生,多用戶數(shù)據(jù)庫(kù)系統(tǒng)的存在 允許多個(gè)用戶同時(shí)使用的數(shù)據(jù)庫(kù)系統(tǒng) 飛機(jī)定票數(shù)據(jù)庫(kù)系統(tǒng) 銀行數(shù)據(jù)庫(kù)系統(tǒng) 特點(diǎn):在同一時(shí)刻并發(fā)運(yùn)行的事務(wù)數(shù)可達(dá)數(shù)百個(gè),An Introduction to Database System,問(wèn)題的產(chǎn)生(續(xù)),不同的多事務(wù)執(zhí)行方式 (1)事務(wù)串行執(zhí)行 每個(gè)時(shí)刻只有一個(gè)事務(wù)運(yùn)行,其他事務(wù)必須等到這個(gè)事務(wù)結(jié)束以后方能運(yùn)行 不能充分利用系統(tǒng)資源,發(fā)揮數(shù)據(jù)庫(kù)共享資源的特點(diǎn),T1,T2,T3,事務(wù)的串行執(zhí)行方式,An Introduction to Database System,問(wèn)題的產(chǎn)生(續(xù)),(2)交叉并發(fā)方式(Interleaved Concurrency) 在單處理機(jī)系統(tǒng)中,事務(wù)的并行執(zhí)行是這些并行事務(wù)的并行操作輪流交叉運(yùn)行 單處理機(jī)系統(tǒng)中的并行事務(wù)并沒(méi)有真正地并行運(yùn)行,但能夠減少處理機(jī)的空閑時(shí)間,提高系統(tǒng)的效率,An Introduction to Database System,問(wèn)題的產(chǎn)生(續(xù)),事務(wù)的交叉并發(fā)執(zhí)行方式,An Introduction to Database System,問(wèn)題的產(chǎn)生(續(xù)),(3)同時(shí)并發(fā)方式(simultaneous concurrency) 多處理機(jī)系統(tǒng)中,每個(gè)處理機(jī)可以運(yùn)行一個(gè)事務(wù),多個(gè)處理機(jī)可以同時(shí)運(yùn)行多個(gè)事務(wù),實(shí)現(xiàn)多個(gè)事務(wù)真正的并行運(yùn)行,An Introduction to Database System,問(wèn)題的產(chǎn)生(續(xù)),事務(wù)并發(fā)執(zhí)行帶來(lái)的問(wèn)題 會(huì)產(chǎn)生多個(gè)事務(wù)同時(shí)存取同一數(shù)據(jù)的情況 可能會(huì)存取和存儲(chǔ)不正確的數(shù)據(jù),破壞事務(wù)一致性和數(shù)據(jù)庫(kù)的一致性,An Introduction to Database System,第十一章 并發(fā)控制,11.1 并發(fā)控制概述 11.2 封鎖 11.3 活鎖和死鎖 11.4 并發(fā)調(diào)度的可串行性 11.5 兩段鎖協(xié)議 11.6 小結(jié),An Introduction to Database System,11.1 并發(fā)控制概述,并發(fā)控制機(jī)制的任務(wù) 對(duì)并發(fā)操作進(jìn)行正確調(diào)度 保證事務(wù)的隔離性 保證數(shù)據(jù)庫(kù)的一致性,An Introduction to Database System,并發(fā)操作帶來(lái)數(shù)據(jù)的不一致性實(shí)例 例1飛機(jī)訂票系統(tǒng)中的一個(gè)活動(dòng)序列 甲售票點(diǎn)(甲事務(wù))讀出某航班的機(jī)票余額A,設(shè)A=16; 乙售票點(diǎn)(乙事務(wù))讀出同一航班的機(jī)票余額A,也為16; 甲售票點(diǎn)賣(mài)出一張機(jī)票,修改余額AA-1,所以A為15,把A寫(xiě)回?cái)?shù)據(jù)庫(kù); 乙售票點(diǎn)也賣(mài)出一張機(jī)票,修改余額AA-1,所以A為15,把A寫(xiě)回?cái)?shù)據(jù)庫(kù) 結(jié)果明明賣(mài)出兩張機(jī)票,數(shù)據(jù)庫(kù)中機(jī)票余額只減少1,T1的修改被T2覆蓋了!,并發(fā)控制概述(續(xù)),并發(fā)控制概述(續(xù)),An Introduction to Database System,并發(fā)控制概述(續(xù)),這種情況稱(chēng)為數(shù)據(jù)庫(kù)的不一致性,是由并發(fā)操作引起的。 在并發(fā)操作情況下,對(duì)甲、乙兩個(gè)事務(wù)的操作序列的調(diào)度是隨機(jī)的。 若按上面的調(diào)度序列執(zhí)行,甲事務(wù)的修改就被丟失。 原因:第4步中乙事務(wù)修改A并寫(xiě)回后覆蓋了甲事務(wù)的修改,An Introduction to Database System,并發(fā)控制概述(續(xù)),并發(fā)操作帶來(lái)的數(shù)據(jù)不一致性 丟失修改(Lost Update) 不可重復(fù)讀(Non-repeatable Read) 讀“臟”數(shù)據(jù)(Dirty Read) 記號(hào) R(x):讀數(shù)據(jù)x W(x):寫(xiě)數(shù)據(jù)x,An Introduction to Database System,1. 丟失修改,兩個(gè)事務(wù)T1和T2讀入同一數(shù)據(jù)并修改,T2的提交結(jié)果破壞了T1提交的結(jié)果,導(dǎo)致T1的修改被丟失。 上面飛機(jī)訂票例子就屬此類(lèi),An Introduction to Database System,丟失修改(續(xù)),丟失修改,實(shí)例演示,An Introduction to Database System,2. 不可重復(fù)讀,不可重復(fù)讀是指事務(wù)T1讀取數(shù)據(jù)后,事務(wù)T2執(zhí)行更新操作,使T1無(wú)法再現(xiàn)前一次讀取結(jié)果。,An Introduction to Database System,不可重復(fù)讀(續(xù)),不可重復(fù)讀包括三種情況: (1)事務(wù)T1讀取某一數(shù)據(jù)后,事務(wù)T2對(duì)其做了修改,當(dāng)事務(wù)T1再次讀該數(shù)據(jù)時(shí),得到與前一次不同的值,An Introduction to Database System,不可重復(fù)讀(續(xù)),T1讀取B=100進(jìn)行運(yùn)算 T2讀取同一數(shù)據(jù)B,對(duì)其進(jìn)行修改后將B=200寫(xiě)回?cái)?shù)據(jù)庫(kù)。 T1為了對(duì)讀取值校對(duì)重讀B,B已為200,與第一次讀取值不一致,不可重復(fù)讀,例如:,實(shí)例演示,An Introduction to Database System,不可重復(fù)讀(續(xù)),(2)事務(wù)T1按一定條件從數(shù)據(jù)庫(kù)中讀取了某些數(shù)據(jù)記錄后,事務(wù)T2刪除了其中部分記錄,當(dāng)T1再次按相同條件讀取數(shù)據(jù)時(shí),發(fā)現(xiàn)某些記錄消失了 (3)事務(wù)T1按一定條件從數(shù)據(jù)庫(kù)中讀取某些數(shù)據(jù)記錄后,事務(wù)T2插入了一些記錄,當(dāng)T1再次按相同條件讀取數(shù)據(jù)時(shí),發(fā)現(xiàn)多了一些記錄。 后兩種不可重復(fù)讀有時(shí)也稱(chēng)為幻影現(xiàn)象(Phantom Row),An Introduction to Database System,3. 讀“臟”數(shù)據(jù),讀“臟”數(shù)據(jù)是指: 事務(wù)T1修改某一數(shù)據(jù),并將其寫(xiě)回磁盤(pán) 事務(wù)T2讀取同一數(shù)據(jù)后,T1由于某種原因被撤銷(xiāo) 這時(shí)T1已修改過(guò)的數(shù)據(jù)恢復(fù)原值,T2讀到的數(shù)據(jù)就與數(shù)據(jù)庫(kù)中的數(shù)據(jù)不一致 T2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù),An Introduction to Database System,讀“臟”數(shù)據(jù)(續(xù)),例如,T1將C值修改為200,T2讀到C為200 T1由于某種原因撤銷(xiāo),其修改作廢,C恢復(fù)原值100 這時(shí)T2讀到的C為200,與數(shù)據(jù)庫(kù)內(nèi)容不一致,就是“臟”數(shù)據(jù),An Introduction to Database System,并發(fā)控制概述(續(xù)),數(shù)據(jù)不一致性:由于并發(fā)操作破壞了事務(wù)的隔離性 并發(fā)控制就是要用正確的方式調(diào)度并發(fā)操作,使一個(gè)用戶事務(wù)的執(zhí)行不受其他事務(wù)的干擾,從而避免造成數(shù)據(jù)的不一致性,An Introduction to Database System,并發(fā)控制概述(續(xù)),并發(fā)控制的主要技術(shù) 有封鎖(Locking) 時(shí)間戳(Timestamp) 樂(lè)觀控制法 商用的DBMS一般都采用封鎖方法,An Introduction to Database System,第十一章 并發(fā)控制,11.1 并發(fā)控制概述 11.2 封鎖 11.3 活鎖和死鎖 11.4 并發(fā)調(diào)度的可串行性 11.5 兩段鎖協(xié)議 11.6 小結(jié),An Introduction to Database System,11.2 封鎖,什么是封鎖 基本封鎖類(lèi)型 鎖的相容矩陣,An Introduction to Database System,什么是封鎖,封鎖就是事務(wù)T在對(duì)某個(gè)數(shù)據(jù)對(duì)象(例如表、記錄等)操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖 加鎖后事務(wù)T就對(duì)該數(shù)據(jù)對(duì)象有了一定的控制,在事務(wù)T釋放它的鎖之前,其它的事務(wù)不能更新此數(shù)據(jù)對(duì)象。,An Introduction to Database System,在 SQL Server中如何查看鎖?,An Introduction to Database System,在 SQL Server中如何查看鎖?(續(xù)),實(shí)例演示,An Introduction to Database System,基本封鎖類(lèi)型,一個(gè)事務(wù)對(duì)某個(gè)數(shù)據(jù)對(duì)象加鎖后究竟擁有什么樣的控制由封鎖的類(lèi)型決定。 基本封鎖類(lèi)型 排它鎖(Exclusive Locks,簡(jiǎn)記為X鎖) 共享鎖(Share Locks,簡(jiǎn)記為S鎖),An Introduction to Database System,排它鎖,排它鎖又稱(chēng)為寫(xiě)鎖 若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上X鎖,則只允許T讀取和修改A,其它任何事務(wù)都不能再對(duì)A加任何類(lèi)型的鎖,直到T釋放A上的鎖 保證其他事務(wù)在T釋放A上的鎖之前不能再讀取和修改A,An Introduction to Database System,共享鎖,共享鎖又稱(chēng)為讀鎖 若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則其它事務(wù)只能再對(duì)A加S鎖,而不能加X(jué)鎖,直到T釋放A上的S鎖 保證其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對(duì)A做任何修改,An Introduction to Database System,鎖的相容矩陣,An Introduction to Database System,鎖的相容矩陣(續(xù)),在鎖的相容矩陣中: 最左邊一列表示事務(wù)T1已經(jīng)獲得的數(shù)據(jù)對(duì)象上的鎖的類(lèi)型,其中橫線表示沒(méi)有加鎖。 最上面一行表示另一事務(wù)T2對(duì)同一數(shù)據(jù)對(duì)象發(fā)出的封鎖請(qǐng)求。 T2的封鎖請(qǐng)求能否被滿足用矩陣中的Y和N表示 Y表示事務(wù)T2的封鎖要求與T1已持有的鎖相容,封鎖請(qǐng)求可以滿足 N表示T2的封鎖請(qǐng)求與T1已持有的鎖沖突,T2的請(qǐng)求被拒絕,An Introduction to Database System,使用封鎖機(jī)制解決丟失修改問(wèn)題,例:,事務(wù)T1在讀A進(jìn)行修改之前先對(duì)A加X(jué)鎖 當(dāng)T2再請(qǐng)求對(duì)A加X(jué)鎖時(shí)被拒絕 T2只能等待T1釋放A上的鎖后T2獲得對(duì)A的X鎖 這時(shí)T2讀到的A已經(jīng)是T1更新過(guò)的值15 T2按此新的A值進(jìn)行運(yùn)算,并將結(jié)果值A(chǔ)=14送回到磁盤(pán)。避免了丟失T1的更新。,沒(méi)有丟失修改,An Introduction to Database System,使用封鎖機(jī)制解決不可重復(fù)讀問(wèn)題,事務(wù)T1在讀A,B之前,先對(duì)A,B加S鎖 其他事務(wù)只能再對(duì)A,B加S鎖,而不能加X(jué)鎖,即其他事務(wù)只能讀A,B,而不能修改 當(dāng)T2為修改B而申請(qǐng)對(duì)B的X鎖時(shí)被拒絕只能等待T1釋放B上的鎖 T1為驗(yàn)算再讀A,B,這時(shí)讀出的B仍是100,求和結(jié)果仍為150,即可重復(fù)讀 T1結(jié)束才釋放A,B上的S鎖。T2才獲得對(duì)B的X鎖,可重復(fù)讀,An Introduction to Database System,使用封鎖機(jī)制解決讀“臟”數(shù)據(jù)問(wèn)題,例,事務(wù)T1在對(duì)C進(jìn)行修改之前,先對(duì)C加X(jué)鎖,修改其值后寫(xiě)回磁盤(pán) T2請(qǐng)求在C上加S鎖,因T1已在C上加了X鎖,T2只能等待 T1因某種原因被撤銷(xiāo),C恢復(fù)為原值100 T1釋放C上的X鎖后T2獲得C上的S鎖,讀C=100。避免了T2讀“臟”數(shù)據(jù),不讀“臟”數(shù)據(jù),An Introduction to Database System,11.2 封鎖(續(xù)),An Introduction to Database System,第十一章 并發(fā)控制,11.1 并發(fā)控制概述 11.2 封鎖 11.3 活鎖和死鎖 11.4 并發(fā)調(diào)度的可串行性 11.5 兩段鎖協(xié)議 11.6 小結(jié),An Introduction to Database System,11.3 活鎖和死鎖,封鎖技術(shù)可以有效地解決并行操作的一致性問(wèn)題,但也帶來(lái)一些新的問(wèn)題 死鎖 活鎖,An Introduction to Database System,活鎖(續(xù)),活 鎖,An Introduction to Database System,活鎖(續(xù)),避免活鎖:采用先來(lái)先服務(wù)的策略 當(dāng)多個(gè)事務(wù)請(qǐng)求封鎖同一數(shù)據(jù)對(duì)象時(shí) 按請(qǐng)求封鎖的先后次序?qū)@些事務(wù)排隊(duì) 該數(shù)據(jù)對(duì)象上的鎖一旦釋放,首先批準(zhǔn)申請(qǐng)隊(duì)列中第一個(gè)事務(wù)獲得鎖,An Introduction to Database System,11.3.2 死鎖,事務(wù)T1封鎖了數(shù)據(jù)R1 T2封鎖了數(shù)據(jù)R2 T1又請(qǐng)求封鎖R2,因T2已封鎖了R2,于是T1等待T2釋放R2上的鎖 接著T2又申請(qǐng)封鎖R1,因T1已封鎖了R1,T2也只能等待T1釋放R1上的鎖 這樣T1在等待T2,而T2又在等待T1,T1和T2兩個(gè)事務(wù)永遠(yuǎn)不能結(jié)束,即:T1和T2互相封鎖形成死鎖,An Introduction to Database System,死鎖(續(xù)),死 鎖,An Introduction to Database System,解決死鎖的方法,兩類(lèi)方法 1. 預(yù)防死鎖 2. 死鎖的診斷與解除,An Introduction to Database System,1. 死鎖的預(yù)防,產(chǎn)生死鎖的原因是兩個(gè)或多個(gè)事務(wù)都已封鎖了一些數(shù)據(jù)對(duì)象,然后又都請(qǐng)求對(duì)已為其他事務(wù)封鎖的數(shù)據(jù)對(duì)象加鎖,從而出現(xiàn)死等待。 預(yù)防死鎖的發(fā)生就是要破壞產(chǎn)生死鎖的條件,An Introduction to Database System,死鎖的預(yù)防(續(xù)),預(yù)防死鎖的方法 一次封鎖法 順序封鎖法,An Introduction to Database System,(1)一次封鎖法,要求每個(gè)事務(wù)必須一次將所有要使用的數(shù)據(jù)全部加鎖,否則就不能繼續(xù)執(zhí)行 缺點(diǎn) 造成封鎖范圍時(shí)間擴(kuò)大,降低系統(tǒng)并發(fā)度 難于事先精確確定封鎖對(duì)象,An Introduction to Database System,(2)順序封鎖法,順序封鎖法是預(yù)先對(duì)數(shù)據(jù)對(duì)象規(guī)定一個(gè)封鎖順序,所有事務(wù)都按這個(gè)順序?qū)嵭蟹怄i。 順序封鎖法存在的問(wèn)題 維護(hù)成本 數(shù)據(jù)庫(kù)系統(tǒng)中封鎖的數(shù)據(jù)對(duì)象極多,并且在不斷地變化。 難以實(shí)現(xiàn):很難事先確定每一個(gè)事務(wù)要封鎖哪些對(duì)象,An Introduction to Database System,死鎖的預(yù)防(續(xù)),結(jié)論 在操作系統(tǒng)中廣為采用的預(yù)防死鎖的策略并不很適合數(shù)據(jù)庫(kù)的特點(diǎn) DBMS在解決死鎖的問(wèn)題上更普遍采用的是診斷并解除死鎖的方法,An Introduction to Database System,2. 死鎖的診斷與解除,死鎖的診斷 超時(shí)法 事務(wù)等待圖法,An Introduction to Database System,(1) 超時(shí)法,如果一個(gè)事務(wù)的等待時(shí)間超過(guò)了規(guī)定的時(shí)限,就認(rèn)為發(fā)生了死鎖 優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單 缺點(diǎn) 有可能誤判死鎖 時(shí)限若設(shè)置得太長(zhǎng),死鎖發(fā)生后不能及時(shí)發(fā)現(xiàn),An Introduction to Database System,(2)等待圖法,用事務(wù)等待圖動(dòng)態(tài)反映所有事務(wù)的等待情況 事務(wù)等待圖是一個(gè)有向圖G=(T,U) T為結(jié)點(diǎn)的集合,每個(gè)結(jié)點(diǎn)表示正運(yùn)行的事務(wù) U為邊的集合,每條邊表示事務(wù)等待的情況 若T1等待T2,則T1,T2之間劃一條有向邊,從T1指向T2,An Introduction to Database System,等待圖法(續(xù)),事務(wù)等待圖,圖(a)中,事務(wù)T1等待T2,T2等待T1,產(chǎn)生了死鎖 圖(b)中,事務(wù)T1等待T2,T2等待T3,T3等待T4,T4又等待T1,產(chǎn)生了死鎖 圖(b)中,事務(wù)T3可能還等待T2,在大回路中又有小的回路,An Introduction to Database System,等待圖法(續(xù)),并發(fā)控制子系統(tǒng)周期性地(比如每隔數(shù)秒)生成事務(wù)等待圖,檢測(cè)事務(wù)。如果發(fā)現(xiàn)圖中存在回路,則表示系統(tǒng)中出現(xiàn)了死鎖。,An Introduction to Database System,死鎖的診斷與解除(續(xù)),解除死鎖 選擇一個(gè)處理死鎖代價(jià)最小的事務(wù),將其撤消 釋放此事務(wù)持有的所有的鎖,使其它事務(wù)能繼續(xù)運(yùn)行下去,An Introduction to Database System,第十一章 并發(fā)控制,11.1 并發(fā)控制概述 11.2 封鎖 11.3 活鎖和死鎖 11.4 并發(fā)調(diào)度的可串行性 11.5 兩段鎖協(xié)議 11.6 小結(jié),An Introduction to Database System,11.4 并發(fā)調(diào)度的可串行性,DBMS對(duì)并發(fā)事務(wù)不同的調(diào)度可能會(huì)產(chǎn)生不同的結(jié)果 什么樣的調(diào)度是正確的?,An Introduction to Database System,11.4 并發(fā)調(diào)度的可串行性(續(xù)),可串行化(Serializable)調(diào)度 多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一次序串行地執(zhí)行這些事務(wù)時(shí)的結(jié)果相同 可串行性(Serializability) 是并發(fā)事務(wù)正確調(diào)度的準(zhǔn)則 一個(gè)給定的并發(fā)調(diào)度,當(dāng)且僅當(dāng)它是可串行化的,才認(rèn)為是正確調(diào)度,An Introduction to Database System,11.4 并發(fā)調(diào)度的可串行性(續(xù)),例現(xiàn)在有兩個(gè)事務(wù),分別包含下列操作: 事務(wù)T1:讀B;A=B+1;寫(xiě)回A 事務(wù)T2:讀A;B=A+1;寫(xiě)回B 現(xiàn)給出對(duì)這兩個(gè)事務(wù)不同的調(diào)度策略,An Introduction to Database System,串行調(diào)度,不可串行化調(diào)度,An Introduction to Database System,串行調(diào)度,可串行化調(diào)度,An Introduction to Database System,思考是否存在其他調(diào)度策略,?,串行調(diào)度,總結(jié):如果有n個(gè)事務(wù)串行調(diào)度,那么不同的有效調(diào)度有n!個(gè)。,An Introduction to Database System,第十一章 并發(fā)控制,11.1 并發(fā)控制概述 11.2 封鎖 11.3 活鎖和死鎖 11.4 并發(fā)調(diào)度的可串行性 11.5 兩段鎖協(xié)議 11.6 小結(jié),An Introduction to Database System,11.5 兩段鎖協(xié)議,封鎖協(xié)議(Locking Protocol) 運(yùn)用封鎖方法時(shí),對(duì)數(shù)據(jù)對(duì)象加鎖時(shí)需要約定一些規(guī)則 何時(shí)申請(qǐng)封鎖 持鎖時(shí)間 何時(shí)釋放封鎖等 兩段封鎖協(xié)議(Two-Phase Locking,簡(jiǎn)稱(chēng)2PL)是最常用的一種封鎖協(xié)議,理論上證明使用兩段封鎖協(xié)議產(chǎn)生的是可串行化調(diào)度,An Introduction to Database System,兩段鎖協(xié)議(續(xù)),兩段鎖協(xié)議 指所有事務(wù)必須分兩個(gè)階段對(duì)數(shù)據(jù)項(xiàng)加鎖和解鎖 在對(duì)任何數(shù)據(jù)進(jìn)行讀、寫(xiě)操作之前,事務(wù)首先要獲得對(duì)該數(shù)據(jù)的封鎖 在釋放一個(gè)封鎖之后,事務(wù)不再申請(qǐng)和獲得任何其他封鎖,An Introduction to Database System,兩段鎖協(xié)議(續(xù)),“兩段”鎖的含義 事務(wù)分為兩個(gè)階段 第一階段是獲得封鎖,也稱(chēng)為擴(kuò)展階段 事務(wù)可以申請(qǐng)獲得任何數(shù)據(jù)項(xiàng)上的任何類(lèi)型的鎖,但是不能釋放任何鎖 第二階段是釋放封鎖,也稱(chēng)為收縮階段 事務(wù)可以釋放任何數(shù)據(jù)項(xiàng)上的任何類(lèi)型的鎖,但是不能再申請(qǐng)任何鎖,An Introduction to Database System,兩段鎖協(xié)議(續(xù)),例 :事務(wù)Ti 遵守兩段鎖協(xié)議,其封鎖序列是 : Slock A Slock B Xlock C Unlock B Unlock A UnlockC; | 擴(kuò)展階段 | | 收縮階段 | 事務(wù)Tj 不遵守兩段鎖協(xié)議,其封鎖序列是: Slock A Unlock A Slock B Xlock C Unlock C UnlockB;,An Introduction to Database System,左圖的調(diào)度是遵守兩段鎖協(xié)議的,因此一定是一個(gè)可串行化調(diào)度。,An Introduction to Database System,兩段鎖協(xié)議 &可串行化調(diào)度,事務(wù)遵守兩段鎖協(xié)議是可串行化調(diào)度的充分條件,而不是必要條件。 兩段鎖協(xié)議 可串行化調(diào)度 可串行化調(diào)度 兩段鎖協(xié)議,?
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年塑料半成品、輔料合作協(xié)議書(shū)
- 2025年工業(yè)自動(dòng)調(diào)節(jié)儀表與控制系統(tǒng)項(xiàng)目合作計(jì)劃書(shū)
- 2025年鋁包鋼導(dǎo)線合作協(xié)議書(shū)
- 高端購(gòu)物中心收銀員服務(wù)期限協(xié)議
- 生態(tài)保護(hù)科研項(xiàng)目經(jīng)費(fèi)管理及審計(jì)合同
- 理財(cái)產(chǎn)品投資者適當(dāng)性補(bǔ)充協(xié)議
- 生物醫(yī)藥產(chǎn)業(yè)基地女員工職業(yè)健康與安全保障協(xié)議
- 城市更新改造項(xiàng)目工程總承包及配套設(shè)施拆遷補(bǔ)償協(xié)議
- 電子設(shè)備進(jìn)出口代理與知識(shí)產(chǎn)權(quán)保護(hù)合同
- 知識(shí)產(chǎn)權(quán)交易平臺(tái)資金存管安全保密補(bǔ)充協(xié)議
- 礦井通風(fēng)模擬設(shè)計(jì)-馮樹(shù)鳴
- 耳石癥的診斷與治療
- 2024年度合作框架協(xié)議:國(guó)際能源公司與當(dāng)?shù)卣履茉错?xiàng)目合作
- 信息系統(tǒng)安全審計(jì)合同模板
- 企業(yè)形象設(shè)計(jì)(CIS)戰(zhàn)略策劃及實(shí)施計(jì)劃書(shū)
- 個(gè)人保證無(wú)糾紛承諾保證書(shū)
- 銀行保潔服務(wù)合同樣本
- 19G522-1鋼筋桁架混凝土樓板圖集
- 2023年上半年中級(jí)信息系統(tǒng)監(jiān)理師下午真題
- 農(nóng)學(xué)專(zhuān)業(yè)深度解析模板
- 儲(chǔ)罐內(nèi)噴鋁施工方案
評(píng)論
0/150
提交評(píng)論