使用 IBM DB2 Analytics Accelerator 加速批处理

本文概述通过在批处理系统中引入 IBM® DB2® Analytics Accelerator,公司可获得的好处。提供的示例基于在 Swiss Re 公司的真实实现,这是一家位于瑞士苏黎世的著名再保险公司。

Philipp Spaeti, 执行 IT 架构师, IBM

Philipp Spaeti 是一位 IT 架构师,在 IT 行业拥有 20 多年丰富经验。目前,他是 IBM Financial Services Sector 的一位执行 IT 架构师,担任大型主要金融服务公司的客户技术顾问。他在许多客户项目中展现了自己的专业经验、总体能力和问题解决能力,特别关注推动作为增长催化剂的新技术的创新和采用。Spaeti 还是 IBM Academy of Technology 的成员。



2013 年 10 月 08 日

简介

IBM DB2 Analytics Accelerator 是一个工作负载优化设备,它使公司能够将业务洞察集成到流程中,从而推进成功战略的实施。它将 System z® 服务质量和 IBM DB2 Analytics Accelerator 的硬件加速分析相结合,能够在高度安全并且可靠的环境中加快复杂查询速度,提供前所未有的响应时间。

DB2 Analytics Accelerator 带来的一个关键要素是,它透明地集成到 DB2 中,这支持在运行原封不动的工作负载和查询的同时,自动获得更快的响应时间和更少的大型机中央处理器负载。

Swiss Re 一直在寻找让其 IT 环境具有更高的成本效益和性能的途径。因此,在过去几年中,它将其财务报告系统从 COBOL 批处理系统转换成了 z/OS® 上的 Java™ 批处理系统。这能够实现巨大的成本节省。

为了实现进一步的重大突破,该公司引入了 IBM DB2 Analytics Accelerator 来加速批处理作业的执行,并将工作负载迁移到加速器设备上,释放容量供其他应用程序使用。


解决方案

Swiss Re 的报告系统是一个在 z/OS 上运行的批处理系统。在过去几年中,数据增长带来了一定的挑战,促使 Swiss Re 与 IBM 合作,实现创新的解决方案,使其能够控制成本和提高性能,从而应对新的业务挑战。

第一步是通过利用 z/OS 上的 WebSphere® Compute Grid,将批处理流程从 COBOL 转换为 Java。这使 Swiss Re 能够将很大一部分工作负载卸载到 System z Application Assist Processor 上,同时继续使用相同的应用程序界面,以及相同的数据库和数据模型。

然后,第二步是将工作负载的数据库处理部分卸载到外部设备上。IBM DB2 Analytics Accelerator 的引入使该公司能够实现此目标,并朝一个新的优化时代演进。


IBM DB2 Analytics Accelerator

IBM DB2 Analytics Accelerator 集成在 DB2 for z/OS 环境的应用程序层背后。这为最终用户和向 DB2 for z/OS 子系统提交查询的应用程序提供了完全的透明性。无需对连接或应用程序设计执行更改,就可以利用 IBM DB2 Analytics Accelerator。这避免了许多与部署新技术关联的培训和集成问题。

表级别的数据必须可通过一个 GUI (IBM Data Studio) 简单地加载到 Analytics Accelerator 上。从 V3 开始,让数据保持最新的维护是自动化的,对基础表的更改可自动复制到加速器上。

通过 DB2 对 IBM DB2 Analytics Accelerator 的透明访问
该图显示了来自应用程序、经过接口、优化器和 IDAA DRDA 请求程序,再到 SMP 主机的查询流

引入 IBM DB2 Analytics Accelerator 后,您现在有许多选项可用来在现有的 DB2 for z/OS 环境中处理查询。


DB2 for z/OS 中的查询流选项

基本而言有 3 个查询流选项:

  • 如今,一个 DB2 处理子集已路由到 IBM System z Integrated Information Processors (zIIP),包括并行查询和 DRDA 处理。这些查询继续从磁盘上的 DB2 数据库拉取数据,将数据转移到 System z 处理器上的实际内存中,以便通过 DB2 for z/OS 处理它们。
  • 借助 IBM DB2 Analytics Accelerator,DB2 中的表的一个子集被复制到 IBM DB2 Analytics Accelerator 上并进行压缩。DB2 z/OS 认识到这些表也可用于特殊处理。当 DB2 Optimizer 确定如何最佳地解决一个查询时,它评估该查询是否可在 IBM DB2 Analytics Accelerator 上更快地处理。通常,Optimizer 的设计适用于这样的查询,它们具有特定的 OLAP 风格特征,扫描一个星形模式中的 FACT 表,然后返回聚合值作为答案。该数据由 IBM DB2 Analytics Accelerator 代码扫描,答案集被传递回 DB2 环境。IBM DB2 Analytics Accelerator 添加了另一个处理传入查询的选项。安装 IBM DB2 Analytics Accelerator 后,DB2 for z/OS 将识别您工作负载中的适当查询,并将其路由到新环境中,以便更快地执行。
  • 任何无资格使用 zIIP 引擎或由 DB2 Analytics Accelerator 处理的查询,都将继续在 DB2 for z/OS 环境中的一般处理器上处理,在该处理上,会继续从磁盘访问数据。用户可以执行工作负载管理 (WLM) 策略,为查询确定了相对于其他工作负载的优先级,确保最重要的任务最先完成。

DB2 for z/OS 利用它的可用选项,选择最高效的方式来处理传入请求。与其他解决方案相比,与数据库管理系统的集成远不止只是一个简单的通信链接。管理工作可通过 DB2 for z/OS 进行控制。在此上下文中,IBM DB2 Analytics Accelerator 是 DB2 for z/OS 的一个虚拟资源池。与 DB2 for z/OS 关联的成熟特征(比如安全、可靠性和持续可用性)不会受到损害;甚至在不太可能发生的 IBM DB2 Analytics Accelerator 不可用的情况下,业务关键型 BI 解决方案也将保持在线。

当前的 IBM DB2 Analytics Accelerator 版本专为动态 SQL 处理而设计,控制参数允许定义始终仅在制定优化器决策时卸载到 IBM DB2 Analytics Accelerator,还是从不卸载到 IBM DB2 Analytics Accelerator。增加静态 SQL 处理能力的需求已经规划,可能在未来加入。

但是,一般而言,数据仓库工具以及连接到 DB2 z/OS 的分散化的应用程序经常使用动态 SQL。因此,当前的解决方案已涵盖许多用例。在加速器上执行大部分查询,能够消除许多索引,这是 DB2 实现最优的查询性能所必需的。这减少了存储需求,有助于实现更高的插入和更新性能。更新然后会自动传播到加速器,并且可用于查询。


解决方案架构

Swiss Re 在两个数据中心中以主动-主动模式运行其 z/OS 系统,这两个数据中心彼此相隔 10 千米。因此,IBM DB2 Analytics Accelerator 架构的设计重点是满足 System z 布局架构带来的所有需求。

在 IBM DB2 Analytics Accelerator 设计中,设备的故障不会影响查询的执行,因为它是以经典方式(也即没有加速)在 DB2 内执行的。但是,第一手经验表明,查询的加速会带来响应时间的显著改善。这一事实随后可能引起业务流程的变化和改进,所以 IBM DB2 Analytics Accelerator 变成了基础架构的一个关键因素。

为了适应此需求,需要一种更好的高可用性设计。通过将一个 IBM DB2 Analytics Analyzer 系统附加到每一端,并在两个数据中心中交叉连接它们,可以实现此任务,这样每个 System z 都可以连接每个 Analytics Accelerator 机器。

作为一个本身就完全冗余的加速器设备,再结合这个高可用性概念,该系统没有单点故障,因为甚至整个数据中心的故障或中心之间的连接故障都可以得到解决。

两个数据中心中的 EC12 与 IBM DB2 Analytics Accelerator 的连接
该图显示了从数据中心 1 上的 Nexus 到数据中心 2 上的 Nexus 的连接

为了实现故障转移并为最终用户应用程序维护相同的性能,应用程序所需的表会复制到两个 IBM DB2 Analytics Accelerator 机器。


结果

实现的查询加速表明,存在很大的分布跨度,从快 3 倍到快 90 倍或更快。所以,第一个发现是性能改进不是以百分比形式进行度量的,而是以倍数形式进行度量,这很重要。而且加速结果依赖于结果集的大小。

数据仓库中的来源表包含 5 到 9 亿行,该结果集既包含生成 5 行的报告(查询),也包含生成 100,000 多行的报告(查询)。拥有最大结果集的报告通常获得的加速改善比拥有较小结果集的报告少。

我们还在存储级别上进行了有趣的观察。来源数据库上一个拥有 400 GB(未压缩的)原始数据的表在 DB2 中压缩为 123 GB,而在 IDAA 中压缩为 40 GB。该表得到了 10 倍的压缩系数,这样一个表的加载时间为 29 分钟(也即 800 GB/小时)。


结束语

IBM DB2 Analytics Accelerator 带来了多项好处:

  • 当前工作负载的加速,进而提高了运行报告的人员的生产力。
  • 将长期运行的耗 CPU 的查询卸载到 IBM DB2 Analytics Accelerator 上;解放主要处理器,为系统提供更多容量,但又不会增加成本。
  • 无需更改应用程序和查询。
    • 投入时间调整查询以利用具体的加速器优势(比如 SUM 函数),这能带来额外的收益。

所有这些因素结合在一起,带来了重大的 TCO 改进,因为它允许以相同的成本运行更多的工作负载。

而且,IBM DB2 Analytics Accelerator 还给 DB2 管理员带来了好处,因为可消除常见的查询调优活动,系统无需调优,没有索引,也没有分区。

IBM DB2 Analytics Accelerator 使得将操作数据和分析数据放在同一个平台上成为了可能,提供了减少数据传输所需时间的机会,还使业务人员能够快速访问最新的数据。这可为公司带来前所未有的竞争优势。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=947620
ArticleTitle=使用 IBM DB2 Analytics Accelerator 加速批处理
publish-date=10082013