使用IBM DB2 pureScale Feature与Q Replication实现可伸缩性和业
要沉着应对如今愈加全球化和竞争激烈的市场,离不开这样一种数据处理架构,该架构能够随未来的战略需求增长而灵活地增长,能在发生组件故障、维护活动和灾难事件时确保业务连续性。 对某些企业而言,哪怕一小时的停工都可能导致数百万美元的收入损失,更别说
要沉着应对如今愈加全球化和竞争激烈的市场,离不开这样一种数据处理架构,该架构能够随未来的战略需求增长而灵活地增长,能在发生组件故障、维护活动和灾难事件时确保业务连续性。 对某些企业而言,哪怕一小时的停工都可能导致数百万美元的收入损失,更别说对公司声誉的损害和潜在的客户流失。全球化的企业跨不同时区而运作,无时无刻不在提供业务服务。为系统维护和升级保留的离线时窗已不复存在。分布式的企业需要能够在每个地理位置提供类似的服务,还要能够避免网络故障或传输时间。 本文介绍一种解决这些可用性需求的架构。
2009 年 12 月,IBM 推出了 DB2 pureScale Feature for Enterprise Server Edition。该 DB2 pureScale Feature 构建于来自 IBM DB2 for z/OS 软件的成熟的设计功能之上。DB2 pureScale Feature 旨在满足许多客户的需求,它提供了:
- 几乎无限的容量:能够通过向群集中添加更多机器,轻松地扩展您的系统。
- 应用透明性:能够原封不动地利用您现有的应用。
- 单站点连续可用性:提供一种具有内在冗余性的“全活动”架构。
- 更低的总体拥有成本 (TCO):通过支持先进技术的简化部署和管理,减少了总体拥有成本。
自 2004 年推出第一个版本以来,Q Replication 技术提供了 DB2 的低延迟、大容量复制功能。Q Replication 对 pureScale 的功能进行了补充,提供了以下功能:
- 对磁盘和站点故障的防御,将数据库复制到远程站点。
- 升级和全站点维护期间的持续可用性,允许在维护完成之前将应用传输到另一个站点,在完成之后重新同步这些站点。
- 工作负载卸载和实时报告,将报告应用卸载到另一个数据库,进而消除对业务关键型工作负载的任何可能的争用,支持对实时数据进行分析和报告。
- 防御数据破坏,维护一个辅助的数据库副本,与主要数据库副本相比,其中的更改会延迟执行,支持从用户或应用错误中快速恢复。
通过使用 Q Replication 扩展 DB2 pureScale Feature,您可以实现扩展性、可靠性和透明性,同时实现异地副本的保护和连续可用性。本文将探讨此解决方案的考虑事项,介绍如何结合部署 Q Replication 和 DB2 pureScale Feature。
DB2 pureScale Feature 利用了一个基于 DB2 for z/OS 数据共享架构的共享磁盘数据库实现。它将来自大型机上的 DB2 数据库软件的成熟技术引入开放系统中。使用 DB2 pureScale Feature 可带来以下重要好处:
• 几乎无限的容量:通过支持按需添加和删除 DB2 成员,DB2 pureScale Feature 提供了几乎无限的容量。DB2 pureScale Feature 可扩展到 128 个成员,拥有一个支持各种不同扩展功能的高度有效的集中管理工具。DB2 pureScale Feature 还利用了一项名为远程直接内存访问 (Remote Direct Memory Access, RDMA) 的技术,该技术提供了一种非常有效的节点间通信机制,简化了 DB2 pureScale Feature 的扩展功能。
• 应用透明性:一个利用了 DB2 pureScale 数据库的应用不需要了解群集中的不同成员的任何知识或担忧数据的分区。DB2 pureScale Feature 会自动将应用路由到它认为最合适的成员。DB2 pureScale Feature 还为其他数据库供应商使用的许多语法提供了原生支持,使这些应用只需极少或者甚至无需任何更改即可在 DB2 pureScale 环境中运行。在许多情形下,无需修改应用即可获得 DB2 pureScale Feature 的好处。
• 单站点连续可用性:DB2 pureScale Feature 提供了一种“主动-主动”配置,因此,如果一个成员出现故障,处理操作可在剩余的活动成员上继续执行。在一个成员发生故障期间,故障成员上正在处理的事务数据会临时不可用,直到数据库恢复完整,这通常只需花费几秒的时间。
• 更低的 TCO:DB2 pureScale Feature 可通过其整合的、已简化的部署和维护功能来帮助减少 TCO。DB2 pureScale 接口会处理在 DB2 pureScale Feature 中整合的组件的部署和维护。
从 2004 年第一个版本发布开始,Q Replication 就提供了 DB2 on Linux, UNIX, and Windows 和 DB2 on z/OS 的高性能复制,包括 DB2 z/OS 数据共享,这些复制基于日志捕获和事务延迟。Q Replication 能够跨数千公里复制针对数千个 DB2 表的大量更改,常常只有不到一秒的延迟。Q Replication 利用 WebSphere MQ 对复制的更改进行有效的数据传输和暂存。Q Replication 对 pureScale 的功能进行了补充,它提供了以下功能:
- 防御磁盘或站点故障:DB2 pureScale 实例提供了几乎无限的可伸缩性和对各个成员的故障的防御,但在传统上仅在配置了独立磁盘冗余阵列 (RAID) 的磁盘上使用单个数据副本。将数据库复制到远程站点,可提供对磁盘阵列故障的额外防御,还可提供一种站点灾难解决方法。使用 Q Replication,站点之间的距离没有限制,允许恢复站点离主要站点足够远,从而避免遇到与主要业务场所相同的风险1 。因为使用 Q Replication 的复制过程几乎是实时的,所以数据库恢复也几乎是实时的,恢复时间目标 (Recovery Time Objective, RTO) 只有几秒。
- 升级和维护期间的连续可用性:计划的维护和迁移更多考虑的是业务中断,而不是灾难。通过将应用传输到使用 Q Replication 同步的另一个网站,您可以在系统维护和更新期间实现业务连续性。升级示例包括更改硬件、操作系统、DB2 版本和应用,以及可能需要关闭系统的任何数据中心维护。
- 工作负载卸载和实时报告:在 DB2 pureScale 实例中,分析和报告应用可能发生与在线业务事件的锁争用,影响数据库性能。通过将报告应用转移到另一个数据库,您可以基于实时数据来生成报告和执行分析,而不会影响关键的业务应用。Q Replication 复制过程是异步的,不会影响应用响应时间。Q Replication 可在差别巨大的系统之间复制数据,甚至可以执行数据转换。例如,主要站点可能是一个包含 16 个成员的 DB2 pureScale 实例,使用 Q Replication 将数据库的一个子集近实时地(常常可实现压秒级平均延迟)复制到另一个具有更少成员的 pureScale 实例,甚至可以将它复制到一个非 DB2 数据库。Q Replication 提供了复制一个数据库的子集或者甚至数据库事务子集的能力(例如,您可以仅复制选定的操作,或者排除由一位特定用户执行的事务)。
- 通过一个时延副本避免数据损坏:对于时间点恢复,Q Replication 可维护数据库的一个辅助副本,这个副本比主要数据库副本延后一段时间。可以使用这个辅助副本从主要数据库上的用户或应用错误实现恢复。
辅助数据库还可用于时间点查询报告。数据库的延迟副本的保存可使用 Q Replication 技术轻松完成,因为从来源数据库捕获的更改会累积在目标数据库上的一个 WebSphere MQ 接收队列中。目标系统上的 Q Apply 程序可使用一个 applydelay 参数来运行2,该程序会在来源数据库上提交更改后的指定秒数之后持续应用这些更改。也可使用 applyupto 参数来批量应用更改,在这种情况下,Q Apply 程序会应用预先确定的时间点之前的更改,然后停止。
以这种方式将更改暂存在目标上可防御灾难,实现次秒级 (sub-second) 的潜在恢复点目标 (RPO),即使数据未即时应用。因为更改是近实时地捕获并传输到目标队列的,所以来源上的 DB2 日志可正常归档;不需要保留它们以供复制使用。如果需要故障转移,恢复时间目标 (RTO) 是复制功能清除在目标上的接收队列中积压的更改所需的时间。Q Apply 程序能够极快地清除积压更改,常常能在几分钟的时间内清除数百万个累积的更改,这得益于它的并行应用技术。