欢迎来到天天文库
浏览记录
ID:55339927
大小:360.50 KB
页数:26页
时间:2020-05-14
《Crash Recovery - Texas State University:崩溃恢复-德克萨斯州立大学.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、CrashRecoveryChapter18Review:TheACIDpropertiesAtomicity:AllactionsintheXacthappen,ornonehappen.Consistency:IfeachXactisconsistent,andtheDBstartsconsistent,itendsupconsistent.Isolation:ExecutionofoneXactisisolatedfromthatofotherXacts.Durability:IfaXactcommits,itseffectspersist.
2、TheRecoveryManagerguaranteesAtomicity&Durability.MotivationAtomicity:Transactionsmayabort(“Rollback”).Durability:WhatifDBMSstopsrunning?(Causes?)crash!DesiredBehavioraftersystemrestarts:T1,T2&T3shouldbedurable.T4&T5shouldbeaborted(effectsnotseen).T1T2T3T4T5HandlingtheBufferPoo
3、lForceeverywritetodisk?Poorresponsetime.Butprovidesdurability.Stealbuffer-poolframesfromuncommitedXacts?Ifnot,poorthroughput.Ifso,howcanweensureatomicity?P541,ch16.7:stealingframesForceNoForceNoStealStealTrivialDesiredMoreonStealandForceSTEAL(whyenforcingAtomicityishard)Tostea
4、lframeF:CurrentpageinF(sayP)iswrittentodisk;someXactholdslockonP.WhatiftheXactwiththelockonPaborts?MustremembertheoldvalueofPatstealtime(tosupportUNDOingthewritetopageP).NOFORCE(whyenforcingDurabilityishard)Whatifsystemcrashesbeforeamodifiedpageiswrittentodisk?Writeaslittleasp
5、ossible,inaconvenientplace,atcommittime,tosupportREDOingmodifications.BasicIdea:LoggingRecordREDOandUNDOinformation,foreveryupdate,inalog.Sequentialwritestolog(putitonaseparatedisk).Minimalinfo(diff)writtentolog,somultipleupdatesfitinasinglelogpage.Log:AnorderedlistofREDO/UNDO
6、actionsWrite-AheadLogging(WAL)TheWrite-AheadLoggingProtocol:ChangetodatabaseisfirstrecordedinthelogRecordinthelogmustbewrittentostablestoragebeforethechangetodatabaseiswrittentodisk#1guaranteesAtomicity.#2guaranteesDurability.Exactlyhowislogging(andrecovery!)done?We’llstudythe
7、ARIESalgorithms.WAL&theLogEachlogrecordhasauniqueLogSequenceNumber(LSN).LSNsalwaysincreasing.EachdatapagecontainsapageLSN.TheLSNofthemostrecentlogrecordforanupdatetothatpage.SystemkeepstrackofflushedLSN.ThemaxLSNflushedsofar.WAL:BeforeapageiswrittenpageLSN£flushedLSNLSNsDBpage
8、LSNsRAMflushedLSNpageLSNLogrecordsflushedtodisk“Logtail”inRAM
此文档下载收益归作者所有