网站大量收购独家精品文档,联系QQ:2885784924

事物与并发控制讲述.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.5两段锁协议 两段锁(简称2PL)协议是指所有事务 必须分为两个阶段对数据进行加锁和解锁, 内容为: 在对任何数据进行读、写操作之前,首先要获得对该数据的封锁 在释放一个封锁之后,事务不再申请和获得任何其他封锁 两段锁协议是实现可串行化调度的充分 条件。 两段锁的含义:将每个事务分成两个时期:申 请封锁期(开始对数据操作之前)和释放封锁 期(结束对数据操作之后),申请期申请要进 行的封锁,释放期释放所占有的封锁。在申请 期不允许释放任何锁,在释放期不允许申请任 何锁。 若某事务遵守两段锁协议,则其封锁序列为: 事务过程 开始 加锁段 分界 解锁段 LOCK段 UNLOCK段 明显的分为加锁 界所两个段 t 小结 事务、并发控制概念。 事务是保证数据并发性的重要方面。 并发控制是指当同时有多个事务在执行时,为了保证一个事务的执行不受其他事务的干扰所采取的措施。并发控制的主要方法是加锁,根据对数据操作的不同,锁分为共享锁和排他锁两种。为了保证并发执行的事务是正确的,一般要求事务遵守两段锁协议。 事物与并发控制 1 事务 2 并发控制 中央财经大学 马洪飞 2015211631 1 事务 1.1基本概念 例如:A帐户转帐给B帐户n元钱,这个活 动包含两个动作: 第一个动作:A帐户 - n 第二个动作:B帐户 + n 事务是用户定义的数据操作系列,这些操 作作为一个完整的工作单元,一个事务内的所 有语句被作为一个整体,要么全部执行,要么 全部不执行。 要让系统知道哪个动作属于一个事务,可通过标记事务的开始与结束来实现。在不同的事务处理模型中,事务的开始标记不完全一样,但事务的结束标记是一样的。事务的结束标记有两种:一种是正常结束,用COMMIT表示,也就是事务中的操作会保存到数据库中成为永久的操作;另一种是异常结束,用ROLLBACK表示也就是事务中的操作被全部撤销,数据库回到事务开始之前的状态。 1.2事务的特性 原子性(Consistency) 指事务是数据库的逻辑工作单位,事务中的操 作要么都做,要么都不做。 一致性(Atomicity) 指事务执行的结果必须是使数据库从一个一致性 状态变到另一个一致性状态。 隔离性(Isolation) 指数据库中一个事务的执行不能被其它事务干扰 持久性(Durability) 也称永久性(Permanence),指事务一旦提交, 则其对数据库中数据的改变就是永久的。 2并发控制 一个事务完成后,再开始另一个事务,这种 执行方式为串行执行;如果DBMS可同时接受多个 事务,这些事务在时间上可重叠执行,这种执行 方式为并发执行。 在单CPU系统中,同一时间只能有一个事务 占据CPU,各个事务交叉使用CPU,这种并发方式 称为交叉并发;在多CPU系统中,多个事务可同 时占有CPU,这种并发方式称为同时并发。 2.1并发控制概述 数据库中的数据是一个共享的资源,因此 会有很多用户同时使用数据库中的数据,也就 是在多用户系统中,可能同时运行着多个事 务,而事务的运行需要时间和一定的数据。那 么当系统中同时有多个事务在运行时,特别是 当这些事务是对同一段数据进行操作时,彼此 之间就有可能产生相互的干扰情况。 并发操作所带来的数据不一致情况有: 丢失修改、不可重复读、 读“脏”数据、产生“幽灵”数据 1、丢失数据修改 指两个事务T1和T2读入同一数据并进行修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被T2覆盖了。 1、丢失修改 两个事务T1和T2读入同一数据并进行修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被T2覆盖了 2、读“脏数据” 指一个事务读取了某个失败事务运行过程中的数据。 3、不可重复读 4、产生“幽灵”数据 实际属于不可重复读的范畴。指当事务 T1按一定条件从数据库中读取了某些数据记 录后,事务T2删除了其中的部分记录,或者 在其中添加了部分记录,则当T1再次按相同 条件读取数据时,发现其中少了(对删除) 或多了(对插入)一些记录。这样的数据对 T1来说就是“幽灵”数据或称“幻影”数据。 2.2并发控制措施 并发控制的主要方式是封锁机制,即加锁 (Locking)。 加锁就是限制事务内和事务外对数据的操作。 所谓加锁就是事务T在操作某个数据之前, 先向系统发出请求,封锁其所要使用的数据。 加锁后事务T对要操作的数据具有了一定的控制 权,在事务T释放它的锁之前,其他事务不能操 作这些数据。 基本的锁类型有两种:排它锁(也称为X锁) 和共享

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档