深入了解 DB2 Advanced Enterprise Server Edition,第 2 部分

Q 复制与联邦

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 深入了解 DB2 Advanced Enterprise Server Edition,第 2 部分

敬请期待该系列的后续内容。

此内容是该系列的一部分:深入了解 DB2 Advanced Enterprise Server Edition,第 2 部分

敬请期待该系列的后续内容。

免费下载:IBM® DB2® Express-C 9.7.2 免费版 或者 DB2® 9.7 for Linux®, UNIX®, and Windows® 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

本文关注 DB2 AESE 内的两种关键特性:

  • 通过一对 DB2 for LUW 数据服务器之间的主动/主动复制提供系统高可用性的 Q 复制
  • 联邦 提供了对于不同数据库内的数据库的透明访问,能够帮助混合环境中使用 DB2 和其他数据库技术的客户简化数据集成。AESE 在 DB2 内置的 DB2 和 Informix® 数据库的内置联邦之外添加了 Oracle 数据库联邦。

DB2 Advanced Enterprise Server Edition 概述

DB2 AESE 免费提供以下特性和获益:

  • 存储优化特性(压缩)可降低存储成本。
  • IBM Optim™ Performance Manager 帮助在问题影响业务之前识别问题。
  • Q 复制支持无缝的版本间迁移和主动/主动高可用性拓扑结构(限于一对 DB2 for LUW 数据库)。
  • 高级访问控制支持更好地控制谁能访问您的数据。
  • IBM Optim Database Administrator 帮助节约数据库管理的时间、减少错误。
  • IBM Optim Development Studio 帮助加速开发、改进跨团队协作。
  • IBM InfoSphere® Federation Server 支持跨应用程序的实时数据集成(限于 DB2、Informix 和 Oracle 联邦)。
  • IBM DB2 Workload Manager 可将资源分配与业务优先级保持协调一致。

通过 Q 复制交付连续可用性

DB2 AESE 内的 Q 复制技术可以在数据库之间低延迟地复制事务,同时保证极高的吞吐量和几乎无限制的跨越数千个 DB2 表的距离,此外也能保持事务完整性,容纳系统和网络中断。举例来说,您可以在延迟不到 1 秒钟的前提下实现每分钟数百万次更改的吞吐量。

在 DB2 AESE 中,这种功能是通过面向 DB2 的 IBM homogeneous replication 特性的受限使用交付的,支持一对 DB2 for LUW 数据库之间的主动/主动复制,从而最大化服务器资源的利用、降低成本,提供多站点可用性。如果需要一种更加灵活的复制场景(例如,与 Oracle 服务器的复制),则可购买完整版的 InfoSphere Replication Service。

DB2 AESE 的双站点 Q 复制是多站点连续可用性解决方案的理想选择,例如主动/主动数据库。每个数据库都是主动的,从而支持工作负载的分布。数据库可采用不同的配置、使用不同类型的硬件和软件版本,从而支持在中断时立即进行故障转移,同时在维护、升级和迁移时也不会产生宕机时间。复制可以是多向的,并能管理彼此冲突的数据库更改。如果您的企业正在使用 DB2 Enterprise Server 的 IBM pureScale® 特性,则可将 Q 复制与之无缝地配合使用,从而获得额外的价值。

Q 复制的组件包括:

  • 每个方向一个 Q Capture 和一个 Q Apply 程序
  • 每个系统一个 WebSphere® MQ 队列管理器(AESE 内包含的 WebSphere MQ 的受限版本)。
  • DB2 中创建的复制控制表,其中包括 Q 复制配置和操作信息。

所捕捉到的更改将通过 WebSphere MQ 试运行和交付,这允许迅速将数据移出 DB2 日志,即便在目标数据库宕机时也是如此。所捕捉到的每个数据库事务都将在一个 MQ 消息中发布。下图展示了 Q 复制过程。

图 1. Q 复制过程
Q 复制过程支持主动/主动复制的示意图
Q 复制过程支持主动/主动复制的示意图

为了演示主动/主动复制过程,请考虑下面这个经过简化的场景:

  • 更新的应用程序分配给主站点,只读应用程序分配给备用站点。请务必牢记,Q 复制也适用于两个站点均处于活动状态、可进行更新的情况。
  • 两个站点均运行日志捕捉和应用程序,但在这个经过简化的场景中,数据仅进行单向复制,即从主站点复制到备用站点。
  • 设置了一个故障转移连接,用于将更新的应用程序自动从主站点切换到备用站点。
图 2. 复制场景
初始复制场景,其中站点 A 为主动,站点 B 为备用
初始复制场景,其中站点 A 为主动,站点 B 为备用

在主站点发生中断时,应用程序将自动切换到备用站点,但如果您愿意,也可采用手动流程。为了避免发生冲突,应由复制处理完任何排队的数据,之后再允许更新的应用程序在备用站点上启动。复制将在更新后的应用程序到达备用系统时立即开始排队更改后的数据,以备恢复主站点。

图 3. 主站点中断
在站点 A 发生中断时重新路由到备用站点的示意图
在站点 A 发生中断时重新路由到备用站点的示意图

在主站点恢复时,更新的应用程序将保留在当前位置,直至解决了所有潜在冲突。首先,捕捉程序将在主站点上启动,捕捉因主站点宕机而仅滞留在主站点中的发生更改的任何数据。这将提供查看是否存在冲突的机会,因为主站点中的旧更改可能与备用站点中的新更改并非完全吻合。只要复制检测到冲突,则冲突的 SQL 就会记录到一个表中。可以生成一份报告来查看是否存在任何重大问题。应选择防止复制向备用表应用存储冲突的数据的选项,防止新数据(假设新数据更好)被旧数据覆盖。

图 4. 接收来自备用站点的数据
在站点 A 恢复时,辅助站点依然作为主站点,以便更新站点 A
在站点 A 恢复时,辅助站点依然作为主站点,以便更新站点 A

在复制了滞留的数据之后,即可在主系统上启动应用程序,将备用数据发送到主系统。随后备用数据将流动到主系统中。如果您此前发现主系统的旧数据与备用系统的新数据之间存在冲突,选择的选项支持使用新数据覆盖旧数据,但仍然要记录下来以便您进行检查。应用程序可移回主系统,但最好等到应用程序首先完成备用系统的积压工作再移动。此后,系统将恢复到原始场景中的形式。

图 5. 更新的应用程序恢复到主系统
更新完成后站点 A 恢复主状态
更新完成后站点 A 恢复主状态

除了 DB2 AESE 提供的灵活、强大的 Q 复制功能之外,还可以利用其他一些报告和工具来使之更加有效。首先是来自 Q 复制仪表板 的一个示例健康状况摘要,它提供了有关程序、队列、订阅和拓扑结构的健康状况和状态的全局实时视图和聚合视图。此外还提供了状态的基本下钻细节,以及对历史数据的访问。仪表板还提供了对于访问控制警报、操作和用户角色的支持。

图 6. Q 复制仪表板
图中展示了 Q 复制仪表板的屏幕快照
图中展示了 Q 复制仪表板的屏幕快照

下图是目标系统中数据的端到端延迟的历史趋势报告示例,此报告有助于验证 SLA 遵从性、跟踪意料之外的延迟高峰。

图 7. 延迟历史记录
图中的屏幕快照显示了数据的端到端延迟的历史趋势
图中的屏幕快照显示了数据的端到端延迟的历史趋势

最后,Q Replication Performance Advisor 有助于识别复制环境的延迟问题,并且能够提供降低端到端延迟的方法建议。

图 8. Q Replication Performance Advisor
Q Replication Performance Advisor 的屏幕快照
Q Replication Performance Advisor 的屏幕快照

通过联邦集成 Oracle 数据库与 DB2

AESE for LUW 中包含的是 IBM InfoSphere Federation Server 的受限使用副本,它提供了企业中 Oracle、Informix 和 DB2 数据库的轻松集成,以及通过单独一条 SQL 语句查询位于多个数据库中的此类数据的能力。要为 Oracle 数据库使用 Q 复制,需要具备 InfoSphere Replication Server(需独立购买)。

将异构数据源联邦为一个无缝的系统可提供以下优势:

  • 透明度:在编码和使用应用程序时能够使数据犹如位于单独一个数据库中。这使应用程序能够在数据的存储方式发生变化时继续正常工作。
  • 异构性:容纳企业中不同的数据需求和数据源的能力。
  • 自治:未对远程数据源实施限制,这允许它保持自治,从而消除对数据源、应用程序和系统的任何破坏
  • 强大功能:应用程序不仅能够利用所联邦的系统提供的丰富的功能,还能利用某些数据源特有的特殊功能。
  • 可扩展性和开放性:无缝地将新数据源添加到企业信息系统的灵活性。
  • 经过优化的性能:为联邦系统开发的应用程序有能力实现出色的性能,而且不需要实现特殊战略来评估查询。

联邦系统的核心包括一个作为联邦服务器 DB2 实例。组件包括一个作为联邦数据库的 DB2 数据库,Oracle 数据库或其他 DB2 数据库等一个或多个数据源,以及通过联邦数据库访问数据的客户端(用户和应用程序)。凭借联邦数据库,您可以使用单独一条 SQL 语句连接来自多个数据源的数据,包括联邦数据库本身。

在联邦数据库内注册了数据源的表之后,即可轻松引用它们,就像引用本地表一样。应用程序通过 DB2 支持的任何编程接口与联邦服务器通信。由于联邦系统包含 DB2 数据库,因此您还可以存储本地数据库,也可合并来自本地表和远程表的信息。

IBM 联邦系统的基本概念展示如下。

图 9. 联邦服务器
展示联邦系统组件的示意图
展示联邦系统组件的示意图

要将 DB2 AESE 转为联邦数据库服务器,您必须将其 DB2 实例的数据库管理器配置更改为允许联邦(将 Federated 设置为 Yes),并将其配置为与数据源通信。

  • 联邦服务器通过称为包装器 的软件模块与数据源通信。这些包装器提供了促进联邦对象注册和与数据源之间的通信的逻辑。您仅需要注册一个包装器,即可访问该包装器支持的类型的所有数据源。举例来说,注册一个 Oracle 数据库包装器即可访问任意数量的 Oracle 数据源。
  • 向联邦数据库注册了包装器库之后,每个数据源都必须被系统识别为一个 服务器。服务器通常代表另外一个系统中的数据库。联邦数据库依靠服务器属性来确保各数据源的功能得到了合理利用。联邦数据库的服务器属性存储着各数据源的特征。DB2 优化程序使用这些特征和限制来确定处理一个查询的最佳方法。利用服务器选项来设置外部服务器属性,您就可以指定数据源位置(机器节点)、连接安全性信息(ID 和密码)以及影响性能的某些服务器特征。每个包装器模块都维护着一组适于其支持的数据源的类型和版本的服务器属性。推送(即一种允许在远程数据源上执行的操作)在减少通过网络提供给联邦服务器的数据量方面可能非常有益,从而帮助改善查询性能。
  • 昵称 是在联邦数据库内创建的,用于标识数据源表和视图。您现在可以在应用程序中引用昵称,就像它是本地表一样,它们将对客户端显示为 DB2 表。昵称可以包含列、统计信息、索引或信息约束。
  • 数据源通常需要身份验证。身份验证信息以用户映射 的形式向联邦系统注册。这提供了额外的一层安全性。客户端用于访问联邦数据库的用户 ID 和密码映射为远程用户 ID 和密码。
  • 联邦过程 是一种映射数据源过程的本地过程。

结束语

DB2 AESE 是一种完善的数据库解决方案,它采用了单一产品包的形式,从而提供了较低的价格。它提供了广泛的功能和获益,其中的高可用性和业务连续性解决方案、简化管理均可帮助使用 DB2 和 Oracle 数据库的客户统一异构数据环境。通过 Q 复制技术提供的主动/主动复制可实现站点故障保护,并在更新和维护期间提供连续可用性。DB2 AESE 中包含的联邦服务器简化了从 Oracle 迁移到 DB2 的客户或管理混合环境的客户的数据库集成。如需进一步了解 DB2 AESE 及其提供的功能,请参阅以下参考资料。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management, WebSphere
ArticleID=755201
ArticleTitle=深入了解 DB2 Advanced Enterprise Server Edition,第 2 部分: Q 复制与联邦
publish-date=09012011