Herramientas de aceleración de búsqueda guardadas

En entornos de IBM® BPM no federados, puede utilizar las herramientas SchemaGenerator y DataLoad para optimizar búsquedas guardadas.

Importante: La información siguiente se aplica a Heritage Process Portal (en desuso) y a Process Portal.
La optimización de las búsquedas guardadas implica crear dos tablas nuevas: LSW_BPD_INSTANCE_VAR_NAMES (table de variables) y LSW_BPD_INSTANCE_VARS_PIVOT (tabla dinámica). Estas herramientas crean el esquema que es necesario para optimizar el rendimiento de la búsqueda guardada.

Requisitos previos

Antes de iniciar este proceso, tendrá que detener el servidor.

1. Generar un esquema

Para optimizar búsquedas guardadas, primero necesitará generar un esquema para las nuevas tablas. Vaya al directorio raíz_instalación/BPM/Lombardi/tools/search-optimizer y entre el mandato siguiente:
./SchemaGenerator.{sh|bat} -profileName NOMBRE_PERFIL -deName ENTORNO_DESPLIEGUE -OPTION
Están disponibles los parámetros siguientes para su utilización con la herramienta SchemaGenerator:
-profileName
El perfil del nodo de Process Server. Este perfil puede ser Node01Profile o Process01Node, en función del nombre utilizado durante la instalación. El parámetro -profileName es opcional; utilícelo si desea ejecutar la herramienta en un perfil que sea diferente del perfil predeterminado para su entorno.
-deName
Un parámetro que especifica el nombre del entorno de despliegue actual. Si solo existe un entorno de despliegue en la celda de WebSphere Application Server, puede omitir este parámetro.
OPTION
Este argumento puede adoptar uno de los valores siguientes:
-execute
La herramienta crea inmediatamente todo el esquema.
-output NOMBRE_ARCHIVO
En lugar de crear inmediatamente el esquema, la herramienta escribe todas las sentencias SQL en el archivo de base de datos definido por NOMBRE_ARCHIVO.
-screen
En lugar de crear inmediatamente el esquema, la herramienta escribe todas las sentencias SQL en la ventana de mandato.

Al elegir la opción -output o -screen, puede primero revisar los cambios que realizará la herramienta y, después, realizarlos manualmente. Si elige cualquier opción que no sea -execute, debe ejecutar manualmente la sentencia SQL antes de continuar. A continuación, puede revisar los cambios que desea que realice la herramienta y puede realizar cualquier cambio que sea necesario para el entorno antes de ejecutarlo como, por ejemplo, proporcionar sugerencias SQL o añadir índices.

Consejo:
  • La sentencia SQL generada podría ser demasiado larga para el procesador de la línea de mandatos SQL si el sistema contiene un número muy grande de variables de búsqueda. Podría ver el error SP2-0027: Input is too long (> 2499 characters). Para resolver el problema, divida la sentencia en varias líneas de menos de 2500 caracteres cada una.
  • Si ejecuta la sentencia SQL manualmente, consulte el equipo de soporte de IBM antes de cambiar cualquier nombre de columna o tipo de datos.

Ejemplos de generación de esquema

-execute
A continuación, se muestra un ejemplo que utiliza la opción -execute.
>./SchemaGenerator.sh -execute
INFO  SchemaGenerator - SchemaGenerator starting
INFO  SchemaGenerator - dbdriver   : oracle.jdbc.driver.OracleDriver
INFO  SchemaGenerator - dburl      : jdbc:oracle:thin:@utica.lombardiqa.com:1521:uticasid
INFO  SchemaGenerator - dbuser     : adminusr
INFO  SchemaGenerator - Processing BPD ID 784afc31-e47b-4e83-b596-20b3cee2b422
INFO  SchemaGenerator - Processing BPD ID c904b3b1-afc1-4698-bf5a-a20892c20275
INFO  SchemaGenerator - Processing BPD ID e39cc53a-b75c-498c-8c28-43761fb73f2d
INFO  SchemaGenerator - Finished processing BPDs
INFO  SchemaGenerator - Executing Pivot Table DDL
INFO  SchemaGenerator - Executing Variable Names Table DDL
INFO  SchemaGenerator - Executing insert statements for Variable Names Table
INFO  SchemaGenerator - SchemaGenerator completed successfully.
-output
A continuación, se muestra un ejemplo que utiliza la opción -output:
>./SchemaGenerator.sh -output pivot.sql
INFO  SchemaGenerator - SchemaGenerator starting
INFO  SchemaGenerator - dbdriver   : oracle.jdbc.driver.OracleDriver
INFO  SchemaGenerator - dburl      : jdbc:oracle:thin:@utica.lombardiqa.com:1521:uticasid
INFO  SchemaGenerator - dbuser     : adminusr
INFO  SchemaGenerator - Processing BPD ID 784afc31-e47b-4e83-b596-20b3cee2b422
INFO  SchemaGenerator - Processing BPD ID c904b3b1-afc1-4698-bf5a-a20892c20275
INFO  SchemaGenerator - Processing BPD ID e39cc53a-b75c-498c-8c28-43761fb73f2d
INFO  SchemaGenerator - Finished processing BPDs
INFO  SchemaGenerator - Writing DDL to pivot.sql
INFO  SchemaGenerator - Finished writing DDL to pivot.sql
INFO  SchemaGenerator - SchemaGenerator completed successfully.

2. Cargar datos

Después de que se hayan creado las tablas y se carguen todas las variables en la tabla de variables, debe cargar la tabla LSW_BPD_INSTANCE_VARS_PIVOT con datos utilizando la herramienta DataLoad. La herramienta carga todas las instancias de BPD que se encuentran actualmente en el servidor. La carga de los datos permite que las consultas de búsqueda utilicen las tablas pivote y busquen los datos. Cuando se crean instancias nuevas, las instancias se modifican o se limpian (mediante el script BPMProcessInstancesCleanup), los datos nuevos se cargan automáticamente en las tablas dinámicas o las tablas dinámicas también se limpian.

Vaya al directorio raíz_instalación/BPM/Lombardi/tools/search-optimizer y escriba el siguiente mandato:
./DataLoad.{sh|bat} -profileName NOMBRE_PERFIL -deName
ENTORNO_DESPLIEGUE

La herramienta DataLoad rellena la tabla dinámica con datos de cada instancia de BPD que está desplegada actualmente en la base de datos. Esta herramienta proporciona mensajes de estado para mantenerlo informado sobre su progreso.

Ejemplo de salida de DataLoad

El código siguiente muestra un ejemplo de la salida de DataLoad.
INFO  DataLoad - DataLoad starting
INFO  DataLoad - dbdriver   : oracle.jdbc.driver.OracleDriver
INFO  DataLoad - dburl      : jdbc:oracle:thin:@utica.lombardiqa.com:1521:uticasid
INFO  DataLoad - dbuser     : adminusr
INFO  DataLoad - Started at: 2011-09-06 16:26:11.26
INFO  DataLoad - Count obtained
INFO  DataLoad - Creating values
Processed 1000 records so far plus 1 instances with no variables, current block took 16.97 seconds, 0.95% complete, 0.28 minutes elapsed, 29.55 minutes remaining
Processed 2000 records so far plus 1 instances with no variables, current block took 16.42 seconds, 1.90% complete, 0.56 minutes elapsed, 28.80 minutes remaining
...
Processed 104000 records so far plus 4 instances with no variables, current block took 16.67 seconds, 98.58% complete, 29.11 minutes elapsed, 0.42 minutes remaining
Processed 105000 records so far plus 4 instances with no variables, current block took 16.19 seconds, 99.53% complete, 29.38 minutes elapsed, 0.14 minutes remaining
INFO  DataLoad - Total instances copied into pivot table: 105500
INFO  DataLoad - Total instances with no variable data copied into pivot table: 5
INFO  DataLoad - Finished at: 2011-09-06 16:58:00.891
INFO  DataLoad - DataLoad completed successfully.