chap事务处理并发控制与恢复技术.pptx
《chap事务处理并发控制与恢复技术.pptx》由会员分享,可在线阅读,更多相关《chap事务处理并发控制与恢复技术.pptx(43页珍藏版)》请在咨信网上搜索。
1、本章目标本章目标本章结束时,学员能够:n了解事务的概念和了解事务的概念和ACID特性特性n掌握并发控制和封锁技术的概念掌握并发控制和封锁技术的概念n理解并发调度的可串行性及两段锁协议理解并发调度的可串行性及两段锁协议n了解封锁粒度了解封锁粒度n了解数据库系统的故障种类了解数据库系统的故障种类n理理解解数数据据库库恢恢复复的的实实现现技技术术和和常常见见故故障障的的恢恢复策略复策略n了解数据库镜像技术了解数据库镜像技术5.1事务的基本概念事务的基本概念n事务的概念:事务的概念:所所谓谓事事务务是是用用户户定定义义的的一一个个数数据据库库操操作作序序列列,这这些些操操作作要要么么全全做做要要么么全
2、全不不做做,是是一一个个不不可可分割的工作单位。分割的工作单位。例例如如,在在关关系系数数据据库库中中,一一个个事事务务可可以以是是一一条条SQL语句、一组语句、一组SQL语句或整个程序。语句或整个程序。事事务务是是一一个个逻逻辑辑工工作作单单元元,同同时时又又是是一一个个恢恢复单元复单元一一个个事事务务提提交交之之后后,数数据据库库又又处处于于或或应应该该处处于一个一致性状态于一个一致性状态5.1事务的基本概念事务的基本概念n“一一荣荣俱俱荣荣,一一损损俱俱损损”这这句句话话很很能能体体现现事事务务的的思思想想,很很多多复复杂杂的的事事物物要要分分步步进进行行,但但它它们们组组成成一一个个整
3、整体体,要要么么整整体体生生效效,要要么么整整体体失失效效。这这种种思思想想反反映映到到数数据据库库上上,就就是是多多个个SQL语语句句,要要么么所所有有执执行行成功,要么所有执行失败。成功,要么所有执行失败。5.1.1 事务事务(续续)n定义事务的三条语句:定义事务的三条语句:BEGIN TRANSACTIONCOMMITROLLBACKSQL中中事事务务以以Begin transaction开开始始,以以Commit 或或 Rollback 结束结束Commit 表表示示提提交交,即即提提交交事事务务的的所所有有操操作作,事事务务正正常常结束。结束。Rollback 表表示示事事务务非非正
4、正常常结结束束,撤撤消消事事务务已已做做的的操操作作,回滚到事务开始时状态回滚到事务开始时状态SQL Server 的事务模式:n自动提交事务每每条条单单独独的的语语句句都都是是一一个个事事务务。每每条条语语句句后后都都隐隐含含一一个个COMMITn显式事务每每个个事事务务均均以以 BEGIN TRANSACTION 语语句句显显式式开开始始,以以 COMMIT 或或 ROLLBACK 语句显式结束。语句显式结束。n隐性事务在在前前一一个个事事务务完完成成时时新新事事务务隐隐式式启启动动,但但每每个个事事务务仍仍以以 COMMIT 或或 ROLLBACK 语语句句显显式式完完成成。(如如UPD
5、ATE/INSERT/DELETE)n自动提交模式是自动提交模式是 Microsoft SQL Server 的默认事务管理模式。的默认事务管理模式。5.1.1 事务事务(续续)5.1.2 事务的事务的ACID特性特性n事务的事务的ACID特性:特性:原子性原子性(Atomicity)一致性一致性(Consistency)隔离性隔离性(Isolation)持续性持续性(Durability)事务是并发控制和恢复的基本单位。保证事务ACID特性是事务处理的重要任务。5.1.2事务的事务的ACID特性特性(续续)原子性(Atomicity):事事务务中中包包含含的的所所有有操操作作要要么么全全做做
6、,要要么么全全不不做做原子性由原子性由恢复机制实现实现5.1.2事务的事务的ACID特性特性(续续)一致性(Consistency)事务的隔离执行必须保证数据库的一致性事务的隔离执行必须保证数据库的一致性事事务务开开始始前前,数数据据库库处处于于一一致致性性的的状状态态;事事务务结束后,数据库必须仍处于一致性状态结束后,数据库必须仍处于一致性状态数据库的一致性状态,由数据库的一致性状态,由并发控制机制实现实现如如银银行行转转帐帐,转转帐帐前前后后两两个个帐帐户户金金额额之之和和应应保保持不变持不变5.1.2事务的事务的ACID特性特性(续续)隔离性(IsolationIsolation)一个事
7、务的执行不能被其他事务干扰。一个事务的执行不能被其他事务干扰。系系统统必必须须保保证证事事务务不不受受其其它它并并发发执执行行事事务务的的影影响响对对任任何何一一对对事事务务T T1 1,T T2 2,在在T T1 1看看来来,T T2 2要要么么在在T T1 1开开始始之之前前已已经经结结束束,要要么么在在T T1 1完完成成之之后后再再开开始执行始执行隔离性通过隔离性通过并发控制机制实现实现持久性(Durability)也也称称为为永永久久性性,指指一一个个事事务务一一旦旦提提交交之之后,它对数据库的影响必须是永久的后,它对数据库的影响必须是永久的系统发生故障不能改变事务的持久性系统发生故
8、障不能改变事务的持久性持久性通过持久性通过恢复机制实现实现5.1.2事务的事务的ACID特性特性(续续)5.1.3事务调度事务调度n事务的调度事务的调度事事务务的的执执行行顺顺序序称称为为一一个个调调度度,表表示示事事务务的的指指令令在在系系统统中中执行的时间顺序执行的时间顺序一组事务的调度必须保证一组事务的调度必须保证n包含了所有事务的操作指令包含了所有事务的操作指令n一个事务中指令的顺序必须保持不变一个事务中指令的顺序必须保持不变n调度可以分为串行调度和并行调度两种调度可以分为串行调度和并行调度两种 串行调度串行调度n在串行调度中,属于同一事务的指令紧挨在一起在串行调度中,属于同一事务的指
9、令紧挨在一起n对于有对于有n个事务的事务组,可以有个事务的事务组,可以有n!个有效调度!个有效调度并行调度并行调度n在并行调度中,来自不同事务的指令可以交叉执行在并行调度中,来自不同事务的指令可以交叉执行n当并行调度等价于某个串行调度时,则称它是正确的当并行调度等价于某个串行调度时,则称它是正确的5.1.3事务调度事务调度n并行与串行的对比:、并行与串行的对比:、并并行行调调度度可可以以使使事事务务并并发发执执行行,以以提提高高系系统统的的吞吞吐量,但可能会破坏数据库的一致性;吐量,但可能会破坏数据库的一致性;串行调度导致时延,效率低。串行调度导致时延,效率低。调调度度的的核核心心问问题题应应
10、该该在在保保证证一一致致性性的的前前提提下下最最大大限度地提高并发度限度地提高并发度5.2并发操作并发操作n并发操作:并发操作:当当多多个个用用户户同同时时存存取取数数据据库库就就会会产产生生对对数数据据库库的的并并发操作。发操作。并并发发操操作作打打破破了了事事务务一一个个一一个个执执行行的的顺顺序序,会会破破坏坏事事务务的的ACID特特性性,从从而而会会使使数数据据库库处处于于数数据据不不一一致性状态。致性状态。为为了了充充分分利利用用系系统统资资源源,发发挥挥数数据据库库共共享享资资源源的的特点,应该允许多个事务并行地执行。特点,应该允许多个事务并行地执行。5.2并发操作并发操作(续续)
11、并发操作带来的数据不一致性:n考虑飞机订票系统中的一个活动序列:考虑飞机订票系统中的一个活动序列:甲甲售售票票点点(甲甲事事务务)读读出出某某航航班班的的机机票票余余额额A,假假设设A为为16;乙乙售售票票点点(乙乙事事务务)读读出出同同一一航航班班的的机机票票余余额额A,也为也为16;甲甲售售票票点点卖卖出出一一张张机机票票,修修改改余余额额A=A-1,所所以以A为为15,把,把A写回数据库;写回数据库;乙乙售售票票点点也也卖卖出出一一张张机机票票,修修改改余余额额A=A-1,所所以以A为为15,把,把A写回数据库;写回数据库;5.3并发控制技术并发控制技术n为为了了保保证证数数据据一一致致
12、性性,DBMS必必须须提提供供并并发发控控制制机机制制,对对并并发发操操作作进进行行正正确确的的调调度度。并并发发控控制制机机制制是是衡衡量量一一个个数数据据库库管管理理系系统统性性能能的的重重要要标志之一。标志之一。n并并发发控控制制就就是是用用正正确确的的方方式式调调度度并并发发操操作作,使使一一个个用用户户事事务务的的执执行行不不受受其其他他事事务务的的干干扰扰,从从而避免造成数据的不一致性。而避免造成数据的不一致性。n并发控制的主要技术是并发控制的主要技术是 封锁(封锁(Locking)5.3并发控制技术并发控制技术n封锁封锁n并发调度的可串行性并发调度的可串行性n两段锁协议两段锁协议
13、n封锁的粒度封锁的粒度5.3.1封锁封锁n封锁:封锁:所所谓谓封封锁锁就就是是事事务务T在在对对某某个个数数据据对对象象例例如如表表、记记录录等等操操作作之之前前,先先向向系系统统发发出出请请求求,对对其其加加锁锁。加加锁锁后后事事务务T就就对对该该数数据据对对象象有有了了一一定定的的控控制制,在在事事务务T释释放放它它的的锁锁之之前前,其他的事务不能更新此数据对象。其他的事务不能更新此数据对象。n基本的封锁类型:基本的封锁类型:排它锁排它锁(Exclusive Locks,简称简称X锁锁)共享锁共享锁(Share Locks,简称简称S锁锁)5.3.1封锁封锁排它锁排它锁(Exclusive
14、 Locks,简称简称X锁锁)也也称称为为写写锁锁,若若事事务务T给给对对象象A加加上上X锁锁后后,则则只只允允许许T读读取取和和修修改改A,其其它它事事务务都都不不能能再再对对A加加任任何何类类型型锁锁,直直到到T释释放放A上上的的锁锁。可可以以保保证证X锁释放之前不能再读取和修改锁释放之前不能再读取和修改A共享锁共享锁(Share Locks,简称简称S锁锁)又又称称读读锁锁,事事务务T给给对对象象A加加上上S锁锁后后,事事务务T可可以以读读取取但但不不能能修修改改A;其其他他事事务务只只能能对对A加加S锁锁,但不能加但不能加X锁,直到事务锁,直到事务T释放释放S锁。锁。5.3.2并发调度
15、的可串行性并发调度的可串行性n可串行化调度:可串行化调度:多多个个事事务务的的并并发发执执行行是是正正确确的的,当当且且仅仅当当其其结结果果与与按按某某一一次次序序串串行行地地执执行行它它们们时时的的结结果果相相同同,我我们们称称这种调度策略为可串行化的调度。这种调度策略为可串行化的调度。串串行行性性调调度度策策略略是是一一种种正正确确的的高高度度策策略略,因因为为他他不不会将数据库置于不一致状态。会将数据库置于不一致状态。n可串行性:可串行性:是是并并发发事事务务正正确确性性的的准准则则。按按这这个个准准则则规规定定,一一个个给给定定的的并并发发调调度度,当当且且仅仅当当它它是是可可串串行行
16、化化的的,才才认认为为是是正正确确调调度度。目目前前DBMS普普遍遍采采用用封封锁锁方方法法实实现现并发操作调度的可串行性。并发操作调度的可串行性。5.3.3两段锁协议两段锁协议n两段锁协议:两段锁协议:是是指指所所有有事事务务必必须须分分两两个个阶阶段段对对数数据据项项加加锁锁和和解锁解锁第第一一阶阶段段(获获得得封封锁锁):在在对对任任何何数数据据进进行行读读、写写操操作作之之前前,首首先先要要申申请请并并获获得得对对该该数数据据的的封封锁锁,但但不能释放任何锁;不能释放任何锁;第第二二阶阶段段(释释放放封封锁锁):事事务务可可以以释释放放任任何何数数据据项项上的任何类型的锁,但不能再申请
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- chap 事务处理 并发 控制 恢复 技术
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。