版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
Chapter16:ConcurrencyControlLock-BasedProtocolsMultipleGranularityDeadlockHandlingInsertandDeleteOperationsConcurrencyinIndexStructuresLock-BasedProtocolsAlockisamechanismtocontrolconcurrentaccesstoadataitemDataitemscanbelockedintwomodes:
1.exclusive(X)mode.Dataitemcanbebothreadaswellaswritten.X-lockisrequestedusinglock-Xinstruction.
2.shared(S)mode.Dataitemcanonlyberead.S-lockisrequestedusinglock-Sinstruction.Lockrequestsaremadetoconcurrency-controlmanager.Transactioncanproceedonlyafterrequestisgranted.Lock-BasedProtocols(Cont.)Lock-compatibilitymatrixAtransactionmaybegrantedalockonanitemiftherequestedlockiscompatiblewithlocksalreadyheldontheitembyothertransactionsAnynumberoftransactionscanholdsharedlocksonanitem,butifanytransactionholdsanexclusiveontheitemnoothertransactionmayholdanylockontheitem.Ifalockcannotbegranted,therequestingtransactionismadetowaittillallincompatiblelocksheldbyothertransactionshavebeenreleased.Thelockisthengranted.PitfallsofLock-BasedProtocolsConsiderthepartialschedule
NeitherT3norT4canmakeprogress—executinglock-S(B)causesT4towaitforT3toreleaseitslockonB,whileexecutinglock-X(A)causesT3
towaitforT4toreleaseitslockonA.Suchasituationiscalledadeadlock.TohandleadeadlockoneofT3orT4mustberolledback
anditslocksreleased.PitfallsofLock-BasedProtocols(Cont.)Thepotentialfordeadlockexistsinmostlockingprotocols.Deadlocksareanecessaryevil.Starvationisalsopossibleifconcurrencycontrolmanagerisbadlydesigned.Forexample:AtransactionmaybewaitingforanX-lockonanitem,whileasequenceofothertransactionsrequestandaregrantedanS-lockonthesameitem.Thesametransactionisrepeatedlyrolledbackduetodeadlocks.Concurrencycontrolmanagercanbedesignedtopreventstarvation.TheTwo-PhaseLockingProtocolTwo-PhaseLockingisaprotocolwhichensuresconflict-serializableschedules.Phase1:GrowingPhasetransactionmayobtainlockstransactionmaynotreleaselocksPhase2:ShrinkingPhasetransactionmayreleaselockstransactionmaynotobtainlocksTheprotocolassuresserializability.Itcanbeprovedthatthetransactionscanbeserializedintheorderoftheirlockpoints
(i.e.thepointwhereatransactionacquireditsfinallock).TheTwo-PhaseLockingProtocol(Cont.)Theremaybeconflictserializableschedulesthatcannotbeobtainediftwo-phaselockingisused.Toobtainconflictserializableschedulesthoughnon-two-phaselockingprotocol,weneed:EithertohaveadditionalinformationaboutthetransactionsOrtoimposesomestructureororderingonthesetofdateitemsinthedatabase.LockConversionsLockConversions:OnlyacquireXlockwhennecessary.ProvideamechanismforupgradingaSlocktoaXlock.Two-phaselockingwithlockconversions:–FirstPhase:canacquirealock-Sonitemcanacquirealock-Xonitemcanconvertalock-Stoalock-X(upgrade)–SecondPhase:canreleasealock-Scanreleasealock-Xcanconvertalock-Xtoalock-S
(downgrade)Thisprotocolassuresserializability.Butstillreliesontheprogrammertoinsertthevariouslockinginstructions.AutomaticAcquisitionofLocks
(CommercialDBMSUses)AtransactionTiissuesthestandardread/writeinstruction,withoutexplicitlockingcalls.Theoperationread(D)isprocessedas:ifTihasalockonD
thenread(D)elsebegin
ifnecessarywaituntilnoothertransactionhasalock-XonDgrantTialock-SonD;read(D)endOtherConcurrencyControlProtocolsGraph-BasedLockingProtocol–TreeprotocolMaintainpartialorderingofalldataitems.OnlyXlockGuaranteeconflictserializableTimestamp-BasedProtocolValidation-BasedProtocolMultipleGranularityAllowdataitemstobeofvarioussizesanddefineahierarchyofdatagranularities,wherethesmallgranularitiesarenestedwithinlargeronesCanberepresentedgraphicallyasatreeWhenatransactionlocksanodeinthetreeexplicitly,itimplicitlylocksallthenode'sdescendentsinthesamemode.Granularityoflocking(levelintreewherelockingisdone):finegranularity(lowerintree):highconcurrency,highlockingoverheadcoarsegranularity
(higherintree):lowlockingoverhead,lowconcurrencyExampleofGranularityHierarchy
Thehighestlevelintheexamplehierarchyistheentiredatabase.Thelevelsbelowareoftypearea,fileandrecordinthatorder.CompatibilityMatrixwith
IntentionLockModesThecompatibilitymatrixforalllockmodesis:ISIXSSIXXISIXSSIXXMultipleGranularityLockingSchemeTransactionTicanlockanodeQ,usingthefollowingrules:1.Thelockcompatibilitymatrixmustbeobserved.2.Therootofthetreemustbelockedfirst,andmaybelockedinanymode.3.AnodeQcanbelockedbyTiinSorISmodeonlyiftheparentofQiscurrentlylockedbyTiineitherIXorISmode.4.AnodeQcanbelockedbyTiinX,SIX,orIXmodeonlyiftheparentofQiscurrentlylockedbyTiineitherIXorSIXmode.5.Ticanlockanodeonlyifithasnotpreviouslyunlockedanynode(thatis,Ti
istwo-phase).6.Ti
canunlockanodeQonlyifnoneofthechildrenofQarecurrentlylockedbyTi.Observethatlocksareacquiredinroot-to-leaforder,
whereastheyarereleasedinleaf-to-rootorder.DeadlockHandlingConsiderthefollowingtwotransactions:
T1:write(X)T2:write(Y)write(Y)write(X)SchedulewithdeadlockT1T2lock-XonXwrite(X)lock-XonYwrite(X)waitforlock-XonXwaitforlock-XonYMoreDeadlockPreventionStrategiesFollowingschemesusetransactiontimestampsforthesakeofdeadlockpreventionalone.wait-diescheme—non-preemptiveoldertransactionmaywaitforyoungeronetoreleasedataitem.Youngertransactionsneverwaitforolderones;theyarerolledbackinstead.atransactionmaydieseveraltimesbeforeacquiringneededdataitemwound-waitscheme—preemptiveoldertransactionwounds(forcesrollback)ofyoungertransactioninsteadofwaitingforit.Youngertransactionsmaywaitforolderones.maybefewerrollbacksthanwait-diescheme.Wait-dievs.Wound-waitThreetransactions:A,B,Corderedbystartingtime.BheldalockondataitemY.ThenWait-dieWound-waitAacquireYWaitBrollback;AgrantedthelockonYCacquireYCrollbackWaitDeadlockprevention(Cont.)Bothinwait-dieandinwound-waitschemes,arolledbacktransactionsisrestartedwithitsoriginaltimestamp.Oldertransactionsthushaveprecedenceovernewerones,andstarvationishenceavoided.Timeout-BasedSchemes:atransactionwaitsforalockonlyforasp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年粵人版選擇性必修3生物上冊階段測試試卷含答案
- 2025年冀教新版高二化學下冊階段測試試卷含答案
- 2025年人教版必修1物理上冊階段測試試卷
- 2025年冀教版六年級英語上冊階段測試試卷
- 2025年人教版PEP六年級英語下冊月考試卷
- 2024版離職保密協(xié)議范本3篇
- 2025年人教五四新版一年級語文下冊月考試卷
- 2025年仁愛科普版九年級生物下冊階段測試試卷含答案
- 2025年浙科版一年級語文下冊階段測試試卷含答案
- 2025年人民版九年級生物上冊階段測試試卷
- 居間合同范本解
- 港口物流協(xié)同優(yōu)化算法設計
- 2024北京市公安局平谷分局勤務輔警人員招聘筆試參考題庫含答案解析
- 單位信息化建設IT建設項目后評估報告(模板)
- 抖音團購培訓
- 婦科病盆腔炎病例討論
- 有余數(shù)的除法算式300題
- 機動車檢測行業(yè)年終總結(jié)
- 2024年高考作文素材積累:飯圈文化
- 《深度學習應用開發(fā)》 課程標準(含課程思政)
- 2024年河北省高職院校單招《職業(yè)技能測試》參考試題庫(含答案)
評論
0/150
提交評論