河南财经学院 Henan University of Fit nance an Id Economics 分布式数据库系统及其应用 崔明义 (mycu369@126cm) 计算机应用技术2007级研究生
崔明义 (mycui369@126.com) 计算机应用技术2007级研究生
第6章分布式数据库中的可靠性 1.分布式数据库的可靠性的概念及其度量 2.分布式教据库糸统的故障原因和农错技术 3.分布式教据庠的可靠性协议 4.网络分剖和提交协议 5.不一致性监测和解决方法
1. 分布式数据库的可靠性的概念及其度量 2. 分布式数据库系统的故障原因和容错技术 3. 分布式数据库的可靠性协议 4. 网络分割和提交协议 5. 不一致性监测和解决方法 第6章 分布式数据库中的可靠性
1分布式数据库可靠性概念及其度量 1.1分布式数据库可靠性概念 可靠性 指数据库在一给定时间间隔内不产生任何失败的概率 它强调数据库的正确性,要求数据库正确运行,既符合某种 规格化要求 通常用来描述不可修复的系统 可用性 强调的是当需要访问数据库时,它是可用的。 指在给定的时间点系统可以正常运行的概率。 通常用于描述那些可以修复的系统 两者关系 通常认为构建可用性的系统比可靠性的系统容易 两者是统一的,可靠性高的系统可用性自然是好的 两者又是矛盾的,增加错误风险的情况下,可提高可用性;采 用太谨慎的策略会降低可用性
• 可靠性 – 指数据库在一给定时间间隔内不产生任何失败的概率。 – 它强调数据库的正确性,要求数据库正确运行,既符合某种 规格化要求。 – 通常用来描述不可修复的系统。 • 可用性 – 强调的是当需要访问数据库时,它是可用的。 – 指在给定的时间点系统可以正常运行的概率。 – 通常用于描述那些可以修复的系统。 • 两者关系 – 通常认为构建可用性的系统比可靠性的系统容易 – 两者是统一的,可靠性高的系统可用性自然是好的 – 两者又是矛盾的,增加错误风险的情况下,可提高可用性;采 用太谨慎的策略会降低可用性 1.1 分布式数据库可靠性概念 1 分布式数据库可靠性概念及其度量
1分布式数据库可靠性概念及其度量 1.1分布式数据库可靠性概念 已知 例: Sitel x1和x2是x的副本 Site 事务T是更新x的事务 Site1是协调站点 Lock xl Lock x2 Sitt1是事务T原发站点 2PC Read. 遵守两阶段提交协议 Site l也Read 此时Site2有两种可能 故 Commit 故障出现 a>以正确性为标准,x2则 等待,并Lock2,直到故障恢 Site2等待复。提高了可靠性,但牺牲 了可用性。 Site1正常结束 b>引入不一致性的风险下, 尽量提高可用性,解锁ⅹ2 其它事务可以使用它的值
例: Site1 Site2 x1 x2 Lock x1 Lock x2 2PC Ready 故障出现 Site1也Ready 故Commit Site 2 等待 此时Site 2有两种可能: a> 以正确性为标准,x2则 等待, 并Lock 2, 直到故障恢 复。提高了可靠性,但牺牲 了可用性。 b> 引入不一致性的风险下, 尽量提高可用性,解锁x2, 其它事务可以使用它的值。 Site 1 正常结束 1.1 分布式数据库可靠性概念 1 分布式数据库可靠性概念及其度量 已知 • x1和x2是x的副本 • 事务T是更新x的事务 • Site 1是协调站点 • Site 1是事务T原发站点 • 遵守两阶段提交协议
1分布式数据库可靠性概念及其度量 1.2平均故障间隔时间和平均修复时间 平均故障间隔时间 指在可以自我修复的系统中相继失败之间的期望时间 通过可靠性函数来计算MTBF=0R(du MTBF与系统失败的概率有直接的关系 平均修复时间 是指修复一个系统所需要的期望时间,MTTR 它与失败概率有关 指数型失败和修复的概率的系统可用性 A=MTBF/(MTBF+MTTR) 可用性系统 5个9(99.999%)常用来描述可用性系统 但是可用性系统要求的成本比较高 具体设计时要综合用户两方面的要求
• 平均故障间隔时间 – 指在可以自我修复的系统中相继失败之间的期望时间 – 通过可靠性函数来计算MTBF=∫0 ∞R(t)dt – MTBF与系统失败的概率有直接的关系 • 平均修复时间 – 是指修复一个系统所需要的期望时间,MTTR – 它与失败概率有关 • 指数型失败和修复的概率的系统可用性 – A=MTBF/(MTBF+MTTR) • 可用性系统 – 5个9(99.999%)常用来描述可用性系统 – 但是可用性系统要求的成本比较高 – 具体设计时要综合用户两方面的要求 1.2 平均故障间隔时间和平均修复时间 1 分布式数据库可靠性概念及其度量
2分布式数据库系统的故障原因和容错技术 21系统失败的原因 系统( System).是由一组组件构成的一种机制,这些 组件通过响应来自某个环境的具有可识别行为模式的 刺激而相互作用 环境 系统 component1+ component 刺激 响应 component3 系统规范说明( Specification)系统提供的对所有可能 的刺激将产生的响应行为必须遵循的说萌
• 系统(System) 是由一组组件构成的一种机制,这些 组件通过响应来自某个环境的具有可识别行为模式的 刺激而相互作用。 component1 component2 component3 环境 系统 刺激 响应 • 系统规范说明(Specification) 系统提供的对所有可能 的刺激将产生的响应行为必须遵循的说明 2.1 系统失败的原因 2 分布式数据库系统的故障原因和容错技术
2分布式数据库系统的故障原因和容错技术 21系统失败的原因 故障 任何偏离规范说明的行为 软故障和硬故障 软故障包括间歇性( Intermittent)和瞬变性 ( transient)故障,通过重启动来修复 硬故障指永久性故障,错误设计等 软件和硬件故障
• 故障 – 任何偏离规范说明的行为 • 软故障和硬故障 – 软故障包括间歇性(intermittent)和瞬变性 (transient)故障,通过重启动来修复 – 硬故障指永久性故障, 错误设计等 • 软件和硬件故障 2.1 系统失败的原因 2 分布式数据库系统的故障原因和容错技术
2分布式数据库系统的故障原因和容错技术 21系统失败的原因 软故障占90%以上并且该比例稳定 67年,美空军指出计算机中电子故障80%是间 歇性的 67年,IBM指出90%故障是间歇性的 80年,研究指出软故障眀显髙于硬故障 87年,(iay指出大部分软件故障是瞬变性故障
• 软故障 占90%以上并且该比例稳定 – 67年, 美空军指出计算机中电子故障80%是间 歇性的 – 67年,IBM 指出 90%故障是间歇性的 – 80年,研究指出软故障明显高于硬故障 – 87年,Gray指出 大部分软件故障是瞬变性故障 2.1 系统失败的原因 2 分布式数据库系统的故障原因和容错技术
2分布式数据库系统的故障原因和容错技术 21系统失败的原因 审查不同计算机系统中出错的统计数据 IBM/XA的OS可靠性报告57%是硬件,12%软件, 14%操作,7%环境(斯坦福线性加速器SLAC) Tandem计算机18%硬件25%软件25%维护 17%操作,14%环境 AT&T5ESS数字交换机32.3%硬件,44.3%软件, 17.5%操作 软件故障 通信或DB的原因是产生软件故障的主要原因 代码中的Bug,曾有报告指出,1000条指令中,0.25-10 个BUG
• 审查不同计算机系统中出错的统计数据 – IBM/XA 的OS 可靠性报告 57%是硬件, 12% 软件, 14%操作, 7% 环境(斯坦福 线性加速器SLAC) – Tandem计算机 18%硬件 25% 软件 25%维护 17%操作, 14%环境 – AT&T 5ESS数字交换机 32.3%硬件, 44.3%软件, 17.5%操作 • 软件故障 – 通信或DB的原因是产生软件故障的主要原因. – 代码中的Bug, 曾有报告指出, 1000条指令中, 0.25-10 个BUG 2.1 系统失败的原因 2 分布式数据库系统的故障原因和容错技术
永久性 永久性 故障 错误 错误的 设计 间歇性 个稳定 或者 错误 临界的 组件 系统失败 不稳定的 瞬变的 外部环境 错误 操作者 的过失 系统失败的原因
永久性 故障 错误的 设计 不稳定 或者 临界的 组件 不稳定的 外部环境 操作者 的过失 系统失败 永久性 错误 间歇性 错误 瞬变的 错误 系统失败的原因