第4讲分布式数据库事务管理基础祥解.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4讲分布式数据库事务管理基础祥解.ppt

第*页,共39页 事务故障恢复原则: 成功结束事务原则 已经成功结束事务所做的修改可以超越各种故障存在,也即需要重做所做过的所有修改数据库的操作。 孤立和逐步退出事务的原则 对不影响其它事务的可排除性局部故障,应令相应事务孤立和逐步退出,将其所做的修改复原。 夭折事务原则 恢复到初始状态,一种是利用数据库备份,一种是反向顺序操作。 可排除性局部故障 非局部性不可排除故障 第*页,共39页 本地事务恢复 从“重启动文件”中读出最近检查点位置,并找出其在日志中的地址; 创建Redo表,初始为空;创建Undo表,将检查点中的活动事务表内容复制到Undo表。 沿检查点在日志中向前检索,将遇到的Begin_Transaction对应的日志记录,将对应的事务记入Undo表;遇到Commit的日志记录,则将对应的事务从Undo中移入Redo表,直到检索完日志; 反向检索日志,将Undo表中的事务按日志记录的操作做Undo,直到遇到Begin_Transaction; 从检查点正向检索Redo表中事务的日志记录,并执行,直到对应的Commit记录。 第*页,共39页 分布式事务恢复 底层:本地事务管理器层。 中间层:分布式事务管理器层。 顶层:全局事务层,由总代理和其他代理组成。 第*页,共39页 站点故障 参与者在将“Ready”记录入Log之前故障 协调者等待超时,将采取撤销事务的决定;当发生故障的参与者恢复时,重启动过程完成撤销该事务。 当参与者将“Prepare”写入Log后故障 当故障点恢复时,需要询问协调者或别的参与者关于该事务的结果,然后执行相应动作。 两阶段提交协议的故障及恢复 当故障点发生不可排除故障,则应该如何处理? 第*页,共39页 协调者把预备记录写入Log后,在写入global-commit或global-abort记录以前故障。 所有已经回答“就绪”的参与者必须等待协调者恢复。 协调者的重启过程从头开始恢复提交协议,从“预备”记录读取参与者标识,再次发送“预备”报文。 每个参与者接收到的是该“预备”报文是上一个“预备”报文的重复。 协调者写入“G-commit”/”G-abort”后,写入完成前故障 协调者在重启动后重新向所有参与者发送其决定。 协调者将“Complete”写入Log后故障 事务已经结束,协调者重启动无需做任何动作。 第*页,共39页 报文丢失 来自一个参与者的回答报文丢失 协调者超时,整个事务被撤销。 丢失协调者的Prepare报文 协调者超时,整个事务被撤销。 丢失协调者的决定性命令报文 参与者引入超时机制,如果超时仍未收到相应指令,则请求协调者重新发送该命令。 第*页,共39页 3 分布式数据库的数据更新处理及一致性维护 多个站点同时更新不现实。 多站点不能在特定时刻同时完全保障与站点A的连通。 当对未连通站点的副本要求更新的事务增多时,不能保证在该站点A连通时进行的更新是正确的。 多站点更新存在的问题 第*页,共39页 第*页,共39页 主文本更新 指定多副本中的一个为主文本,其它为辅文本。 数据在主文本上得到更新,就认为完成了对该数据的更新。 主文本负责把主文本所做的更新发送给各辅文本站点。 本方法可能带来哪些问题? 多站点更新的解决 第*页,共39页 移动主副本法 主要解决主副本更新法中主副本站点负载过重的问题。 初次修改在某个辅副本站点上进行,然后再更新数据主站点。 如果主站点此时未接通,则另选辅站点中的辅副本为该数据新的主副本进行修改。 等原主副本站点连通时,系统自动将其设为辅副本,并进行修改。 本方法可能带来哪些问题? 第*页,共39页 分布式数据库一致性内容: 业务规则的一致性 冗余数据的一致性 分布式数据库一致性 提高分布式数据库系统的可用性和可靠性以及“读”事务的本地性 第*页,共39页 异步复制器 采用级联策略对复制片段或复制表中的数据值进行同步更新。 主副本数据更新的方法有: 数据驱动:利用数据库触发器; 计时器驱动:用户自定义数据修改时间间隔; 应用程序驱动:由应用程序的事件引发。 * * 作业题 什么是分布式事务管理控制模型,有哪些基本方法? 简要说明两阶段提交协议的核心思想以及故障恢复处理办法。 简要说明分布式数据库数据一致性保护常见方法与策略。 * * Any Questions 谢谢~ * * 人有了知识,就会具备各种分析能力, 明辨是非的能力。 所以我们要勤恳读书,广泛阅读, 古人说“书中自有黄金屋。 ”通过阅读科技书籍,我们能丰富知识, 培养逻辑思维能力; 通过阅读文学作品,我们能提高文学鉴赏水平, 培养文学情趣; 通过阅读报刊,我们能增长见识,扩大自己的知识面。 有许多书籍还能培养我们的道德情操, 给我们巨大的精神力量, 鼓舞我们前进。 *

文档评论(0)

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

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

1亿VIP精品文档

相关文档