- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 分布式数据库中的并发控制 5.1并发控制的概念和理论 1.并发控制的概念 在通常情况下数据库中总是有若干个事务在运行,这些事务可能并发地存取相同的数据,称为事务的并发操作。 当数据库中有多个事务并发执行时,系统必须对并发事务之间的相互作用加以控制,这是通过称为并发控制机制来实现的。 分布式并发控主要是解决多个分布式事务对数据并发执行的正确性 另外,在分布式数据库中,允许数据被复制在多个站点上,当需要对数据执行更新操作时,也必须同时正确地更新它的所有副本。 1).丢失更新问题 对某个数据项处理上的先后会造成结果的不正确。 2).不一致分析问题 3).依赖于未提交更新的问题 2.事务可串行化理论的基本概念 若干个事务并发执行的结果与按希望的顺序执行的结果相同时,称诸事务是可串行的 1)分布式事务的一个调度 2)串行调度 3)可串行化调度 3.分布式事务的可串行化理论 1)事务 2)冲突操作 3)并发事务的一个调度 4)串行调度 5)一致性调度 6)两个调度等价 7)可串行化调度 例5.1 4.分布式事务的可串行化调度 1)使用优先图判别可串行化调度 算法5.1 2)分布式数据库中可串行化理论的扩展 例5.2 3)单副本可串行化 4)读一个/写全部副本控制协议 5.并发控制机制的常用方法及其分类 1)使用协议或规则保证调度是可串行化的(如2PL) 2)并发控制机制常用的方法及其分类: 封锁方法 时标排序的方法 混合的方法 5.2分布式数据库系统并发控制的封锁技术 1.基于封锁的并发控制方法概述: 基本思想是事务访问数据项前要对该数据项封锁,如果已被其他事务锁定,就要等等,直到那个事务释放该锁为止. 1)锁的粒度,类型和操作 A.锁的粒度是指锁定数据项的范围 粒度会影响并发控制和恢复的性能 首先,数据项尺寸越大,允许的并发程度越低 另外,数据项尺寸越小,数据库中项的数理越多 B.锁的类型 共享锁S,排他锁X C.锁的操作 READ_LOCK读封锁 WRITE_LOCK写封锁 UNLOCK解锁 2).封锁准则和锁的转换 A.封锁准则 事务T在执行任何READ_ITEM操作之前,必须先执行READ_LOCK操作或WRITE_LOCK操作 事务T在执行任何WRITE_ITEM操作之前,必须先执行WRITE_LOCK操作 如果事务在执行READ_LOCK操作,数据项必须没有加锁或者已经加了读锁,否则事务的这个操作不能执行 如果事务执行WRITE_LOCKRK操作,数据项必须没有加锁,否则事务的这个操作不能执行 事务执行WRITE_LOCKR操作和WRITE_ITEM操作之后,必须执行UNLOCK操作 如果事务已经持有数据项上的一个读锁或者一个写锁,那么它不能再执行READ_LOCK操作. 如果事务已经持有数据项上的一个读锁或者一个写锁,那么它不能再执行WRITE_LOCK操作 如果事务已经没有持有数据项上的一个读锁或者一个写锁,那么它不能再执行unLOCK操作 B.锁的转换 在特定条件下,一个已经在数据项上持有锁的事务,允许某种封锁状态转换成另外一种封锁状态. 如,一个事务先执行了READ_LOCK操作,然后它可以通过执行WRITE_LOCK操作来升级该锁. 3)基本封锁算法 分布式比集中式更为复杂:数据的分布导致执行的分布,封锁消息将在整个网络上传输,其通信代价相当大;对多副本的数据,要实现同步更新,原则上就要锁定所有副本. 常用的算法有: 简单的分布式封锁方法:类似于集中式,数据更新时,要将同一数据的全部副本封锁,然后对其进行更新,更新完成后解除全部上述封锁. 主站点封锁法:主站点封锁法模拟集中式,选定一个站点定义为“主站点”,负责系统全部封锁管理,所有站点都有向这个主站点提出封锁和解锁请求,所有封锁和解锁信息都被传送到那个主站点管理和保存,然后由主站点去处理封锁事宜. 主副本封锁法:这个方法不指定主站点,而对每个数据项指定一个主副本,不同数据项的主副本被放在不同的站点上 快照方法:它是类似于视图一种导出关系,但又与视图不同.它是数据的暂时凝聚,是一种存储方式. 2.两阶段封锁协议 1)两阶段封锁协议保证调度的可串行化 第一阶段是扩张或称成长阶段.在这个阶段中,事务只能获得新的数据项锁,而不能释放任何已持有的锁. 第二阶段是收缩或称衰退阶段.在这个阶段中,事务只能释放已经持有的锁. 遵守两阶段封锁协议的两个事务 T1 Read_lock(y); Read_item(y); Write_lock(x); Unlock(y); Read_item(x); X:=x+y Write_item(x); Unlock(x); T2 Read_lock(x); Read_item(x); Write_lock(
您可能关注的文档
最近下载
- 2024届浙江省新阵地教育联盟高三上学期第二次联考作文“君子有三鉴:鉴乎前,鉴乎人,鉴乎镜”导写及范文.docx VIP
- 高速铁路通信工程细部设计和工艺质量标准(1).pdf VIP
- 2020年成人高等学校招生全国统一考试高起点数学(文).docx VIP
- 钢筋混凝土化粪池22S702.pdf VIP
- 医疗设备投放合同.docx VIP
- 附件2农村实用人才基本情况调查表.doc VIP
- 《Python程序设计》高职PPT完整全套教学课件1-110.pptx VIP
- 水电站防汛工作检查表[一].doc VIP
- 关于《农村留守儿童行为习惯培养的研究》的研究报告.doc VIP
- 全概率公式(呼伦贝尔学院吴美华)教学课件.ppt.ppt VIP
文档评论(0)