Tome el control de su integración de datos de ELT con Pushdown Optimization en Astera Centerprise 8.0

By | 2019-08-23T10:48:59+00:00 19th julio, 2019|

At AsteraEstamos buscando constantemente expandir nuestras capacidades de integración de datos para satisfacer mejor las necesidades de los usuarios comerciales y desarrolladores en una variedad de entornos.

Como parte de esta constante evolución, hemos introducido Extraer-carga-transformación (ELT) funcionalidades a nuestro producto estrella, Astera Centerprise. Esta "empuje hacia abajo mode ”introduce escalabilidad, rendimiento y facilidad de gestión mejorados incluso en las infraestructuras de datos más complejas.

A diferencia de las tres etapas tradicionales. Proceso de extracción-transformación-carga (ELT), ELT no requiere que los datos se procesen a través de un servidor de almacenamiento centralizado antes de que se envíen a su destino. En su lugar, ELT aprovecha la capacidad informática inherente de un RDBMS de alto rendimiento para realizar todas o algunas de las funciones de procesamiento de datos dentro del sistema de base de datos de destino.

Fig.1: Extracción de datos de nómina de las tablas de ventas y empleados

Fig.2 SQL generado en el flujo de datos normal de ETL

Figuras 1 y 2 Representar ETL en un flujo de datos normal. En este caso, las tablas se extraen de las bases de datos de ventas y empleados de una organización. Estas tablas luego se unen a una tabla de facturación y se procesan a través de varias transformaciones para determinar qué vendedores son elegibles para recibir bonificaciones en función de su desempeño durante un período de dos meses. Los datos resultantes se cargan en una base de datos específica de nómina.

Como puede ver, la consulta SQL solo se genera para extraer columnas relevantes de estas dos tablas, mientras que las transformaciones reales se aplican automáticamente dentro del motor ETL.

ELT en Centerprise

In CenterpriseEn el modo pushdown, todos los datos relevantes se cargan directamente en estos sistemas, y las transformaciones necesarias se aplican en la base de datos de origen o de destino en forma de consultas SQL.

Centerprise actualmente es compatible con la optimización de inserción para MSSQL, PostgreSQL, Oracle, Db2 y sistemas de bases de datos MySQL. Todas las consultas se generan automáticamente en función de la lógica de transformación existente que se transforma en código SQL nativo de acuerdo con la plataforma de base de datos de destino en uso. Estas consultas se ejecutan en paralelo con el proceso de carga, lo que significa que las tasas de rendimiento se pueden maximizar, mientras que los tiempos de espera entre la transformación de datos y la entrega al usuario final se mejoran considerablemente.

Con ELT, el tamaño de los datos se convierte en una preocupación menos apremiante. Mientras que los conjuntos de datos más grandes producirán consultas de ejecución más largas, los tiempos de procesamiento de las consultas aún se mejoran considerablemente. Como resultado, todo, desde la información de las redes sociales y las métricas de rendimiento en tiempo real hasta las corrientes de información derivadas de las aplicaciones basadas en la nube y las API, se puede cargar y transformar con la máxima eficiencia.

Este proceso de integración es ideal para los sistemas de informes modernos que suministran volúmenes crecientes de datos semiestructurados y no estructurados a la empresa.

Fig.3 SQL generado en el flujo de datos ELT

Por ejemplo, si tomamos las mismas transformaciones de Fig.1, y ejecutarlos en modo de optimización pushdown, veremos un código mucho más complejo generado. Fig.3 ilustra cómo las transformaciones que fueron procesadas previamente en Centerprise ahora se han convertido en código SQL que se puede ejecutar directamente en la base de datos de destino.

ETL vs. ELT

La optimización de empuje acelera una serie de tareas ETL comunes, como cálculos, búsquedas y agregaciones.

ETL

ELT

CálculosLos cálculos a nivel de fila tienen lugar en el motor ETL. Una vez que se aplique la transformación, la columna existente se sobrescribirá o se agregará una nueva columna a su fuente.Los datos sin procesar se leen de la base de datos antes de la transformación. Los cálculos se realizan en columnas específicas que luego se agregan simplemente a las tablas existentes utilizando SQL nativo de la base de datos.
BúsquedasEl motor ETL asignará los valores de una tabla de referencia a una fuente de datos. Una búsqueda exitosa requiere que todos los datos de referencia estén disponibles. Si se usan grandes conjuntos de datos, se reduce la eficiencia de búsqueda. Es posible que deba implementar el almacenamiento en caché parcial o total para resolver estos problemas de rendimiento.Las búsquedas en las bases de datos se logran comúnmente mediante uniones externas a la izquierda en la tabla de búsqueda. Los usuarios también pueden optimizar estos procesos aplicando índices en las columnas de búsqueda. Como los conjuntos de datos completos se cargan en la base de datos, la disponibilidad de las fuentes no es una preocupación. Todas estas características proporcionan importantes beneficios de rendimiento sobre el procesamiento ETL.
AgregacionesLas transformaciones agregadas pueden ser complejas, especialmente cuando grandes cantidades de datos granulares y agregados se mueven a varias tablas.

Los motores de bases de datos modernos están equipados para procesar y mover grandes volúmenes de datos dispares y pueden realizar transformaciones de agregación extremadamente rápido.

Pushdown completo vs. pushdown parcial en Centerprise

En el modo de optimización pushdown, Centerprise analizará el mapeo entre las fuentes y los objetivos para determinar qué parte de la transformación se puede transferir al nivel de la base de datos en cualquiera de los extremos del proceso de integración.

Si el flujo de datos utiliza un origen o destino que no es de la base de datos, o si la base de datos de destino está ubicada en un servidor diferente, entonces solo se completará una reducción parcial. Por ejemplo, si ejecutamos las mismas transformaciones en Higo. 1 pero cargue los datos resultantes en un destino de Excel, el código SQL se enviará solo a la base de datos de origen.

Fig.4 Mensaje de error en la ventana de progreso del trabajo

Fig. 5: SQL generado cuando se emplea un destino que no es de base de datos

La ventana de progreso del trabajo representada en Higo. 4 ilustra que esta transformación en particular solo se puede enviar a la base de datos del lado de la fuente. Como puedes ver desde Higo. 5, la Insertar en La declaración también se ha omitido del código SQL que se generó para este flujo de datos.

Si una transformación específica no se puede convertir en código SQL nativo de la base de datos, Centerprise procesará automáticamente este paso de la transformación a través del servidor ETL. Las últimas versiones de Centerprise admite una amplia variedad de transformaciones que incluyen agregados, ordenados y uniones junto con varias expresiones complejas que incluyen el análisis de nombres y direcciones, así como la concatenación. En estos casos, se desplegará el modo de empuje parcial o el procesamiento ETL tradicional.

Como esta transformación no se puede escribir en la lógica SQL, solo se aplicará una optimización de reducción parcial. El éxito de la implementación de ELT se puede verificar haciendo clic en Verificar Pushdown botón en la barra de herramientas.

Verifique el botón de empuje

Esto abrirá una nueva ventana que muestra los posibles errores y advertencias que se produjeron durante el proceso de pushdown.

Fig. 6: Transformación ELT no soportada en el flujo de datos

Fig. 7: Mensaje de error para transformación ELT no soportada

Aquí, hemos agregado una función matemática que nos permite redondear las cifras de valor de ventas al número entero más cercano. Como esta función no es compatible con la base de datos de destino, la acción se procesa en el motor ETL en su lugar. los Verificar Pushdown Identifica inmediatamente esta limitación.

Habiendo dicho eso, Centerprise proporciona a los usuarios la capacidad de implementar modificaciones que les permitan solucionar algunas de estas limitaciones.

Por ejemplo, ciertas transformaciones no compatibles pueden sustituirse por funciones compatibles que crean la misma salida de flujo de datos. Esto se puede aplicar a la Distinto Transformación que solo se puede ejecutar en modo de optimización pushdown cuando se usan campos individuales o diseños de campo completos. En este caso, el Distinto la transformación puede ser reemplazada por una Filtrar transformación que se establece para entregar valores dentro de un rango específico al archivo o base de datos de destino.

Del mismo modo, los usuarios técnicos con una comprensión más profunda de la base de datos SQL nativa pueden anular Centerprise- Declaraciones generadas mediante el uso de la función PushdownSQL () para pasar un código SQL predefinido al servidor de base de datos durante la inserción.

Fig. 8: Manual Configuración de pushdown de SQL en la ventana de propiedades de la función

Si bien la reducción parcial de datos aún ofrece mejoras sustanciales en el rendimiento con respecto a la ETL tradicional, todos los beneficios de la optimización de la reducción se obtienen cuando toda la lógica de transformación se puede procesar dentro de la base de datos de origen y destino.

Sin embargo, las transacciones ELT más grandes pueden bloquear la base de datos durante períodos más prolongados de tiempo, lo que podría impedir que los usuarios accedan a ellos con fines comerciales. Estas transformaciones también pueden ser más vulnerables a errores inesperados. Puede sortear estos problemas asignando su proceso para la optimización de la inserción parcial en su lugar.

In Centerprise 7.5, introdujimos una nueva característica que permite a los usuarios omitir ciertos objetos del modo de optimización pushdown. Esta capacidad puede ayudar a delegar procesos de cuellos de botella al servidor ETL en lugar de a la base de datos.

Fig. 9: 'Opción de menú "Excluir de pushdown"

Aunque el motor ETL puede manejar estas transformaciones con facilidad, también introducirá una carga adicional a su red. En el ejemplo proporcionado anteriormente, la optimización de inserción reducía considerablemente el tiempo de procesamiento del flujo de datos.

Tiempo de procesamiento de flujo de datos en el servidor ETL

Tiempo de procesamiento de flujo de datos en modo de optimización de pushdown

Estos beneficios de rendimiento solo se hacen más evidentes a medida que aumenta el volumen y la complejidad de sus flujos de datos. Como lo demuestra el siguiente caso de uso, en el modo de optimización de pushdown, Centerprise puede cargar y transformar miles de registros en segundos utilizando funcionalidades nativas de base de datos con un impacto mínimo en sus servidores.

Optimización de empuje en acción

Recientemente pudimos mostrar los beneficios de rendimiento de la optimización de empuje en una de las aseguradoras de seguros generales más grandes de los Estados Unidos. El cliente posee una cartera de suscripción diversa que abarca más de los países 70, múltiples industrias y una gama de productos especializados para pequeñas y medianas empresas.

Sin embargo, a medida que crecieron sus requisitos, la compañía ha luchado para estructurar una vasta infraestructura de datos que abarca información detallada sobre políticas obtenida de varias subsidiarias, tablas actuariales, junto con comentarios en tiempo real sobre las tasas de primas fluctuantes y las comisiones de los agentes.

Fig. 10: Alto volumen, flujo de datos complejos

Antes de que se implementara la optimización de empuje, la organización pasaba hasta cuatro horas seguidas limpiando, enriqueciendo y transformando estos datos a través del servidor de prueba antes de migrarlos a los sistemas de entrega. Este largo proceso también tomó una cantidad significativa de recursos de red.

Cuando la compañía se acercó a nosotros para resolver estos problemas, reconocimos que sus inquietudes podrían resolverse de manera efectiva cambiando a ELT. Nuestro equipo de servicio utilizó el verificar pushdown función para evaluar los cambios que fueron necesarios para alinear sus flujos de datos para la optimización de la reducción de carga.

No se pudo implementar el pushdown completo en esta instancia, porque la compañía estaba buscando cargar sus datos en destinos delimitados en lugar de un RDBMS. Sin embargo, aún pudimos realizar varios ajustes para garantizar que la mayor parte de la lógica de transformación se ejecutara en la base de datos en lugar de a través de Centerprise motor.

Después de implementar estas modificaciones, pudimos reducir el tiempo de ejecución de este flujo de datos a solo 50 segundos en el modo de optimización pushdown.

Nuevas características de optimización de pushdown están llegando a Centerprise

Como parte de la Centerprise En la implementación de 8.0, hemos agregado una serie de nuevas funcionalidades al modo de optimización pushdown que les permite a los usuarios tomar aún más control de sus procesos de integración ELT. Aquí hay un breve resumen de lo que puede esperar.

Vista previa de pushdown

In Centerprise 8.0, hemos agregado un nuevo panel de vista previa que brinda a los usuarios una vista completa de sus flujos de datos que se ejecutan en el modo de optimización de inserción, así como las declaraciones SQL relacionadas que se han generado y enviado a la base de datos de origen y / o destino. Esta vista completa también permite a los usuarios técnicos modificar el código SQL para sus flujos de datos de inserción.

Elija entre Optimización de origen, destino o Pushdown completo

Versiones anteriores de Centerprise Soporta tanto la optimización de origen como de destino. Hay casos de uso en los que la implementación de optimización de pushdown completa puede ser más beneficiosa.

Por ejemplo, las búsquedas de dimensiones son una parte clave de Astera's Data Warehouse Builder. Proporcionan a los usuarios la posibilidad de seleccionar filas de dimensiones adecuadas para un hecho determinado.

Sin embargo, antes de que los datos de la tabla de hechos se puedan cargar en un almacén de datos, es posible que se deban realizar varias combinaciones en la base de datos de origen en el modo de optimización de inserción. A medida que estos datos se mueven al destino, también será necesario realizar muchas búsquedas de dimensiones en el servidor ETL para permitir que los datos se escriban en su destino. En Centerprise 7, solo se implementaría la optimización de pushdown del lado de la fuente para esta transformación.

En la versión 8.0, los usuarios ahora pueden optar por ejecutar estas transformaciones en su totalidad en pushdown. Cuando se selecciona esta opción, Centerprise creará una tabla de preparación en la base de datos de destino que se puede usar para realizar búsquedas de dimensiones simultáneamente con uniones del lado de origen, de modo que los datos se puedan escribir en el destino de una manera mucho más eficiente. Estas consultas compuestas pueden crear importantes mejoras de rendimiento para su "flujo de datos".

Consejos de consulta

La mayoría de los RDBMS modernos vienen equipados con optimizadores integrados que encuentran automáticamente el plan de ejecución más eficiente en recursos para cada consulta. Sin embargo, estos planes a veces no pueden producir el rendimiento esperado durante la ejecución del flujo de datos. En este caso, los usuarios pueden emplear sugerencias de consulta para anular el optimizador y tomar control directo sobre cómo se procesan los datos en la base de datos.

En próximas versiones de Centerprise, los usuarios podrán aplicar sugerencias a varias transformaciones, incluidas agregaciones, uniones y uniones en el modo de optimización de pushdown. También se pueden usar para controlar cómo se escanean las tablas, el orden de las operaciones para una función determinada o la asignación de recursos del sistema para un trabajo específico.

Generar flujos de datos pushdown

Con Centerprise 8, puede generar flujos de datos pushdown para revisar y comprender las declaraciones SQL generadas en el modo de optimización pushdown. Esta representación visual ayudará a los usuarios a optimizar su flujo de datos para el rendimiento y la escalabilidad.

Pushdown de acción específica

In Centerprise 8.0, puede seleccionar cualquier acción en un flujo de datos y elegir no presionarlo. Esta opción es útil en situaciones en las que nuestro motor ETL ejecuta una transformación diferente a la forma en que se realizaría en la base de datos.

Soporte para bases de datos

Centerprise 8.0 agregará soporte para varias de las principales soluciones de almacenamiento de datos MPP, tales como:

  • Netezza
  • Teradata
  • Desplazamiento hacia el rojo

Mapas de funciones personalizadas

Centerprise proporciona una serie de funciones incorporadas que permiten a los usuarios procesar datos entrantes de acuerdo con una variedad de reglas lógicas. Cuando Centerprise empuja estas funciones a la base de datos, usa una tabla para asignarlas a las funciones de base de datos correspondientes. Las tablas de funciones de la base de datos ETL utilizadas con frecuencia se incluyen en todas las versiones de nuestra solución.

Sin embargo, si una función no está asignada, la transformación relacionada no puede ser empujada hacia abajo. Esto, a su vez, afectará también a todas las transformaciones posteriores en el flujo de datos. En Centerprise 8.0, los usuarios pueden agregar manualmente la asignación para estas funciones para permitir la inserción de transformaciones relacionadas en la base de datos.

Obtenga más información sobre el modo Pushdown en Astera Centerprise 8.0

CenterpriseLas capacidades avanzadas de pushdown son ideales para cualquier organización que quiera llevar los beneficios de rendimiento de la integración de ELT a su arquitectura de datos. Para obtener más información sobre la gama de capacidades de procesamiento de datos admitidas en nuestra última versión, permanezca atento a nuestro próximo documento técnico que cubrirá estas características en profundidad. Si está buscando una introducción más específica a nuestro caso de uso para nuestro producto, también puede programar una consulta privada Con nuestro equipo de ventas y soporte.