首頁 - 網(wǎng)校 - 萬題庫 - 直播 - 雄鷹網(wǎng)校 - 團(tuán)購 - 書城 - 模考 - 學(xué)習(xí)通 - 導(dǎo)航 -
首頁網(wǎng)校萬題庫直播雄鷹網(wǎng)校團(tuán)購書城?論壇實用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓(xùn)
專升本
自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托?荚
托業(yè)考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報 關(guān) 員
外 銷 員
價格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會計從業(yè)資格
基金從業(yè)資格
統(tǒng)計從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計師
會計職稱
法律顧問
ACCA考試
初級會計職稱
資產(chǎn)評估師
高級經(jīng)濟(jì)師
注冊會計師
高級會計師
美國注冊會計師
審計師考試
國際內(nèi)審師
注冊稅務(wù)師
理財規(guī)劃師
一級建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價師
二級建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
注冊給排水
造價員考試
注冊計量師
環(huán)保工程師
化工工程師
暖通工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
消防工程師
監(jiān)理工程師
房地產(chǎn)估價
土地估價師
安全評價師
房地產(chǎn)經(jīng)紀(jì)人
投資項目管理師
環(huán)境影響評價師
土地登記代理人
寶寶起名
繽紛校園
實用文檔
入黨申請
英語學(xué)習(xí)
思想?yún)R報
作文大全
工作總結(jié)
求職招聘 論文下載 直播課堂

2015計算機(jī)等級考試四級數(shù)據(jù)庫工程師復(fù)習(xí)(9)

考試吧整理了“2015計算機(jī)等級考試四級數(shù)據(jù)庫工程師復(fù)習(xí)”,提供給各位考生備考,更多考試資料請持續(xù)關(guān)注考試吧計算機(jī)等級考試頻道!

  點擊查看:2015計算機(jī)等級考試四級數(shù)據(jù)庫工程師復(fù)習(xí)匯總

  第9章 事務(wù)調(diào)度與并發(fā)控制

  9.1事務(wù)與事務(wù)調(diào)度

  9.1.1 事務(wù)的概念

  1、 事務(wù)是構(gòu)成數(shù)據(jù)庫應(yīng)用中一個獨立邏輯工作單元的操作的集合,也是訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元。數(shù)據(jù)庫系統(tǒng)通過執(zhí)行各種事務(wù)實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的操作,管理和執(zhí)行事務(wù)是DBMS的基本功能。

  9.1.2 事務(wù)的特性(ACID特性)

  1、原子性(Atomicity)

  一個事務(wù)對數(shù)據(jù)庫的所有操作是一個不可分割的工作單元,這些操作要么全部執(zhí)行,要么一個也不執(zhí)行。

  2、 一致性(Consistency)

  當(dāng)一個事務(wù)獨立執(zhí)行時,其執(zhí)行結(jié)果應(yīng)維護(hù)數(shù)據(jù)庫的一致性,即數(shù)據(jù)庫不會因事務(wù)執(zhí)行而受到破壞。數(shù)據(jù)庫滿足全部完整性約束,處于正確的狀態(tài);

  3、 隔離性(Isolation)

  當(dāng)多個事務(wù)并發(fā)執(zhí)行時,系統(tǒng)應(yīng)保證一個事務(wù)的執(zhí)行結(jié)果不受其他事務(wù)的干擾,事務(wù)并發(fā)執(zhí)行結(jié)果與這些事務(wù)串行執(zhí)行時的結(jié)果是一樣的;

  4、 持久性(Durability)

  一個事務(wù)一旦成功完成全部操作,則它對數(shù)據(jù)庫的所有更新就永久地反映在數(shù)據(jù)庫中,即使以后數(shù)據(jù)庫發(fā)生了故障;

  9.1.3 事務(wù)調(diào)度

  1、 一個事務(wù)中各操作的執(zhí)行順序和執(zhí)行時機(jī)一方面取決于事務(wù)自身內(nèi)部邏輯,另一方面也受DBMS中事務(wù)調(diào)度機(jī)制的控制。當(dāng)多個事務(wù)并發(fā)執(zhí)行時,DBMS必須采用合適的并發(fā)調(diào)度機(jī)制合理安排各個事務(wù)執(zhí)行順序,以保證事務(wù)的ACID特性。

  2、 調(diào)度分為串行調(diào)度和并發(fā)調(diào)度,串行調(diào)度的特點是一個事務(wù)的所有操作都執(zhí)行完后才開始執(zhí)行另一事務(wù),不存在事務(wù)操作的交叉執(zhí)行;不同事務(wù)操作的交叉執(zhí)行稱為并發(fā)調(diào)度,DBMS交叉執(zhí)行來自多個事務(wù)的各個操作,以提高數(shù)據(jù)庫系統(tǒng)的性能。

  9.1.4 可串行化調(diào)度

  1、 事務(wù)的串行調(diào)度能夠產(chǎn)生正確的結(jié)果,但執(zhí)行效率低,如果并發(fā)調(diào)度S等價于某一定義在TS上的串行調(diào)度,那么S稱為可串行化調(diào)度;

  2、 給定兩個定義在事務(wù)集TS上的的調(diào)度S和S’,如果可以通過交換S中一系列非沖突操作的執(zhí)行順序?qū)轉(zhuǎn)換為S’,則稱S與S’是沖突等價。

  3、 如果定義在事務(wù)TS上的并發(fā)調(diào)度S沖突等價于事務(wù)集TS上的某個串行調(diào)度S’,則稱S是沖突可串行的。

  4、 在引入沖突可串行概念后,判斷一個并發(fā)調(diào)度是否正確可以歸結(jié)為判斷該調(diào)度是否沖突可串行的。

  9.2 基于鎖的并發(fā)控制技術(shù)

  9.2.1 鎖的概念

  1、 對數(shù)據(jù)庫系統(tǒng)中每個可能被多個事務(wù)并發(fā)訪問的數(shù)據(jù)項設(shè)置鎖,鎖代表了對該數(shù)據(jù)項的訪問權(quán)限。即事務(wù)T在訪問數(shù)據(jù)項Q前須向DBMS申請獲得設(shè)置在Q上的鎖,如成功,則T獲得對Q的訪問權(quán),T對Q操作完成后,釋放所占用的鎖,允許其他事務(wù)獲得該鎖并訪問Q,在T釋放設(shè)置在Q上的鎖前,其他事務(wù)不能訪問Q。

  2、 鎖的類型有兩種:

  (1) 互斥鎖(X鎖):若T獲得Q上的X鎖,則T可以對Q讀寫,其他事務(wù)不能再對Q進(jìn)行任何操作,直到T釋放Q上的鎖;

  (2) 共享鎖(S鎖):若T獲得Q上的S鎖,則T可以對Q進(jìn)行讀取操作,但不可以修改,同時,允許其他事務(wù)再申請獲得Q上的S鎖,與T并行讀取Q,但在T釋放Q上的S鎖前,其他事務(wù)不能對Q做任何修改;

  9.2.2 加鎖協(xié)議

  1、 保證數(shù)據(jù)一致性的三級加鎖協(xié)議:

  (1) 1級加鎖協(xié)議要求事務(wù)T在修改數(shù)據(jù)項Q之前必須先對Q加X鎖,直到事務(wù)結(jié)束才釋放,事務(wù)結(jié)束包括正常結(jié)束和非正常結(jié)束,但事務(wù)如果只對Q讀而不寫,則不需對Q加鎖;

  (2) 2級加鎖協(xié)議是在1級加鎖協(xié)議基礎(chǔ)上,要求T在讀取Q前必須先對其加S鎖,讀完后立即釋放S鎖;

  (3) 3級加鎖協(xié)議是在1級加鎖協(xié)議基礎(chǔ)上,要求在讀取Q前必須先對其加S鎖,但需等到事務(wù)結(jié)束后才釋放S鎖。

  9.2.3 兩階段鎖協(xié)議

  1、 兩階段鎖(2PL)基本原理如下:

  (1) 每個事務(wù)的執(zhí)行過程劃分為兩個階段,加鎖階段和解鎖階段;

  (2) 在加鎖階段,事務(wù)可以申請獲得任何數(shù)據(jù)項上的任何類型的鎖,但是不允許釋放任何鎖;

  (3) 在解鎖階段,事務(wù)可以釋放任何數(shù)據(jù)上的任何類型的鎖,但是不能再申請任何的鎖;

  (4) 每個事務(wù)開始執(zhí)行后就進(jìn)入加鎖階段,當(dāng)?shù)谝淮吾尫沛i后,即進(jìn)入解鎖階段。

  9.2.4 鎖粒度

  1、 施加X鎖和S鎖的數(shù)據(jù)項大小稱為鎖粒度。

  2、 鎖粒度越大,系統(tǒng)中可以被鎖的數(shù)據(jù)項就越少,事務(wù)的并發(fā)執(zhí)行度也越低,但同時系統(tǒng)的開銷也小,相反,當(dāng)鎖粒度越小時,事務(wù)的并發(fā)度高,但系統(tǒng)開銷也較大;

  9.3 死鎖處理

  9.3.1 死鎖預(yù)防

  1、 一次加鎖法

  該方法要求每個事務(wù)在開始時必須將需要訪問的數(shù)據(jù)項全部加鎖,否則不能執(zhí)行下去,也就是要求事務(wù)必須一次性地獲得對需要訪問的全部數(shù)據(jù)項的訪問權(quán);

  該方法的缺點是:

  (1) 多個數(shù)據(jù)項會被一個事務(wù)長期鎖定獨占,導(dǎo)致其他事務(wù)無法及時訪問這些數(shù)據(jù)項,降低了系統(tǒng)的并發(fā)程度;

  (2) 由于很難事先精確知道每個事務(wù)在執(zhí)行過程中需要加鎖的全部數(shù)據(jù)項,只能擴(kuò)大加鎖范圍,將事務(wù)執(zhí)行時可能訪問的所有數(shù)據(jù)項全部加鎖,進(jìn)一步降低了系統(tǒng)的并發(fā)程度;

  2、 順序加鎖法

  該方法對數(shù)據(jù)庫中事務(wù)訪問的所有數(shù)據(jù)項規(guī)定一個加鎖順序,每個事務(wù)在執(zhí)行過程中必須按此順序?qū)λ钄?shù)據(jù)加鎖;

  該方法的缺點:

  (1) 數(shù)據(jù)庫中需要加鎖的數(shù)據(jù)項非常多,并且不斷變化,維護(hù)這些數(shù)據(jù)項的加鎖順序很困難,代價非常大;

  (2) 事務(wù)訪問的數(shù)據(jù)項有時無法事先完全確定,有時很難要求事務(wù)按照固定的順序?qū)@些數(shù)據(jù)項進(jìn)行加鎖;

  9.3.2 死鎖檢測與恢復(fù)

  1、 死鎖檢測

  (1) 可以利用事務(wù)等待圖進(jìn)行死鎖檢測,數(shù)據(jù)庫系統(tǒng)出現(xiàn)死鎖當(dāng)且僅當(dāng)事務(wù)等待圖中包含回路,而且回路中的所有事務(wù)就是處于死鎖的事務(wù);

  (2) 數(shù)據(jù)庫并發(fā)控制子系統(tǒng)動態(tài)地構(gòu)造和維護(hù)事務(wù)等待圖,并周期地檢測等待圖,如圖中有回路,則說明系統(tǒng)中出現(xiàn)了死鎖;

  2、死鎖恢復(fù)

  (1) 當(dāng)發(fā)現(xiàn)死鎖存在時,系統(tǒng)可以通過死鎖恢復(fù)機(jī)制將系統(tǒng)從死鎖中解救出來,通常是選取一個或幾個死鎖事務(wù),撤消這些事務(wù),釋放其所有的鎖,消除事務(wù)等待圖中的回路,從而解決了系統(tǒng)死鎖問題;

  (2) 如果決定撤消哪個事務(wù)或哪些事務(wù),有兩個原則:

  A、 選擇處于最多條回路交點處的事務(wù);

  B、 選擇具有最少撤消代價的事務(wù)。

  9.4 活鎖處理

  1、如果一個事務(wù)在系統(tǒng)不存在死鎖的情況下,長期得不到DBMS的獲批,處于長時間等待中的情況叫活鎖,為了避免活鎖,DBMS可采用先來先服務(wù)的原則解決。

  相關(guān)推薦:

  各地2015年計算機(jī)等級考試報名時間匯總

  各地2015年上半年計算機(jī)等級考試費用匯總

  考試吧特別策劃:2015年計算機(jī)等級考試報考指南

文章搜索
計算機(jī)等級考試欄目導(dǎo)航
版權(quán)聲明:如果計算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。
Copyright © 2004- 考試吧計算機(jī)等級考試網(wǎng) All Rights Reserved 
中國科學(xué)院研究生院權(quán)威支持(北京)
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧