ETL, de nuevo, back to the basics y hablamos de errores

Hablábamos de errores no hace mucho en proyectos de Business Intelligence (lo siento pero últimamente me niego a traducir el término). Los errores tanto pueden darse en el diseño lógico del data warehouse, el diseño físico del mismo, así como en los procesos ETL.Ya lo sabemos, pero estamos de revival. Así que no está de más repetirse. ETL es una de las tecnologías para la integración de datos (que por haber existen muchas más y seria un buen tema para otro post). Permite extraer datos del entorno origen, transformarlos según nuestras necesidades de negocio para integración de datos y cargar estos datos en los entornos destino. Justo lo que necesitamos para la construcción de un data warehouse. Los entornos origen y destino son usualmente bases de datos y/o ficheros de todo tipo (xml, txt, xls, csv,…), pero en ocasiones también pueden ser incluso colas de mensajes de un determinado middleware o webservices. Las herramientas de ETL en la práctica mueven o transportan datos entre entornos origen y destino, pero también documentan cómo estos datos son transformados (si lo son) entre el origen y el destino almacenando esta información en un catálogo propio de metadatos; intercambian estos metadatos con otras aplicaciones que puedan requerirlos y administran todas las ejecuciones y procesos de la ETL: planificación del transporte de datos, log de errores, log de cambios y estadísticas asociadas a los procesos de movimiento de datos. Este tipo de herramientas suelen tener una interfaz de usuario de tipo GUI y permiten diseñar y administrar y controlar cada uno de los procesos del entorno ETL. Últimamente los fabricantes de herramientas de ETL han ido añadiendo numerosas funcionalidades a sus productos, de tal manera que gran parte de los productos soportan funcionalidad avanzada:

  • Orígenes de datos adicionales: Además de los típicos gestores de bases de datos estructurados y los ficheros planos, actualmente se ofrece soporte para origen de datos en bases de datos XML, web services y datos no estructurados de todo tipo.
  • Mejoras en transformación de datos, como uso de funciones avanzadas del gestor de base de datos, uso de SQL u otros lenguajes de scripting.
  • Integración con productos de gestión de calidad de datos.
  • Mejoras en la administración: planificación de tareas, administración de los metadatos, gestión automatizada de los errores.
  • Mejoras de rendimiento: aprovechamiento de las capacidades de paralelismo del gestor en origen y destino, soporte de balanceo de cargas, utilización de programas de carga masiva propios del gestor, etc.
  • Mejor usabilidad e interfaz de usuario.
  • Mejor seguridad: soporte de gestores de seguridad externos.
  • En algunos casos, soporte de federación de datos.

Y volviendo a los errores. Puedes tener la mejor herramienta del mundo, el mejor dashboard del mundo, el mejor análisis multidimensional, los mejores informes,… pero si no tienes información buena no sirven para nada. Són sólo dibujos (mejor o peor hechos). Me comentaba de un tiempo para esta parte un amigo al que hacía tiempo no veía que se había procedido a la implantanción en la empresa de una herramienta de Business Intellince. Y claro, un poco con el objetivo de meter el dedo en la llaga, le pregunté si estaba contento. Me dejo que la verdad es que no. Que sólo tenía información nueva una vez al mes. Y que esa información a él sólo le servía un día o como mucho dos. La necesitaba más frecuentemente. Pero mi dijo, sonriendo entre los dientes, que había solucionado el problema. Se fue al de sistemas y le pidió que cada día se pudiera hacer una carga incremental en un fichero excel mediante macros para tener el toda la información del mes presente. La que el necesitaba. Yo le comenté que eso era un fallo de periodicidad en los procesos ETL. Y que debía comentarlo.Esto me lleva a pensar. ¿Alguien se ha dado cuenta lo crítico que en un proyecto Business Intelligence todas las etapas estén bien diseñadas? Que tanto esfuerzo dedicado, tanto tiempo, tantos recursos pueden quedar en nada.Pues a lo que vamos, algunos errores típicos de los procesos ETL:

  • La periodicidad de los procesos ETL no están bien definida.
  • No se realiza una limpieza de datos.
  • No se realiza una ponderación de la calidad de los datos.
  • Los procesos ETL no están bien definidos.

¿Qué más añadirías a esta corta lista?

0 respuestas a «ETL, de nuevo, back to the basics y hablamos de errores»

  1. Estaría bueno que menciones algunas de las herramientas comerciales de ETL… Como para conocerlas, digo 🙂

  2. Ya que lo preguntas existen muchas herramientas. Por ejemplo:

    Comerciales

    Oracle Warehouse Builder de Oracle
    Data Integrator de Business Objects
    IBM Information Server (Ascential) de IBM
    SAS Data Integration Studio de SAS Institute
    PowerCenter de Informatica
    Oracle Data Integrator (Sunopsis) de Oracle
    Data Migrator de Information Builders
    Integration Services de Microsoft
    DataFlow de Group 1 Software (Sagent)
    Business Integrator de Pervasive
    Transformation Server de DataMirror
    Transformation Manager de ETL Solutions Ltd.
    Data Manager de Cognos
    DT/Studio de Embarcadero Technologies
    ETL4ALL 4.2 IKAN
    DB2 Warehouse Edition de IBM

    Open source

    Pentaho Data Integration de Pentaho
    Talend Open Studio de Talend

    Un saludo

  3. Hola,

    estoy haciendo un ETL con Warehouse builder y quería extraer los datos de unos ficheros de log creados por un simulador y meterlos en mi estructura datawarehouse creada tambien con esta herramienta.

    Quería preguntar si es posible hacer esto y si me podías decir cómo, porque ando un poco perdida.
    Para extraer los datos tengo que hacer algo así como un parser? A hay otro método más sencillo?
    Si tienes algun ejemplo parecido, lo agrdecería.

    Muchísimas gracias por tu ayuda.

  4. Está muy bien el artículo, pero permiteme decirte que no te mojas para nada en la mejor herramienta..podias decir, en base a distintos criterios, que herramienta escogerias, independientemente de que sea OpenSource o no.

    Un saludo y gracias nuevamente por tu articulo.

  5. Tienes razón david que no aplico un criterio para escoger una herramienta ETL. Puedes encontrar múltiples comparativas aunque mi recomendación es que en el momento que debas escoger una realizar dicha comparativa en tu organización.

    En dicho criterio es sumamente importante també considerar el integrador que juega un papel fundamental en la implantación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.