文档详情

第七章分布式恢复10(免费阅读).ppt

发布:2017-01-01约7.7千字共46页下载文档
文本预览下载声明
第七章 分布式恢复 基本概念 集中式数据库的故障恢复方法 分布式事务的恢复 通信故障 通信故障有两种:报文丢失和网络分割。若存在两个结点A和B,报文丢失指A最大延迟内没有收到B发来的报文。网络分割指网络被断开或存在两个以上不相联接的子网。 如果系统不存在通信故障,则应表现如下情况:(1)收到的报文内容及报文顺序均正确;(2)无超时错误发生。无超时错误指在发送报文后,在规定的延迟时间内应收到返回的应答信息。另外,除网络分割可能造成报文丢失外,场地故障也可造成报文丢失。 根据分布式数据库系统的特征,分布事务的执行是分解为若干个不同场地上的子事务的执行。因此,分布事务提交的先决条件是分布事务的所有子事务必须全部提交,否则事务全部废弃。为使分布式事务正确提交,通常采用两段提交协议(2PC)即基本的两阶段提交协议。 §7.3 分布式事务的恢复 ?具有恢复功能的两段提交协议(2PC) 两段提交协议(2PC) 两段提交协议(2PC)的思想概括地说是事务提交分两个阶段:决定阶段和执行阶段。决定阶段是作出提交/废弃的决定;执行阶段实现决定阶段的决定。具体可用下面流程图描述(见图7.8)。 为说明两段提交协议,先介绍几个扩充的日志记录: ?Prepare记录:内容为事务标识(tid),Prepare代码; ?Ready记录:内容为事务标识(tid),Ready代码; ?Complete记录:内容为事务标识(tid),Complete代码。 Prepare记录、Ready记录和Complete记录简称P记录、R记录和C记录。 §7.3 分布式事务的恢复 §7.3 分布式事务的恢复 * * 可靠性(Reliability) Problem: How to maintain (1) atomicity (2) durability Specific reliability protocols related include: (1) commit protocols, and (2) recovery protocols. §7.1 基本概念 properties of transactions 可靠性和可用性 分布式数据库系统本身的体系结构可提高系统的可靠性和可用性;片段数据的重复存储和系统采用的恢复措施等都可提高系统的可靠性和可用性。可靠性和可用性的具体描述如下: 可靠性(Reliability)体现下面几点: ?一个系统符合其行为规范的量度; ?系统在给定时间间隔内不出故障的概率; ?用来描述不可修复的或要求连续操作的系统的重要指标。 可用性(Availability)体现下面几点: ?系统可满足其规范的时间百分率; ?系统在给定时间t上正常运行的概率; §7.1 基本概念 可靠性和可用性之间的差别 §7.1 基本概念 系统鲁棒性和易管理性 数据冗余性 影响因素 提高较容易 提高较难 难易程度 系统的可运行能力 系统的正确性 强调内容 衡量在某个时间点之前系统正常运行的概率 衡量在某时间段内系统符合其行为规范的概率 用途 可用性 可靠性 比较项 数据库的可靠性和可用性是相互矛盾的: 一方面,提高系统的可靠性往往是以牺牲其可用性作为代价的。例如,我们一旦发现系统有出错的危险时,为了提高可靠性,则立即停止系统的工作,使其变得不可用。 另一方面,提高系统的可用性往往是以牺牲其可靠性作为代价的。例如,即使我们已经预见了系统出错的风险,但仍然允许系统继续工作以保证其可用性。系统出现暂时不一致的状态,随后可以利用故障恢复机制使系统恢复正常。 故障模型 恢复是数据库系统在系统出现故障的情况下采取的补救措施,使系统恢复到出错前的正确状态,系统恢复正确后,可继续运行,不会因系统故障造成数据库损坏和数据丢失。归纳系统可能出现的故障,可分为Fault(故障)、Error(错误)和Failure(失效)三种故障形式。故障模型(见图7.1)。 §7.1 基本概念 说明: ?刺激:来自外界的影响; ?响应:来自于系统的信息; ?内部状态:系统内部的状态; ?外部状态:系统所处环境内的系统的外部状态; §7.1 基本概念 下面介绍三种故障形式为: Fault(故障):指系统单元所处的内部状态发生的错误或系统内设计错误。 Error(错误):指出现了不正确的状态。 Failure(失效):指系统的外部状态中的错误。 通常,由于Fault(故障)引发Error(错误);由Error(错误)导致执行失败,即Failure(失效)。如下图所示: Fault Error Failure 导致 引起 Causes Results in 故障类型 系统故障常分为两大类:硬故障和软故障。硬故障通常是永久的,不
显示全部
相似文档