Gestión de dependencias ETL con SAP BusinessObjects Data Services (Parte 4)

¿Está satisfecho con la forma en que actualmente gestiona las dependencias en su ETL? En la parte 1 de este artículo , Hablé sobre las características que esperaba de un sistema de gestión de dependencias y cuáles son las principales posibilidades ofrecidas (directa o indirectamente) por Data Services. En parte 2 , Propuse una arquitectura (estructura y comportamiento esperado) para un sistema de gestión de dependencias dentro de Data Services. En parte 3 , Les expliqué los detalles completos de la implementación. En esta parte final, voy a darle una retroalimentación sobre cómo fue "en la vida real", así como las posibles mejoras. Por lo tanto, la pregunta más importante es, por supuesto, "¿Funciona?". Estoy feliz de confirmar que sí, lo hace! Y hace una gran diferencia en la vida del administrador de servicios de datos del cliente. Por supuesto que no cambia nada si el ETL está funcionando bien, pero cuando hay problemas, este sistema de gestión de la dependencia puede ser un gran ahorro de tiempo!

En su entorno, nuestro cliente tenía 64 flujos, con 86 dependencias entre ellos (esto es igual al número de filas de la tabla FLOW_DEPENDENCIES). Tomemos un ejemplo de la vida real: debido a una nueva excepción, se produjo un error en el flujo responsable de la dimensión del cliente. Como consecuencia, no se ejecutaron 5 flujos dependientes (cuáles fueron las tablas de hechos pobladas). ¿Cuál habría sido el siguiente paso para el administrador después de arreglar la excepción? Sin el sistema de gestión de dependencias, tendría que volver a ejecutar todo el ETL (incluidos los 58 flujos que ya se habían ejecutado con éxito), o para crear un nuevo trabajo con sólo 6 los flujos, preste atención a la Variables, etc. Pero ya que ahora tiene el sistema de administración de dependencias, el administrador simplemente vuelve a ejecutar el trabajo dando el ID del último trabajo y todos los flujos que se ejecutaron con éxito simplemente se saltan.

En general, el ahorro de tiempo y la paz de la mente son realmente apreciados por el cliente.

Ahora, ¿podemos mejorar este sistema? ¡Seguro! 2 posibles mejoras:

  • Enviar un correo electrónico al administrador al final del trabajo con un resumen de lo que sucedió. Esto se puede hacer dentro de un script al final del trabajo. La siguiente imagen muestra un ejemplo. Observará que he incluido ejemplos de consultas SQL para facilitar al administrador el análisis de lo que sucedió.

ETL_Dependencies_12

  • Es un poco fuera del ámbito de este artículo, pero puede utilizar la tabla FLOW_STATUS para crear un informe sobre el estado técnico de los procesos empresariales. Este informe permitiría a los usuarios finales ver fácilmente si los datos que necesitan se han cargado hoy. Puede ver a continuación un ejemplo de un informe de estado de proceso empresarial.

ETL_Dependencies_13

 

Hay una pregunta final de la que no he hablado todavía: ¿cómo organizamos los flujos en el trabajo? Cuando utilicé este sistema de gestión de dependencias por primera vez, empecé por extraer datos de los sistemas de origen, seguidos por todas las tablas de dimensiones y terminé con todas las tablas de hechos. Hoy haría las cosas de otra manera, basado en una presentación hecha por Werner Daehn (un Gerente de Producto de SAP), crearía un flujo de trabajo por proceso de negocio. Por ejemplo, un flujo de trabajo para el proceso de negocio del Libro mayor, con todos los flujos necesarios para la extracción de datos, las dimensiones y las tablas de hechos. El trabajo ejecutaría el flujo de trabajo para el proceso de negocio 1, luego para el proceso de negocio 2, etc. Esta organización permite pruebas independientes fáciles de cada proceso empresarial. Pero aquí usted puede pensar: "Ok, pero ¿qué pasa con las dimensiones / extracciones que se utilizan en múltiples procesos de negocio? ¿Funcionará el trabajo varias veces?" Ese problema se evitará comprobando la opción "Ejecutar sólo una vez" para cada flujo de trabajo en cuestión.

Ahora he alcanzado el paso final en mi ETL sistema de la gerencia de la dependencia. ¿Que piensas de eso? ¿Alguna pregunta? ¿Lo has probado por ti mismo? Hazme saber publicando un comentario a continuación.

EspañolEnglish