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?
Estaría bueno que menciones algunas de las herramientas comerciales de ETL… Como para conocerlas, digo 🙂
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
Gracias por la data Josep !!!
Saludos,
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.
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.
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.