第八章分布式并發控制_第1頁
第八章分布式并發控制_第2頁
第八章分布式并發控制_第3頁
第八章分布式并發控制_第4頁
第八章分布式并發控制_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第八章分布式并發控制主要內容基本概念并發控制理論基礎基于鎖的并發控制方法兩段封鎖協議分布庫并發控制方法分布式死鎖管理

簡單地講,并發就是多個事務的同時執行,并發能夠提高系統的效率,但也可能會帶來三種錯誤。并發控制的主要目的是保證事務的一致性和隔離性,最終保證數據的一致性。 當分布事務并發執行時,并發控制既要實現分布事務的可串行性,又要保持事務具有良好的并發度,以保證系統具有良好的性能。并發控制問題基本概念T1T2讀x計算x=x-10

寫x讀x計算x=x-20寫xT1:R1(x),O1(x),W1(x);T2:R2(x),O2(x),W2(x);若串行執行(T1→T2),則操作序列為:R1(x),O1(x),W1(x),R2(x),O2(x),W2(x),執行結果x=70。并發控制問題(1)丟失修改錯誤基本概念執行結果x=80T1T2讀x計算x=x-10

寫x讀x計算x=x-20寫x×并發控制問題(2)不可重復讀錯誤基本概念T1兩次讀取同一個數據,讀取的值不同T1T2讀x=100

寫x=80讀x=80×并發控制問題(3)讀臟數據錯誤基本概念T2讀取了T1廢棄的數據xT1T2寫x=100讀x=100abort×并發控制問題 并發控制就是利用正確的方式調度事務中所涉及的并發操作序列,避免造成數據的不一致性;防止一個事務的執行受到其它事務的干擾,保證事務并發執行的可串行性。基本概念事務執行過程的形式化描述

通常以串行化理論來檢驗并發控制方法的正確性。 依據串行化理論,在數據庫上運行的一個事務的所有操作,按其性質分為讀和寫兩類。 一個事務Ti對數據項x的讀操作和寫操作記為Ri(x)和Wi(x)。 一個事務Ti所讀取數據項的集合,稱為Ti的讀集,所寫的數據項的集合,稱為寫集,分別記為R(Ti)和W(Ti)。設有事務T1,完成的操作如下:T1:x=x+1;y=y+1;則T1可表示為:

T1:R1(x)W1(x)R1(y)W1(y)。讀/寫集分別是:

R(T1)={x,y} W(T1)={x,y}

并發控制理論基礎事務執行過程的形式化描述 什么是歷程? 在一個數據庫上,各個事務所執行的操作組成的序列,稱為事務的歷程,記為H,有時也稱為調度,記錄了各事務的操作順序。

對于一個歷程上的任何兩個事務:Ti和Tj,如果Ti的最后一個操作在Tj的第一個操作之前完成,或反之,Tj

的最后一個操作在的Ti第一個操作之前完成,稱這樣的歷程為串行歷程。否則,稱為并發歷程。 我們希望事務歷程中的各個事務是并發的,但同時它們的執行結果又等價于一個串行歷程,即事務并發歷程是可串行化的。并發控制理論基礎事務執行過程的形式化描述有事務T1和T2:T1:R1(x)R1(y)W1(x)W1(y)T2:R2(x)W2(y)歷程H1和H2,分別為:H1:R1(x)R1(y)W1(x)W1(y)R2(x)W2(y)H2:R1(x)R2(x)R1(y)W1(x)W1(y)W2(y)可見,H1為串行歷程,H2為并行歷程。并發控制理論基礎集中式數據庫的可串行化問題無論在集中式數據庫系統中,還是在分布式數據庫系統中,并發調度都要解決并發事務對數據庫的沖突操作問題,使沖突操作串行執行,非沖突操作并發執行。在分布式數據庫系統中,事務是由分解為各個場地上的子事務的執行實現的。因此,分布式事務之間的沖突操作,就轉化為了同一場地上的子事務之間的沖突操作,分布式事務的可串行性調度也轉化為了子事務的可串行性調度問題。并發控制理論基礎集中式數據庫的可串行化問題

(1)可串行化定義 在集中式數據庫系統中的一個歷程H,如果等價于一個串行歷程,則稱歷程H是可串行化的。由可串行化歷程H所決定的事務執行順序,記為SR(H)。并發控制理論基礎集中式數據庫的可串行化問題

(2)事務的執行順序 分別屬于兩個事務的兩個操作Oi和Oj,如果它們操作同一個數據項,且至少其中一個操作為寫操作,則Oi和Oj這兩個操作是沖突的。如:R1(x)和W2(x),W1(x)和W2(x)。 在一個串行歷程中,用符號“<”表示先于關系,對分別屬于Ti和Tj的兩個沖突操作Oi和Oj,若存在Oi<Oj,則Ti<Tj。并發控制理論基礎集中式數據庫的可串行化問題

(2)歷程等價的判別方法

定理1:任意兩個歷程H1和H2等價的充要條件是在H1和H2中,每個讀操作讀出的數據是由相同的寫操作完成的;在H1和H2中,每個數據項上最后的寫操作是相同的。并發控制理論基礎集中雄式數如據庫距的可厘串行鳴化問呢題(2拔)歷程課等價怎的判尤別方免法定理1的引權理:對于蹈兩個仍歷程H1和H2,如頭果每恭一對登沖突旬操作Oi和Oj,在H1中有Oi<Oj,在H2中也貪有Oi<Oj,則H1和H2是等狐價的渣。并發勝控制私理論果基礎集中僅式數親據庫置的可攏串行斧化問信題(2奏)歷程咳等價秩的判嶼別方琴法例:H1:R1(x青)拆R1(y扒)柔W1(x艦)竊W1(y崇)騙R2(x手)屑W2(x日)H2:R1(x撥)塵R1(y咬)愛W1(x裝)遵R2(x罪)灑W1(y練)腹W2(x災)H3:R1(x溪)岸R1(y傾)義R2(x鼓)偷W1(x受)衫W1(y暑)輩W2(x趴)判斷H2和H3是否粉與H1等價吸。并發錄控制章理論哨基礎R1務(x叢)鹽<仿W2切(x昂)W1亦(x墳)丈<兇W2等(x姿)W1肚(x竟)些<南R面2(氏x)H1的沖鋸突操噸作:H2的沖至突操剩作:R1段(x得)鋒<向W2殼(x婦)W1笨(x酸)保<煉R脂2(帽x)W1細(x傍)斑<賣W2卻(x思)H3的沖密突操浴作:R1拌(x累)鞭<裹W2朱(x會)R斜2(鴿x)賊<速W遇1哈(x循)W1犯(x朋)倚<針W2融(x栽)√×分布所式事獅務的里可串鉆行化寄問題在分窩布式從事務啊執行夫過程財中,粥場地Si上的擊所有水子事候務的店操作私的執執行序頌列,鄭稱為絞局部歲歷程夾,用H(留Si)表示騎。分布倆式事擇務可顫串行須化判牢定定盟理:對于n個分果布式浮事務T1,T2,…,Tn在m個場淹地上S1,S2,…,Sm上的偶并發卡執行妻序列戰,記卻為E。如壘果E是可準串行喊化的酸,則燃必須始滿足敲以下拖條件辨:每個屆場地Si上的遇局部房誠歷程H(快Si)是可逃串行杜化的梳;存在E的一榴個總混序,役使得溫在總哲序中鹽,如襲果有Ti<Tj,則買在各破局部坊歷程瓦中必恢須有Ti<Tj。并發悔控制凝理論懷基礎分布確式事嫩務的博可串電行化論問題分布射式事芒務可壘串行件化判壘定定比理的蘇引理攀:設T1,T2,…,Tn是n個分籃布式劃事務意,E是這坑組事星務在m個場脫地上復的并盈發執董行序槽列,H(燙S1),H(叢S2),…,H(粥Sm)是在伏這些勤場地紐奉上事嫩務的影局部陷歷程楊,如競果E是可吉串行梯化的庭,則艷必須箱存在援一個猶總序遼,使擊得Ti和Tj中的炊任意糟兩個普沖突聚操作Oi和Oj,如吊果在H(擔S1),H(詞S2),…,H(播Sm)中有Oi<Oj,當鋸且僅勇當在深總序蜻中也軍有Ti<Tj。并發鴨控制疫理論口基礎基于涼鎖的亂并發棚控制布方法偶的基愛本思居想是臣:事詢務在國對某昏一數兆據項兼操作概之前亮,必攤須先祖申請乓對該樂數據袋項加擦鎖,叨申請卵成功淡后才止可以繪對該烈數據苦項進肌行操全作。濃如果施該數文據項災已被帳其它畫事務策加了按不相泛容的菌鎖,籌那么黃后申窮請使紡用數巖據的車事務真必須伯等待鼻,直終到該環數據督項被安解鎖楚為止臉。基于先鎖的染并發穩控制暫方法基于控鎖的燒并發叔控制疼方法鎖的事類型鎮和相螺容性鎖分雹兩種頸類型卸:排穗它鎖(e鳳xl邊us權iv疑e)和共作享鎖(s丑ha資re嗓d)。排它訂鎖也幸稱為X鎖或罪寫鎖泥,當更事務T對數制據A施加接排它彈鎖之講后,譯只允興許事淚務T自己披讀寫A,其迷它事獅務都示不可候讀寫A。共享藝鎖稱露為S鎖或敲讀鎖悄,當禮事務T對數過據A施加亞共享汪鎖之爐后,還其它傻事務索也可雖申請霸共享垃鎖,松但只亂能讀燦取A,即轉共享餅鎖允兄許多部個事表務同襖時讀畝取同碗一數謊據項A。鎖的圣相容錯性:讀鎖寫鎖讀鎖共享排斥寫鎖排斥排斥基于韻鎖的勒并發妹控制死方法封鎖略規則在基蹈于鎖鄙的并覽發控饒制協伯議中震,事謎務在界執行掛過程誰中需蛋對其屠訪問賄的數矛據項構進行腦加鎖句,訪饅問結凝束要鐮及時半釋放尖其對飼數據訪項加淘的鎖斷,以吼便供路其它筍事務辭訪問她,保那證多藍個事只務正蹤蝶確地原并發無執行濤。具錦體封鐘鎖規飄則為輛:事務T在對育數據誦項A進行炒讀/寫操膛作之繞前,僚必須鳴對數零據項A施加給讀/寫鎖滑,訪拼問后鳥立即酒釋放悄已申螞請的優鎖;如果午事務T申請熊不到原希望賄的鎖碑,事紫務T需等窄待,君直到書申請洪到所惑需要班的鎖煩之后稍,方成可繼氏續執園行。基于血鎖的接并發鋒控制秩方法鎖的乏粒度封鎖麗數據殖對象甲的單恭位稱舒鎖的滑粒度毛,指若被封召鎖的捆數據雨對象娛的大搶小。葬鎖的葡粒度今也稱重鎖的械大小愿。系猛統根致據自采己的酬實際取情況毫確定呈鎖的忠粒度懷,鎖肥的粒偶度可伶以是鼓關系片的屬誤性(變或字委段)賞、關半系的帶元組玻(或個記錄須)、河關系傍(也科稱文療件)齒或整界個數耽據庫外等。蒸系統耳的并荒發度畢與鎖棍粒度填成反蠟比。懼鎖粒謙度越真大,界系統滲的開察銷越飼小,紐奉但降鐘低了漿并發誼度。粒度開銷并發度小大高大小低兩段栽封鎖朽協議兩段挺封鎖暴協議(2保PL進)是數號據庫肝系統如中解價決并旱發控倚制的罰重要技方法灘之一濫,保撓證事穿務的析可串鋤行性為調度情。2P伴L的實漂現思春想是血將事斤務中壁的加侵鎖操暈作和哀解鎖摔操作丟分兩賭階段頌完成時,要狡求并蟻發執美行的帳多個辮事務拾要在圈對數稀據操國作之坦前進匯行加搏鎖,鉆且每漲個事診務中絡的所附有加來鎖操極作要健在解精鎖操燥作以胸前完料成。兩段蜻封鎖乓協議夸分為侵:基本晝的兩而段封億鎖協竭議嚴格比的兩胡段封蔥鎖協術議鎖的婆種類牛:顯扛式鎖挽,用偽戶加婆封鎖旗命令潑實現揭;隱式魔鎖,沸系統帳自動管加鎖仿實現享。兩段救封鎖項協議基本熔的兩干段封瘡鎖協喂議基本撥的兩堂段封咳鎖協么議分局加鎖薪階段莊和解搜鎖階互段。階段1:加剪鎖階脊段事務撇在讀焰寫一圖個數臟據項耕之前尖,必緞須對既其加擁鎖;如果寧該數廚據項也被其女它使叛用者桃已加離上不昌相容逆的鎖蹤蝶,芬則必駁須等謊待。階段2:解帽鎖階假段事務海在釋箭放鎖扭之后究,不威允許揮再申桑請其濾它鎖對;兩段酷封鎖藥協議基本恐的兩饞段封數鎖協去議鎖的個數時間加鎖解鎖事務開始執行事務執行結束操作兩階志段封販鎖協聚議是瓶否可棄以解恰決并幕發事孟務帶稼來的3個錯義誤?階段1階段2兩段殿封鎖立協議基本兔的兩埋段封松鎖協狠議(2政)不能夫重復捷讀錯噴誤T1T2讀鎖x=掏10扯0讀鎖x=停10肢0寫鎖x=悼80沖突等待t當事候務T2申請買寫鎖憑時,蓬不能誦申請育成功旋,必湖須等沈待,與當事翼務T1再次稈讀數悟據項x時,筍讀取瀉的x值與芝第一左次讀其到的館值相執同,湯避免臭了不敘能重導復讀暈錯誤著。兩段檢封鎖約協議基本辱的兩坐段封嗽鎖協銷議(2牧)不能慮重復甲讀錯犯誤T1T2讀鎖x=100讀鎖x=100寫鎖x=80沖突等待t當事剩務T2申請疲寫鎖特時,珍不能提申請神成功緒,必偵須等撫待,錦當事句務T1再次糕讀數坐據項x時,腹讀取賤的x值與罰第一蛋次讀講到的如值相匆同,較避免孕了不銳能重伍復讀胸錯誤甚。兩段迷封鎖舅協議基本撕的兩拳段封壇鎖協仁議(3適)讀臟脖數據翁錯誤事務T1申請醬寫鎖下后,姻寫x=紡80。此雹時事壩務T2申請銳讀鎖富失敗緣瑞,必紡須等驅待。甜當事近務T1產生良故障吐中斷槍時,梯廢棄種事務T1的執逝行,帖即執朗行un它do,使x恢復夠為原園值10汁0,并欺釋放廢對x加的朵寫鎖伐。此即時事胳務T2申請牽到讀蘆鎖,全讀取x值,x值為血原值10隔0,而械不是砌事務T1的臟環數據80。T1T2寫鎖x=80abort(釋放寫鎖)讀鎖x=100沖突等待t申請到讀鎖x=100兩段克封鎖尚協議嚴格洽的兩野段封默鎖協葉議嚴格蔑的兩雄段封共鎖協糖議與叼基本捆的兩涉段封鞭鎖協巖議內部容基扯本上座是一起致的徹,只譽是解蘋鎖時陵刻不考同。閃嚴格系的兩擴段封峰鎖協分議(2P禿L)是追在事麥務結喉束時章才啟棕動解禽鎖,炒保證搭了事丟務所慣更新竄數據溪的永勤久性草。采誼用兩遵段封槽鎖協內議(2P籮L)的格事務稠執行存過程艷為:be妹gi病n_釣tr麻an脈sa惕ct雪io思n→加鎖奪→操磨作→co淘mm極it濫/a膀bo延rt困→解鎖女。兩段銳封鎖哲協議嚴格霸的兩令段封恩鎖協烘議鎖的個數解寫鎖寫日志/undo解讀鎖事務開始執行事務執行結束操作commit/abort時間階段1階段2(1驢)對co調mm缺it的處愛理?釋放喪讀鎖青;?寫日掀志;?釋放備寫鎖勵;(2茶)對ab吐or責t的處谷理?釋放導讀鎖濁;?蘋un回do處理伐;?釋放嫌寫鎖百;分布念式數呆據庫境的并存發控讓制基于夾鎖的瞞并發侵控制勾方法紹、時竟間戳臥方法酷、樂躬觀方鑒法等并發控制算法悲觀法加鎖法混合法時間戳法集中式加鎖基本時間戳法多版本時間戳法保守時間戳法樂觀法加鎖法時間戳法主副本加鎖分布式加鎖分布糧式數產據庫俱的并新發控尺制基于殘鎖的顆并發辱控制煤方法運的實哭現(1單)集中似式的朗實現縣方法參與者場地DP協調者場地TM(1)加鎖請求(2)允許加鎖(3)操作(4)操作結束(5)釋放鎖中心場地LM優點趁:實秀現簡艘單,騾方便眾管理愁;缺點輸:中炮心場澤地負搞載重頂,單塵點失詳效;集中俯式實劣現方扯法是翅在分眾布庫顛中設訓立一兩個2P詠L調度掩器,移所有暮封鎖肝請求習均由襯該調雄度器犁完成議,每孩個場別地的項事務還管理稠器都寄和該戚調度寬器通該信。分布之式數鍋據庫快的并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論