第11章并发控制ppt课件.ppt

第11章并发控制ppt课件.ppt

ID:59494862

大小:208.50 KB

页数:34页

时间:2020-09-13

第11章并发控制ppt课件.ppt_第1页
第11章并发控制ppt课件.ppt_第2页
第11章并发控制ppt课件.ppt_第3页
第11章并发控制ppt课件.ppt_第4页
第11章并发控制ppt课件.ppt_第5页
资源描述:

《第11章并发控制ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、并发控制第11章要点并发操作及影响并发操作的可串行性并发控制及实现技术序言事务并行地运行可充分利用系统资源,事务是并发控制的基本单位多用户数据库系统中允许多个用户同时使用数据库,即在同一时刻可能有多个事务并行运行同时并行方式单处理机系统中,事务并行实际上是这些事务的并行操作轮流交叉运行交叉并行方式并发控制机制的提出当多个用户并发地存取数据库时可能出现多个事务同时存取同一数据的情况,并发控制机制将对这些并发操作加以控制以保证每个事务的ACID特性,确保数据库的一致性并发控制机制是衡量某DBMS系统性能的指标之一11.1并发控制概述这种数据库的不一致是由并发操作引起的机票数量

2、AA=16读读A=A-1A=A-1A=15A=15售票点售票点A=16A=16出售1出售1事务T1事务T2并发操作引起的丢失修改并发操作引起的数据不一致性包括三类丢失修改不可重复读读脏数据丢失修改事务T1对数据的修改被事务T2的修改覆盖T1读A=16A=A-1写回A=15T2读A=16A=A-1写回A=15并发操作引起的不可重复读不可重复读事务T1读取某一数据后,事务T2对其做了修改,当T1按同样条件再读时得到不同的值事务T1读取某些数据后,事务T2删除(或插入)了一些记录,当T1按同样条件再读时发现少(或多)了一些记录T1读A=1,B=2求A+B=3读A=1,B=4求A+B

3、=5T2读B=2B=B*2写回B=4并发操作引起的读脏数据读脏数据事务T1修改了某数据并写回磁盘,事务T2读取了同一数据后,T1由于某种原因被撤销,被修改的值复原,此时T2读到的数据与数据库中的数据不一致T1读C=1C=C*2写回C=2ROLLBACKC恢复为1T2读C=2小结产生上述三类不一致性的主要原因并发操作破坏了事务的隔离性,事务间相互干扰并发控制的主要技术封锁技术(Locking)★时间戳技术(Timestamp)其他11.2封锁概念事务T在对某个数据对象(如数据库、表、记录等)操作之前,首先向系统发出加锁请求以便获得对数据对象相应的控制在事务T释放它所获得的锁之前

4、,其他事务不能更新此数据对象锁的类型排它锁(eXclusivelock):写锁若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁共享锁(Sharelock):读锁若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁锁的相容矩阵Y:相容的请求N:不相容的请求T2T1XS-XS-T2T1XS-XNNYSNYY-YYY11.3封锁协议有了两种基本封锁,还需要什么约定?封锁协议的概念何时申请加锁、持锁时间、何时释放等规则不同的封锁协议所达到的系统一致性不同

5、三个级别的封锁协议一级封锁协议内容:事务T在修改数据R之前必须先对其加X锁,直至事务结束事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)评价:是否可解决丢失修改?可重复读?读脏数据?可防止×不能保证×不能防止三个级别的封锁协议二级封锁协议内容:读数据前加S锁,读完即释放写数据前加X锁直至事务结束评价:是否可解决丢失修改?可重复读?读脏数据?可防止×不能保证可防止三个级别的封锁协议三级封锁协议内容:读数据前加S锁直至事务结束写数据前加X锁直至事务结束评价:是否可解决丢失修改?可重复读?读脏数据?可防止能保证可保证T1T2T1T2T1T2XlockA获得Xlo

6、ckA读A=16A=A-1写回A=15CommitUnlockAXlockA等待等待获得XlockA读A=15CommitUnlockA等待等待A=A-1写回A=14SlockASlockB读A=50求和=150读A=50CommitUnlockAXlockB等待等待获得XlockB读B=100CommitUnlockB等待等待B=B*2写回B=200读B=100读B=100求和=150UnlockB等待等待等待等待XlockC读C=100C=C*2写回C=200Rollback(C恢复为100)UnlockCSlockC等待等待获得SlockC读C=100CommitUnl

7、ockC等待没有丢失修改可重复读不读脏数据用封锁机制解决三种数据不一致性的示例不同级别的封锁协议X锁S锁一致性保证操作结束释放事务结束释放操作结束释放事务结束释放不丢失修改不读脏数据可重复性一级二级三级11.4活锁和死锁问题活锁举例说明:事务T1封锁某数据后,事务T2请求封锁未获得并等待,而T1释放锁后,事务T3请求封锁并获得,T3释放锁后,事务T4请求封锁并获得……T2可能永远等待解决办法:采用先来先服务的策略死锁问题死锁举例说明:事务T1和T2各自封锁了数据R1和R2后,又各自

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。