Consideraciones de rendimiento al descargar una tabla organizada en columnas

Optim™ High Performance Unload puede utilizarse para extraer datos de una tabla organizada en columnas.

Para poder actuar sobre los rendimientos para dicho tipo de descarga, existe la capacidad de procesar los datos de varias columnas en paralelo. Cuando se habilita esta capacidad, permite que los datos de varias columnas se lean en paralelo, en lugar de leer los datos de cada columna en serie. Se basa en el uso de tantas hebras independientes como columnas hay para procesar en paralelo. Se puede ajustar el número de columnas que se deben procesar en paralelo.

Al cambiar el número de columnas procesadas en paralelo, se puede obtener un mejor rendimiento al descargar una tabla organizada en columnas. Sin embargo, la mejora del rendimiento puede variar de una plataforma a otra, en función de las velocidades de los discos y procesadores implicados, y también de la topología de la instancia de Db2® en cuestión. Para poder determinar el valor óptimo en la plataforma del número de columnas que se deben procesar en paralelo, es necesario medir y comparar los rendimientos obtenidos con diversos valores, ya que no hay ninguna regla general a seguir para determinarlo.

Se puede definir el número de columnas que se deben procesar en paralelo, ya sea de forma global para cualquier descarga de una tabla organizada en columnas, o de forma específica para una descarga determinada de este tipo. Para una configuración global, este número puede especificarse mediante el uso del parámetro llamado blu_parallelism en el Optim High Performance Unload archivo de configuración. En el caso de un valor específico que aplicar sólo a una descarga determinada, este número se puede especificar en su archivo de control asociado, mediante la especificación de la opción BLU_PARALLELISM en el bloque GLOBAL.

Se puede inhabilitar el proceso paralelo de las columnas de una tabla organizada por columnas estableciendo el número de columnas que se van a procesar en paralelo al valor 1. Por supuesto, si sólo se tiene que descargar una columna de una tabla organizada por columnas, el proceso paralelo se inhabilita automáticamente.

De forma predeterminada, si no se define explícitamente el número de columnas de una tabla organizada por columnas que se deben procesar en paralelo, se determina automáticamente. Su valor predeterminado es el doble del número de hebras dedicadas al procesamiento de las filas para una partición de base de datos. Este número de hebras depende del número de CPU a las que afecta la descarga. El número de CPU considerado es el número de CPU disponibles en el equipo, excepto si está limitado por la configuración del parámetro nbcpu en el Optim High Performance Unload archivo de configuración, o la configuración de la opción NBCPU en el archivo de control asociado. El número de hebras dedicadas al procesamiento de las filas para una partición de base de datos es el número de CPU en cuestión dividido por el número de particiones de base de datos en la máquina. Este número de hebras no puede ser inferior a uno.

Como ejemplo, consideremos una máquina que tiene 16 CPU, con una instancia de Db2 que tiene 4 particiones de base de datos. Para una descarga de una tabla organizada en columnas que no tiene ninguna limitación definida para el uso de las CPU, el número de columnas que se deben procesar en paralelo se calcula de la forma siguiente: (16/4)*2 = 8.