高可用性是重要数据库应用程序的关键需求。IBM DB2 9.5提供了很多特性来满足这一需求。如果您对分布式平台上的DB2还不是很了解,或者已经使用过一阵子,您可能会发现这组处理可用性的特性令人困惑。什么时候使用哪个特性,当使用特性时,您希望完成什么目标?
在开始之前,我们先来定义术语高可用性(HA)的意义。HA是指要求在依赖性应用程序需要数据时能够提供数据。其目的是消除或尽量避免停机。与 HA 相关的一个术语是灾难恢复(Disaster Recovery,DR),DR 与 HA 的不同之处在于,它侧重于保护数据,防止因灾难性故障导致数据丢失。本文只关注 HA。
术语和客户机/服务器数据库架构
术语和客户机/服务器数据库架构
我们首先讨论一些术语和概念,这对理解高可用性十分重要。
一个数据库解决方案包括三个部分的软件:
·用户应用程序
·客户机软件
·数据库引擎
除了软件,要得到一个有效的解决方案,还必须拥有一些其他资源:
·服务器硬件
·网络连接
·磁盘存储
·操作系统
当设计一个 HA 解决方案时,必须考虑所有这些方面。仅仅使数据库引擎高度可用未必就能创建出一个 HA 解决方案。HA 解决方案的设计并不完全是一个技术问题,它还必须考虑其他一些因素,例如解决方案的成本、技能需求以及管理需求。
数据库应用程序是基于客户机/服务器的。应用程序能否产生一致的结果,取决于数据库软件的完整性。虽然这一点是显而易见的,但是它在选择和设计解决方案时十分重要。
SQL 事务可分为两种类型:读和写。读事务是不需要插入、更新或删除活动的选择语句。而写事务则要更改至少一个数据库。读事务需要数据的一致视图 —— 即当同时提交两个读事务时,如果它们选择相同的数据范围,那么应该产生一致的结果集。写事务要求提交的数据库更改被持久化,即使出现故障时也是如此。业务需求会影响到什么 HA 解决方案是可用的或者是最适合的。通常,HA 解决方案的设计由两个因素驱动,正常运行时间(uptime)需求和事务一致性。如果业务要求更高的可用性,并且读一致性不是很重要,那么选择异步可能是更经济的方法。另一方面,如果事务一致性是关键需求,那么则需要选择更加同步的解决方案。如果事务一致性和可用性都是必需的,那么将进一步缩小可选择的范围。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
数据库产品巡礼:IBM DB2概览
IBM DB2关系型数据库管理系统提供了支持多平台系统的关键技术,它具备较高的可用性和良好的性能。
-
如何进行分布式大数据应用调优
分布式环境通常是与数据库服务器相分离的。而DBA的工作就是监视这些环境并配置和优化数据库服务器以满足多种需求。大数据的出现加剧了DBA的问题。
-
IBM DB2将迎来30岁“生日”
再过几天,主流数据库产品DB2就将迎来它30岁的“生日”。作为关系型数据库技术的标志性产品,DB2在过去的30年中也在伴随用户需求的变化不断地发展。
-
SQL调优之“忧”:如何进行SQL调优
DBA们应该将自己从“我要对什么调优?”的老路上解放出来,而在指标、配置和成本方面花费一定的时间。