欢迎来到天天文库
浏览记录
ID:37840552
大小:479.10 KB
页数:31页
时间:2019-06-01
《浙江大学数据库系统概念PPT第十五章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chapter15:TransactionsTransactionConceptConcurrentExecutionsSerializabilityTestingforSerializabilityRecoverabilityTransactionDefinitioninSQLTransactionConceptE.g.Transactiontotransfer$50fromaccountAtoaccountB:1.read(A)4.read(B)2.A:=A–505.B:=B+503.write(A)6.write(BAt
2、ransactionisaunitofprogramexecutionthataccessesandpossiblyupdatesvariousdataitems.Atransactionmustseeaconsistentdatabase.Duringtransactionexecutionthedatabasemaybeinconsistent.Whenthetransactioniscommitted,thedatabasemustbeconsistent.Twomainissuestodealwith:Failures
3、ofvariouskinds,suchashardwarefailuresandsystemcrashesConcurrentexecutionofmultipletransactionsACIDPropertiesAtomicity.Eitheralloperationsofthetransactionareproperlyreflectedinthedatabaseornoneare.CommitatransactionRollbackatransactionConsistency.Executionofatransact
4、ioninisolationpreservestheconsistencyofthedatabase.Isolation.Althoughmultipletransactionsmayexecuteconcurrently,eachtransactionmustbeunawareofotherconcurrentlyexecutingtransactions.Intermediatetransactionresultsmustbehiddenfromotherconcurrentlyexecutedtransactions.D
5、urability.Afteratransactioncompletessuccessfully,thechangesithasmadetothedatabasepersist,eveniftherearesystemfailures.Topreserveintegrityofdata,thedatabasesystemmustensure:ExampleofFundTransferTransactiontotransfer$50fromaccountAtoaccountB:1.read(A)2.A:=A–503.write(
6、A)4.read(B)5.B:=B+506.write(B)Consistencyrequirement–thesumofAandBisunchangedbytheexecutionofthetransaction.Atomicityrequirement—ifthetransactionfailsafterstep3andbeforestep6,thesystemshouldensurethatitsupdatesarenotreflectedinthedatabase,elseaninconsistencywillresu
7、lt.FailurecouldbeduetosoftwareorhardwareExampleofFundTransfer(Cont.)Durabilityrequirement—oncetheuserhasbeennotifiedthatthetransactionhascompleted(i.e.,thetransferofthe$50hastakenplace),theupdatestothedatabasebythetransactionmustpersistdespitefailures.Isolationrequi
8、rement—ifbetweensteps3and6,anothertransactionisallowedtoaccessthepartiallyupdateddatabase,itwillseeaninconsistentdatabase(thesumA+Bwillbe
此文档下载收益归作者所有