Chinaunix首页 | 论坛 | 博客
  • 博客访问: 161170
  • 博文数量: 171
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1990
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-05 10:49
文章分类

全部博文(171)

文章存档

2011年(9)

2010年(162)

我的朋友

分类:

2010-09-02 13:22:33

高可用性是重要数据库应用程序的关键需求。IBM DB2 9.5 提供了很多特性来满足这一需求。如果您对分布式平台上的 DB2 还不是很了解,或者已经使用过一阵子,您可能会发现这组处理可用性的特性令人困惑。什么时候使用哪个特性,当使用特性时,您希望完成什么目标?

本文的目的就是总结这些特性,并指导您理解如何使用 DB2 技术构建高度可用的数据库系统。此外,发现每种解决方案的成本和优点。

在开始之前,我们先来定义术语高可用性(HA)的意义。HA 是指要求在依赖性应用程序需要数据时能够提供数据。其目的是消除或尽量避免停机。与 HA 相关的一个术语是灾难恢复(Disaster Recovery,DR),DR 与 HA 的不同之处在于,它侧重于保护数据,防止因灾难性故障导致数据丢失。本文只关注 HA。

术语和客户机/服务器数据库架构

术语和客户机/服务器数据库架构

我们首先讨论一些术语和概念,这对理解高可用性十分重要。

一个数据库解决方案包括三个部分的软件:

用户应用程序
客户机软件
数据库引擎
除了软件,要得到一个有效的解决方案,还必须拥有一些其他资源:

服务器硬件
网络连接
磁盘存储
操作系统
当设计一个 HA 解决方案时,必须考虑所有这些方面。仅仅使数据库引擎高度可用未必就能创建出一个 HA 解决方案。HA 解决方案的设计并不完全是一个技术问题,它还必须考虑其他一些因素,例如解决方案的成本、技能需求以及管理需求。

数据库应用程序是基于客户机/服务器的。应用程序能否产生一致的结果,取决于数据库软件的完整性。虽然这一点是显而易见的,但是它在选择和设计解决方案时十分重要。

SQL 事务可分为两种类型:读和写。读事务是不需要插入、更新或删除活动的选择语句。而写事务则要更改至少一个数据库。读事务需要数据的一致视图 —— 即当同时提交两个读事务时,如果它们选择相同的数据范围,那么应该产生一致的结果集。写事务要求提交的数据库更改被持久化,即使出现故障时也是如此。业务需求会影响到什么 HA 解决方案是可用的或者是最适合的。通常,HA 解决方案的设计由两个因素驱动,正常运行时间(uptime)需求和事务一致性。如果业务要求更高的可用性,并且读一致性不是很重要,那么选择异步可能是更经济的方法。另一方面,如果事务一致性是关键需求,那么则需要选择更加同步的解决方案。如果事务一致性和可用性都是必需的,那么将进一步缩小可选择的范围。

阅读(523) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-04 14:45:00

Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com