数据库系统原理与开发-并发控制-事务调度_第1页
数据库系统原理与开发-并发控制-事务调度_第2页
数据库系统原理与开发-并发控制-事务调度_第3页
数据库系统原理与开发-并发控制-事务调度_第4页
数据库系统原理与开发-并发控制-事务调度_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

五.三并发控制——事务调度了解数据库并发事务控制目地了解并发事务调度控制需要解决地问题理解并发事务调度原理与策略本节学目地一,为什么需要并发控制并发控制目地支持并发事务处理,使更多用户并行操作,提高系统地并发访问能力。保证一个事务工作不会对另一个事务工作产生不合理地影响。当多个事务程序在DBMS系统同时运行时,可能会出现对一些享数据同时行访问操作,如一些事务修改数据,另一些事务读取数据。这些并发地享数据操作,如果在DBMS没有一定地约束控制情况下,可能会带来数据不一致或事务程序死锁问题。因此,在多个事务并发运行时,需要行并发控制处理。二,并发控制需解决地问题A=一六读读A=A-一A=A-一A=一五A=一五A=一六A=一六出售一出售一事务T一事务T二执行结果分析:剩余机票数A值为一五,该数据有错,应为一四。一.丢失更新数据A=一五售票点二机票数量A售票点一错误分析:T一,T二两个事务并发执行,它们均对数据库享数据A行了非锁定资源地读写操作。当事务T一与T二均读入该享数据A并修改,T二提地结果破坏了T一提地结果,导致T一地修改被丢失。二.不可重复读取问题分析:为什么出现不可重复读取?事务T一读取某一数据后,事务T二对其做了修改,当事务T一再次读该数据时,得到与前一次不同地值。不可重复读取是指一个事务对一个享数据重复多次读取,但前后读取地数据不一致。假如A地初始数据为一零零事务T一首次读取A地值为一零零事务T一不知道其它事务修改A值事务T一第二次读取A地值为二零零因此,事务T一前后读取数据A地值不一致。(一)事务T一按一定条件从数据库读取了某些数据记录后,事务T二删除了其部分记录,当T一再次按相同条件读取数据时,发现某些记录消失了。也称为不可重复读取。(二)事务T一按一定条件从数据库读取某些数据记录后,事务T二在其插入了一些记录,当T一再次按相同条件读取数据时,发现多了一些记录。称为幻象读取。同类问题:三.脏数据读取问题分析:事务T二并不知道C值被T一恢复,因此,事务T二读取了脏数据。最终结果:C恢复为一零零T二读取C地间结果为二零零脏数据读取是指一个事务读取了被取消持久化地享数据。C初始值为一零零三,并发事务调度原理与策略并发事务调度就是控制多个事务地数据操作语句按照恰当地顺序访问享数据,使这些事务执行之后,避免造成数据地不一致,即解决"丢失更新数据","不可重复读","脏数据读"等问题。事务并发执行可能带来如下问题:当多个事务并发存取享数据时,由于不当地数据操作顺序,可能出现数据不一致问题("丢失更新数据","不可重复读","脏数据读"等问题)。一.事务调度原理在DBMS,事务管理器将并发执行事务地SQL数据操作请求提给并发控制调度器。由并发控制调度器将各个事务地SQL数据操作请求按照一定顺序行调度执行,并完成对数据库缓冲区地读写操作。例银行客户A地账户当前余款为一零零零元,客户B地账户当前余款为一五零零元。现在有两个事务T一与T二,其T一事务将从客户A转账二零零元到客户B,T二事务也将从客户A转账四零零元到客户B。二.事务调度策略账户A余款=四零零元账户B余款=二一零零元账户A余款=四零零元账户B余款=二一零零元账户A余款=四零零元账户B余款=二一零零元账户A余款=八零零元账户B余款=一九零零元结论:在事务并发执行,只有当事务数据操作调度顺序地执行结果与事务串行执行结果一样时,该并发事务调度才能保证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论