- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[chap11并发控制
Lecture 11 并发控制 邯郸学院计算机 张延军 Zhang Yan-jun Department of Computer, Handan College Outline 11.1 并发控制概述 11.2 封锁 11.3 活锁和死锁 11.4 并发调度的可串行性 11.5 两段锁协议 11.6 封锁的粒度 11.7 小结 问题的提出 多用户数据库系统:允许多个用户同时使用的数据库系统。例如:飞机定票数据库系统、银行数据库系统。 特点:在同一时刻并发运行的事务数可达数百个 。 事务的执行方式: 1.串行执行:不能充分利用系统资源,效率低下。 2.单处理机系统并发执行:宏观上并行,微观上串行。 3.多处理机系统并行执行:真正的并行。 事务并发执行可能带来一些与时间相关的问题。 11.1 并发控制概述 事务是并发控制的基本单位,保证事务ACID特性是事务处理的重要任务,而事务ACID特性可能遭到破坏的原因之一是多个事务对数据库的并发操作造成的。 并发控制机制的任务: 对并发操作进行正确调度 保证事务的隔离性 保证数据库的一致性 并发操作带来的数据不一致性包括: 一.丢失修改(Lost Update) 二.不可重复读(Non-Repeatable Read) 三.读脏数据(Dirty Read) 并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐观控制法。商用的DBMS一般都采用封锁方法。 11.2 封锁 封锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。 基本封锁类型: 排它锁(Exclusive Locks,简记为X锁):若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。 共享锁(Share Locks,简记为S锁):若事务T对数据对象A加上S锁,则其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。 封锁类型的相容矩阵: 使用封锁机制解决丢失修改问题 使用封锁机制解决可重复读问题 使用封锁机制解决读“脏”数据问题 11.3 活锁和死锁 封锁技术可以有效地解决并行操作的一致性问题,但也带来一些新的问题: 死锁 活锁 11.3.1 活锁 避免活锁:采用先来先服务(First Come First Server)的策略。 当多个事务请求封锁同一数据对象时,按请求封锁的先后次序对这些事务排队,该数据对象上的锁一旦释放,首先批准申请队列中第一个事务获得锁。 11.3.2 死锁 11.3.2 死锁 1.一次封锁法:即静态分配,要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。 存在的问题: 降低系统并发度。 难于事先精确确定封锁对象。 2.顺序封锁法:即按序分配,是预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁。 顺序封锁法存在的问题: 维护成本:数据库系统中封锁的数据对象极多,并且在不断地变化。 难以实现:很难事先确定每一个事务要封锁哪些对象。 结论: 在操作系统中广为采用的预防死锁的策略并不很适合数据库的特点,DBMS在解决死锁的问题上更普遍采用的是诊断并解除死锁的方法。 11.3.2 死锁 死锁的诊断: 超时法 事务等待图法 一.超时法:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。 优点:实现简单。 缺点: 有可能误判死锁。 时限若设置得太长,死锁发生后不能及时发现。 11.3.2 死锁 二.事务等待图法:用事务等待图动态反映所有事务的等待情况,事务等待图是一个有向图G=(T,U)。 T为结点的集合,每个结点表示正运行的事务 U为边的集合,每条边表示事务等待的情况 若T1等待T2,则T1,T2之间划一条有向边,从T1指向T2 并发控制子系统周期性地(比如每隔数秒)生成事务等待图,检测事务。如果发现图中存在回路,则表示系统中出现了死锁。 11.3.2 死锁 解除死锁: 选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有的锁,使其它事务能继续运行下去。 11.4 并发调度的可串行性 可串行化(Serializable)调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同。 可串行性(Serializability):是并发事务正确调度的准则,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度 。 可串行化调度的充分条件: 一个调度Sc在保证冲突操作的次序不变的情况下,通过交换两个事务不冲突操作的次序得到另一个调度Sc‘,如果Sc’是串行的,称调度Sc为冲
您可能关注的文档
最近下载
- 劳动教育论文:依托学校种植园培养小学生劳技素养的实践研究.docx VIP
- 《斯特林制冷机》课件.ppt VIP
- 2024北京清华附中初二(上)期中物理(教师版).docx
- 2025领导干部任前廉政法规知识竞赛题库及参考答案.docx VIP
- 三个女性文本和一种帝国主义批评.pdf
- 2023学年新教材高中英语Unit3Festivalsandcustoms写作指导介绍传统节日课件牛津译林版必修第二册.pptx VIP
- 技术要素市场化配置水平测度及区域差异分析.pdf
- 统计预测与决策教材.pdf VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- Prayer X钢琴谱五线谱 完整版原版.pdf
文档评论(0)