Consejos y técnicas para mejorar el rendimiento de la optimización de pushdown en Centerprise

By | 2019-08-23T12:39:52+00:00 23rd agosto, 2019|

La adopción generalizada de bases de datos en la nube y sistemas de informes transaccionales en todo el panorama empresarial ha llevado a un crecimiento exponencial en el volumen y la variedad de datos que se mueven a través de las organizaciones. Como resultado, los analistas que alguna vez tuvieron la tarea de extraer información de miles de registros ahora tienen que lidiar con conjuntos de datos que ascienden a millones o incluso miles de millones.

En este entorno, la tecnología responsable del procesamiento de datos y la entrega de inteligencia empresarial a los tomadores de decisiones relevantes ha sufrido una nueva tensión. Las herramientas ETL tradicionales tienen la tarea de manejar operaciones de datos cada vez más complejas y de alto volumen, mientras que los servidores de transformación se llevan al límite.

Definitivamente el ELT puede disminuir significativamente esta carga al descargar el procesamiento de datos intensivo en recursos a RDBMS escalable basado en la nube, la optimización pushdown no puede reemplazar a ETL por completo. Cualquier flujo de datos que contenga fuentes y destinos que no sean de la base de datos, o transformaciones no compatibles, aún requerirá la extracción a un servidor intermediario. Además, ciertas operaciones pueden funcionar de manera más eficiente cuando se empujan a través de una herramienta ETL especialmente diseñada.

En la último lanzamiento de Centerprise, nuestro objetivo es proporcionar a nuestros usuarios la capacidad de personalizar y combinar ambos ETL y procesos ELT para garantizar un rendimiento óptimo incluso en sus flujos de datos más complejos. Muchas de las mejoras observadas en esta compilación son el resultado directo de los comentarios prácticos recibidos de los clientes que han luchado por obtener todos los beneficios de la optimización de pushdown en sus propios procesos comerciales. Estos son algunos de los cambios clave que hemos realizado en Centerprise 8.0.

Limitar clasificaciones en memoria

Como transformación a nivel de bloque, los tipos requieren que todos los conjuntos de datos de entrada se almacenen en la memoria caché antes de que se puedan ordenar de acuerdo con los criterios del usuario. Estas operaciones no solo se limitan a la transformación de clasificación, sino que otras transformaciones, como los agregados y las combinaciones, también ofrecen la opción de ordenar los datos entrantes antes de que se procesen más. Como resultado, un flujo de datos puede involucrar varias instancias de esta costosa transformación que ocurre a través del flujo de datos, lo que, por supuesto, aumentará significativamente su tiempo de ejecución.

Por esta razón, recomendamos ordenar los conjuntos de datos de entrada en la fuente antes de que se importen a Centerprise servidor ejecutando esta transformación en modo de optimización pushdown. Además, cualquier transformación excluida de pushdown que proporcione opciones para ordenar datos debe tener esta configuración deshabilitada para garantizar la máxima eficiencia en la tubería de flujo de datos.

Verificar y corregir expresiones booleanas inválidas

En modo de optimización pushdown, Centerprise convertirá automáticamente los valores booleanos en enteros (por ejemplo, 1 y 0 para salidas verdaderas o falsas) para mejorar la funcionalidad de las declaraciones SELECT de la base de datos. Sin embargo, esta característica puede generar problemas cuando se utilizan expresiones booleanas en el flujo de datos. Estas instrucciones WHERE requieren operadores adicionales para ejecutarse correctamente, es decir, IIF (1 = 1, 1, 0). Pero en el modo de optimización pushdown, las expresiones booleanas se convierten de la siguiente manera: IIF (1,1,0). Si bien esta declaración es válida desde el punto de vista lógico, generará errores cuando se utilicen expresiones booleanas anidadas.

Por ejemplo, cuando la cláusula IIF interna se convierte en la siguiente expresión:

IIF (IIF (CHARINDEX ('Accrual', [DimClaim]. [ClaimSource])> 0, 1, 0), 'Accrual', [DimClaim]. [ClaimSource])

produce una salida de:

IIF (1, 'Accrual', [DimClaim]. [ClaimSource])

que es una declaración sintácticamente inválida.

En tales casos, el usuario deberá corregir la expresión por sí mismo agregando el operador 1 = 1 manualmente en el flujo de datos. El ejemplo anterior podría cambiarse a una declaración CONTAINS de la siguiente manera:

If (Contiene ("Accrual", [DimClaim]. [ClaimSource])) = verdadero, "Accrual", [DimClaim]. [ClaimSource])

In Centerprise 8, hemos facilitado el intercambio de expresiones entre las instrucciones SELECT y WHERE al agregar soporte para variables (objetos reutilizables) en el modo de optimización pushdown.

Excluir objetos de pushdown donde sea preferible

Alternativamente, el usuario puede eximir las expresiones del modo pushdown por completo usando el nuevo "Excluir de Pushdown"Atributo. Esta característica también es útil para ejecutar objetos que no pueden asignarse de manera eficiente a la base de datos de origen o destino, o aquellos que funcionan de manera diferente en la base de datos.

Por ejemplo, cuando las expresiones dan como resultado una salida X = Y, donde X e Y son valores nulos, Centerprise es capaz de evaluar las expresiones como verdaderas. Sin embargo, si estos valores están contenidos dentro de una cláusula WHERE en la base de datos, siempre se evaluarán como falsos. En este caso, sería preferible ejecutar la expresión a través de la herramienta ETL en lugar de en ELT.

En casos anteriores, hemos podido aumentar los tiempos de ejecución del flujo de datos del cliente en 30 minutos o más mediante la exclusión juiciosa de objetos y expresiones en función de su idoneidad para el pushdown.

Verifique las transformaciones pushdown compatibles

Ciertas expresiones if / else también podrían convertirse en transformaciones de interruptor que ahora son compatibles con Centerprise. En la base de datos, esta función funciona de manera similar a una declaración CASE y se puede usar para simplificar expresiones complejas. Las versiones más recientes de Centerprise también incluye soporte para campos de diseño que carecen de un puerto de entrada, así como una serie de otras funciones ETL que ahora pueden replicarse de manera confiable en bases de datos compatibles.

Para obtener una lista completa de las transformaciones admitidas actualmente en Astera Centerprise modo pushdown, consulte nuestra guía completa sobre este tema.

Mejore el rendimiento del flujo de datos con sugerencias SQL manuales

Si un usuario siente que el optimizador de la base de datos está ejecutando su flujo de datos de una manera menos que óptima, puede usar sugerencias del optimizador para modificar el plan de ejecución. En Centerprise, estas sugerencias se pueden ingresar en la pestaña del planificador para el flujo de datos, como resultado, las sugerencias se aplicarán a todas las consultas y fuentes en el flujo.

En un caso de uso anterior, nuestro cliente pudo emplear sugerencias de optimizador para permitir grados adicionales de paralelismo a su flujo de datos, asegurando así que los recursos del servidor se maximizaran para ejecutar un proceso ELT intensivo en recursos en el que se reunieron varias fuentes de datos diferentes en un consulta única

El optimizador de sugerencias de consulta también será útil durante el proceso de carga del almacén de datos cuando las tablas de dimensiones de diferentes fuentes se unan a una tabla de hechos en el servidor de ensayo. En estos casos, el usuario puede hacer uso de sugerencias SQL para decidir qué se organiza y cómo lograr un rendimiento óptimo.

Tome el control del procesamiento de datos de su empresa

Esta combinación de funciones y optimizaciones adicionales debería brindar a nuestros usuarios la capacidad de controlar la eficiencia y el rendimiento general de sus operaciones ETL y ELT en cada paso de su viaje de datos. Ya sea que estén diseñando nuevos almacenes de datos empresariales o migrando sus registros a una infraestructura de base de datos en la nube, CenterpriseLas capacidades de pushdown pueden resultar esenciales.

Para obtener más información sobre cómo el modo de optimización pushdown puede beneficiar a su negocio, consulte los otros blogs de esta serie o programe un consulta personal con nuestro equipo de ventas hoy.