欢迎来到天天文库
浏览记录
ID:37840567
大小:241.10 KB
页数:27页
时间:2019-06-01
《浙江大学数据库系统概念PPT第十六章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chapter16:ConcurrencyControlLock-BasedProtocolsMultipleGranularityDeadlockHandlingInsertandDeleteOperationsConcurrencyinIndexStructuresLock-BasedProtocolsAlockisamechanismtocontrolconcurrentaccesstoadataitemDataitemscanbelockedintwomodes:1.exclusive(X)mode.Dataitemcanbeb
2、othreadaswellaswritten.X-lockisrequestedusinglock-Xinstruction.2.shared(S)mode.Dataitemcanonlyberead.S-lockisrequestedusinglock-Sinstruction.Lockrequestsaremadetoconcurrency-controlmanager.Transactioncanproceedonlyafterrequestisgranted.Lock-BasedProtocols(Cont.)Lock-comp
3、atibilitymatrixAtransactionmaybegrantedalockonanitemiftherequestedlockiscompatiblewithlocksalreadyheldontheitembyothertransactionsAnynumberoftransactionscanholdsharedlocksonanitem,butifanytransactionholdsanexclusiveontheitemnoothertransactionmayholdanylockontheitem.Ifalo
4、ckcannotbegranted,therequestingtransactionismadetowaittillallincompatiblelocksheldbyothertransactionshavebeenreleased.Thelockisthengranted.Lock-BasedProtocols(Cont.)Exampleofatransactionperforminglocking:T2:lock-S(A);read(A);unlock(A);lock-S(B);read(B);unlock(B);display(
5、A+B)Lockingasaboveisnotsufficienttoguaranteeserializability—ifAandBgetupdatedin-betweenthereadofAandB,thedisplayedsumwouldbewrong.Alockingprotocolisasetofrulesfollowedbyalltransactionswhilerequestingandreleasinglocks.Lockingprotocolsrestrictthesetofpossibleschedules.Basi
6、cally,howtogenerateacorrect(serializable)schedule?PitfallsofLock-BasedProtocolsConsiderthepartialscheduleNeitherT3norT4canmakeprogress—executinglock-S(B)causesT4towaitforT3toreleaseitslockonB,whileexecutinglock-X(A)causesT3towaitforT4toreleaseitslockonA.Suchasituationisc
7、alledadeadlock.TohandleadeadlockoneofT3orT4mustberolledbackanditslocksreleased.PitfallsofLock-BasedProtocols(Cont.)Thepotentialfordeadlockexistsinmostlockingprotocols.Deadlocksareanecessaryevil.Starvationisalsopossibleifconcurrencycontrolmanagerisbadlydesigned.Forexampl
8、e:AtransactionmaybewaitingforanX-lockonanitem,whileasequenceofothertransactionsrequestandaregrantedanS-
此文档下载收益归作者所有