数据的高可用性是重要数据库系统的关键需求。本文对 DB2 9.5 中提供这些功能的特性作了一个总结。了解不同解决方案的优点和缺点,并确定哪种方法最适合您。
简介
高可用性是重要数据库应用程序的关键需求。IBM DB2 9.5 提供了很多特性来满足这一需求。如果您对分布式平台上的 DB2 还不是很了解,或者已经使用过一阵子,您可能会发现这组处理可用性的特性令人困惑。什么时候使用哪个特性,当使用特性时,您希望完成什么目标?
本文的目的就是总结这些特性,并指导您理解如何使用 DB2 技术构建高度可用的数据库系统。此外,发现每种解决方案的成本和优点。
在开始之前,我们先来定义术语高可用性(HA)的意义。HA 是指要求在依赖性应用程序需要数据时能够提供数据。其目的是消除或尽量避免停机。与 HA 相关的一个术语是灾难恢复(Disaster Recovery,DR),DR 与 HA 的不同之处在于,它侧重于保护数据,防止因灾难性故障导致数据丢失。本文只关注 HA。
术语和客户机/服务器数据库架构
术语和客户机/服务器数据库架构
我们首先讨论一些术语和概念,这对理解高可用性十分重要。
一个数据库解决方案包括三个部分的软件:
用户应用程序
客户机软件
数据库引擎
除了软件,要得到一个有效的解决方案,还必须拥有一些其他资源:
服务器硬件
网络连接
磁盘存储
操作系统
当设计一个 HA 解决方案时,必须考虑所有这些方面。仅仅使数据库引擎高度可用未必就能创建出一个 HA 解决方案。HA 解决方案的设计并不完全是一个技术问题,它还必须考虑其他一些因素,例如解决方案的成本、技能需求以及管理需求。
数据库应用程序是基于客户机/服务器的。应用程序能否产生一致的结果,取决于数据库软件的完整性。虽然这一点是显而易见的,但是它在选择和设计解决方案时十分重要。
SQL 事务可分为两种类型:读和写。读事务是不需要插入、更新或删除活动的选择语句。而写事务则要更改至少一个数据库。读事务需要数据的一致视图 —— 即当同时提交两个读事务时,如果它们选择相同的数据范围,那么应该产生一致的结果集。写事务要求提交的数据库更改被持久化,即使出