Pautas de diseño para obtener un rendimiento óptimo

Diseñar con detenimiento los flujos de datos es lo más importante que puede hacer para que el rendimiento de Spectrum Technology Platform sea bueno. En las siguientes pautas se describen técnicas que pueden utilizarse para optimizar el rendimiento de los flujos de datos.

Reducción de la cantidad de etapas

Spectrum Technology Platform logra un alto rendimiento mediante el procesamiento paralelo. Cada etapa de un flujo se ejecuta de manera asincrónica en su propio subproceso. Sin embargo, es posible que los procesadores usen demasiados subprocesos al ejecutar determinados tipos de flujos de datos. Cuando ocurre esto, el sistema tarda el mismo, o más, tiempo en administrar los subprocesos que en realizar el "verdadero trabajo". Se han observado flujos de datos que tienen hasta 130 etapas separadas cuyo rendimiento es bastante bajo en los servidores pequeños con uno o dos procesadores.

Por lo tanto, lo primero a tener en cuenta para diseñar flujos de datos de buen rendimiento es que deben utilizarse solo las etapas necesarias. Estos son algunos ejemplos de utilización de más etapas de lo necesario:

  • Utilización de varios enrutadores condicionales cuando uno sería suficiente.
  • Definición de varias etapas de transformación en lugar de combinar las transformaciones en una sola etapa.

Afortunadamente, por lo general es posible volver a diseñar estos flujos de datos para eliminar etapas redundantes o innecesarias y mejorar el rendimiento.

Para flujos complejos, considere usar flujos o subflujos integrados con el fin de reducir los problemas del lienzo y facilitar la visualización y navegación del flujo. El uso de flujos integrados no tiene una ventaja en cuanto a rendimiento en el tiempo de ejecución, pero facilita el trabajo con flujos en Enterprise Designer. El uso de subflujos para simplificar los flujos complejos puede mejorar el rendimiento de Enterprise Designer durante la edición de flujos.

Reducción de la longitud del registro

Como los datos pasan por varias etapas que se ejecutan de forma concurrente, otra de las consideraciones que se deben tener en cuenta es la longitud de los registros de entrada. Por lo general, la entrada que tiene registros más largos requiere más tiempo para ser procesada que la entrada con registros más cortos, porque hay más datos para leer, escribir y ordenar. Los flujos de datos que tienen muchas operaciones de ordenación, en particular, funcionarán mejor si la longitud del registro es reducida. En los casos en que la longitud de los registros es muy amplia, puede ser más rápido eliminar los campos innecesarios de la entrada antes de realizar el trabajo de Spectrum Technology Platform y, luego, volver a incorporarlos en el archivo de salida resultante.

Uso adecuado de la ordenación

Otra cuestión para considerar es la minimización de operaciones de ordenación. Por lo general, la ordenación lleva más tiempo que otras operaciones y puede ser problemática a medida que aumentan la cantidad y el tamaño de los registros de entrada. Sin embargo, muchas etapas de Spectrum Technology Platform requieren o prefieren que los datos de entrada estén ordenados. Por ejemplo, los módulos Universal Addressing (Direcciones universales) y Enterprise Geocoding (Geocodificación de empresa) funcionan mejor si la entrada está ordenada por país y código postal. Etapas como Intraflow Match (Cruce de intraflujo) e Interflow Match (Cruce de interflujo) requieren que la entrada esté ordenada según el campo "Agrupar por". En algunos casos, puede utilizarse una aplicación de ordenación externa para ordenar de manera preliminar los datos de entrada, lo que puede ser más rápido que la ordenación dentro del flujo de datos de Spectrum Technology Platform.