与处理数据分区相关的配置

本章将举例说明 Optim™ High Performance Unload 将如何运行,取决于配置文件中设置的参数

相关用例是从名为 MYDB 的 DPF 数据库的备份映像中卸载名为 MYTABLE 的数据分区表,该表具有 50 个数据分区,该数据库在唯一机器上具有 2 个数据库分区,此机器具有 4 个 CPU。

关联的控制文件 (有意不包含在处理数据分区的方式上的任何子句) 如下所示:

GLOBAL CONNECT TO MYDB 
USING BACKUP CATALOG MYDB FROM “/backups”;
; 
UNLOAD TABLESPACE PART(1,2)
DB2 NO USING BACKUP DATABASE MYDB FROM “/backups”; 
SELECT * FROM MYTABLE; 
OUTFILE(“outfile”)
FORMAT DEL; 
Scenario 1: leaving the configuration file db2hpu.cfg file without a shared_datapart_processing parameter or adding this parameter set to no

将单独处理数据分区。 Optim High Performance Unload 将为第一个数据库分区的行启动50个处理单元,每个数据分区一个,分别处理其行,以避免多次读取该数据库分区的备份。 处理单元数已经大于 CPU 数。 Optim High Performance Unload 仅当第一个数据库分区处理完成后,才会开始处理第二个数据库分区。 因此,将以串行方式处理数据库分区。

Scenario 2: adding a shared_datapart_processing parameter set to yes in the db2hpu.cfg file

数据分区将由共享其处理的单元进行处理。 Optim High Performance Unload 将为第一个数据库分区的行启动4个处理单元,数量与机器上的CPU数量相同,这些并行单元共同处理所有50个数据分区的行。 处理单元数已等于 CPU 数。 Optim High Performance Unload 仅当第一个数据库分区处理完成后,才会开始处理第二个数据库分区,且仅使用4个新单元。 因此,将以串行方式处理数据库分区。

Scenario 3: adding a shared_datapart_processing parameter set to yes and the maxthreads parameter set to 2 in the db2hpu.cfg file

数据分区将由共享其处理的单元进行处理,给定数据库分区的多个单元限制为 2。 Optim High Performance Unload 将为第一个数据库分区的行启动2个处理单元,为第二个数据库分区的行启动另外2个处理单元,因此总共启动4个处理单元(与机器上的CPU数量相同)。 这两组 2 并行单元分别共享每个数据库分区上所有 50 个数据分区的行的处理。 因此,将并行处理这两个数据库分区。