科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道以并行方式处理DB2 for iSeries索引

以并行方式处理DB2 for iSeries索引

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

使用 DB2 for iSeries,并行处理只对多个查询很有用。如果您使用多个处理器来完成批处理、装入和索引构建,那么它们的发生都会快得多。

来源:IT专家网 2008年6月10日

关键字: IBM 数据库 DB2

  • 评论
  • 分享微博
  • 分享邮件

简介
当人们考虑在数据库引擎中进行并行处理时,他们立即会想到通过使用多个处理器处理单个查询来达到改进的 查询响应时间。人们往往没有注意到:并行处理也可以加速 索引处理,从而改进数据库服务器的总体性能。使用 IBM® DB2® Universal Database™ (UDB) for iSeries™,就有可能将多个 CPU 用于索引处理。特别是,当创建索引以及由于底层数据更改而维护索引时,DB2 UDB for iSeries 可以使用多个处理器。以并行方式创建和维护索引的能力可应用于传统的二进制基数和编码的向量索引结构。

DB2 UDB for iSeries 并行处理只可以在 iSeries 服务器上使用,其中已经购买、安装和激活了 DB2 对称多处理(DB2 Symmetric MultiProcessing,DB2 SMP)特许功能部件,如启用并行处理中所述。

并行索引创建
DB2 UDB for iSeries 可以将并行处理用于创建 SQL 索引和用键值标识的逻辑文件(即,CRTLF 命令)。并行索引处理是通过如下方式完成的:在逻辑上,将基本表分成多个数据段,接着每个进程为指定的表段构建索引键值。然后,将由每个并行进程执行的任务合并在一起来完成最后的索引结构。

正如您在 图1 中所看到的那样,使用附加的 CPU 资源可以充分减少创建索引所花费的时间。这种能力在非常大型的数据库环境中或者在需要尽快重新创建索引的恢复方案下变得十分重要。

图1. 启用并行性之后极大地改进了索引构建时间
启用并行性之后极大地改进了索引构建时间

并行索引维护
索引维护的任务是更改索引键以反映对相关数据库行的更改(通常通过 insertupdatedelete 引起)。如果更改了客户的订单号或者新的客户订单添加到了数据库,则必须更新所有包含订单号列作为键字段的索引。索引的维护(或更新)影响与添加或更改订单相关的整个事务时间。

如果数据库行更改影响多个索引,那么这些索引的维护会串行发生,缺省情况下,每次维护一个索引。首先,订单号更改被传播到 IndexA。对 IndexA 的更改完成之后,订单号被传播到 IndexB,依此类推。

并行索引维护涉及同时维护多个索引。客户的订单号更改可以被同时传播到 IndexA 和 IndexB。这个并发索引维护处理减少了在整个数据库中更改订单号所花的总计时间。并行索引维护用资源换取了时间,提高了给定应用程序或事务的 I/O 速度。

图2 反映了可以通过并行维护多个索引达到的节省时间。在图2中,新行被装入具有多个索引的表中,并行索引维护将装入时间缩短到二到三分之一。

图 2. 当索引维护并行发生时装入时间得到改进
当索引维护并行发生时装入时间得到改进 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章