第七章分布式恢复_10.ppt
文本预览下载声明
第七章 分布式恢复 ; 可靠性(Reliability)
Problem: How to maintain
(1) atomicity
(2) durability
Specific reliability protocols related include:
(1) commit protocols, and
(2) recovery protocols.; 可靠性和可用性
分布式数据库系统本身的体系结构可提高系统的可靠性和可用性;片段数据的重复存储和系统采用的恢复措施等都可提高系统的可靠性和可用性。可靠性和可用性的具体描述如下:
可靠性(Reliability)体现下面几点:
?一个系统符合其行为规范的量度;
?系统在给定时间间隔内不出故障的概率;
?用来描述不可修复的或要求连续操作的系统的重要指标。
可用性(Availability)体现下面几点:
?系统可满足其规范的时间百分率;
?系统在给定时间t上正常运行的概率;; 可靠性和可用性之间的差别; 故障模型
恢复是数据库系统在系统出现故障的情况下采取的补救措施,使系统恢复到出错前的正确状态,系统恢复正确后,可继续运行,不会因系统故障造成数据库损坏和数据丢失。归纳系统可能出现的故障,可分为Fault(故障)、Error(错误)和Failure(失效)三种故障形式。故障模型(见图7.1)。;§7.1 基本概念; 故障类型
系统故障常分为两大类:硬故障和软故障。硬故障通常是永久的,不能自动修复。如:系统硬件设备(永久存储设备)的故障导致的系统数据丢失故障。硬故障导致的failure(失效),称为硬失效。这种故障对数据库系统是致命的,应尽力避免。软故障通常是临时性或间歇性的。如:由于故障使数据库数据丢失或出错,使事务不能正确提交;系统死锁或算术溢出、被零除等造成的系统错误等。这些故障大多是临时性的,多是由于系统不稳定造成的,较容易恢复。如:系统可通过恢复机制进行恢复或重新启动事务恢复。通常这些软故障导致的failure(失效),称为软失效。系统的failure90%是软失效。图7.2说明了故障的分类。;§7.1 基本概念;?分布库系统中的故障
分布式数据库系统主要由结点及结点间的通讯链路组成。因此,在分布式数据库系统中,除了可能出现集中式数据库系统可能出现的故障外,还可能出现分布式数据库系统特有的故障,如:通信链路故障等。根据分布式数据库特点,其故障可归纳如下类型:
(1)? 事务故障
事务故障主要由系统单个事务或系统死锁引起的,使事务被废弃。如:算术溢出、被零除、超时、申请资源过多等。通常一个系统约有3%的事务被异常废弃。这一类故障不会导致存储介质上的数据被破坏,是一种影响性较小的可排除性的局部故障,由系统恢复机制自动恢复或重新启动事务来恢复。
;(2)系统(场地)故障
系统(场地)故障主要由处理器、主存、电源、系统过载、系统崩溃等等造成的,往往涉及多个或全部事务,造成系统局部或系统全部出现故障。这类故障使主存的内容丢失,但外存的内容是安全的。
(3)介质故障
介质故障是由于外存设备故障引起的,如:磁头坏、驱动卡坏、扇区坏等。这类故障对数据库系统是致命的,导致外存数据部分或全部丢失。
(4)通讯故障
通讯故障主要指报文丢失和网络分割。报文丢失是指在传送过程中由于报文丢失而导致的数据错误。网络分割是指系统的一个场地与另一场地失去联系,使两场地间无法通讯。;集中式数据库的故障分为硬故障和软故障两类。故障主要体现在是事务永久性的,还是间歇性的;是导致了外存数据错误,还是使内存数据发生错误。针对可能产生的不同故障,应采用相应的故障恢复方法。首先了解一下数据库中数据的更新方法、缓冲区中数据更新方法等内容。
局部恢复系统的体系结构
尽管系统可能有各式各样的故障,但故障恢复的系统体系结构是一致的。; 数据库更新策略
数据库数据的更新通常采用两种更新方法,即原地更新和异地更新。原地更新是指数据库的更新操作直接修改数据库缓冲区中的旧值。异地更新是指数据库的更新操作将数据项新值存在于旧值不同的位置上。如:采用影子页面(shadowing page)或采用差分文件方式存储。
影子页面是指当更新数据时,不改变旧存储页面,而是建一影子页面,将新值存于新建的影子页面上。而旧页面用于故障恢复。
差分文件(F)由只读部分(FR)加上插入部分(DF+)和删除部分(DF-)组成,
即F =(FR(只读)∪DF(插入)+)-DF-(删除)。更新等价于删除旧值,插入新值完成。 ;?缓冲区更新策略
缓冲区更新策略由固定/非固定(fix/non_fix)和刷新/非刷新(flush/no_flush)组合,共组成4种缓冲区更新策略。即fix/ flush、fi
显示全部