Historia de las herramientas ETL

BI Geek / Arquitecturas  / Historia de las herramientas ETL
bigeek_etl-process

Historia de las herramientas ETL

En el articulo ¿Qué es una ETL? vimos en qué consistían las ETLs y cuál es su objetivo. Los procesos ETL consumen entre el 60% y el 80% del tiempo de desarrollo y de testing de un proyecto Business Intelligence y su diseño es vital para el eficiente rendimiento del mismo. Es por esta razón por lo que en este artículo vamos a  realizar un breve recorrido a lo largo de la historia de estos procesos.

El nacimiento y evolución de todo lo que conlleva la ETL va de la mano del Data Warehouse. Con la aparición de los Data Warehouse que, como se explicó en artículos anteriores,  son bases de datos que integran todos los datos de una compañía, las empresas necesitan combinar los datos desde sus diferentes repositorios origen cargándolos en un único repositorio destino. Originalmente estos procesos se desarrollaban en lenguajes de programación clásicos, Cobol, RPG, PL-SQL, SAS/BASE… entre los cuales PL-SQL fue el que más se asentó en el mercado. A medida que los Data Warehouse fueron ganando importancia en las grandes corporaciones, la programación de los procesos ETL comenzó a estar compuesta de un número elevado de líneas de código que los hacía muy difíciles de mantener. La dificultad de mantenimiento y la lenta curva de aprendizaje que tienen los mismos propició la búsqueda de alternativas.

A mediados de la década de los 90, las empresas más punteras dentro del mundo de los sistemas de información deciden invertir en desarrollar sus propias herramientas. En este momento, empresas como Informatica, IBM, Oracle o SAS comienzan a lanzar potentes herramientas orientadas al diseño y desarrollo de procesos ETL sin la necesidad de programarlas exclusivamente en código. Así nacen Informatica PowerCenter, IBM Datastage, ODI (Oracle Data Integrator) o SAS Data Integrator.

Estos software destacan por su fiabilidad, pero también por el alto coste de las licencias, limitando su nicho de mercado a las grandes empresas. Sin embargo, el crecimiento de los sistemas de Business Intelligence dentro de compañías de presupuestos modestos hizo que las empresas dedicadas al Software OpenSource centrasen su atención en el mundo de las ETL. Algunos ejemplos de herramientas ETL OpenSource son Talend, KETL, Scriptella, Jaspersoft ETL, o la herramienta OpenSource por excelencia, Kettle (Pentaho Data Integrator).

Las principales ventajas que proporcionan estas herramientas son:

  • Entorno visual e intuitivo: La principal diferencia con los lenguajes tradicionales son las interfaces gráficas. Nos permiten diseñar y seguir el flujo y transformación de los datos de una manera más intuitiva, lo que conlleva un aumento de la velocidad de desarrollo de los procesos.
  • Agilidad en la depuración de errores de desarrollo: Las herramientas ETL aportan visuales debugger que hacen más visual y ágil la fase de pruebas.
  • Mantenimiento: La interfaz gráfica de estas herramientas facilita las tareas de mantenimiento. Equipos menos experimentados y totalmente ajenos a un proyecto concreto son capaces de entender la lógica de los procesos de manera mucho más intuitiva que cuando éstos están desarrollados directamente en código.
  • Operaciones y capacidades de administración: Administración de errores mediante logs y estadísticas de ejecución.
  • Conectividad: Facilitan la conexión a los diferentes sistemas origen ya sea su tipología. Bases de datos, ficheros de texto, ficheros XML, emails, páginas web y un largo etcétera.
  • Manejo de modelos y metadatos: Trabajo con metadata y modelo de datos, ya sean creados en la propia herramienta o en herramientras externas.
  • Planificación global de conjuntos de procesos: Creación y planificación de mallas de ejecución. Permiten la programación batch o en tiempo real, lanzamiento de eventos disparadores o administración de excepciones entre otras cosas.
  • Interfaces con sistemas Frontoffice.
  • Interfaces de datos con sistemas externos: Envío de información a clientes, proveedores. Recepción, proceso e integración de la información recibida.
  • Capacidades SOA.
  • La descentralización del control de la ejecución y de todos los procesos.

Gracias a estas ventajas se consolidaron en el mercado del Business Intelligence. En el mundo actual, siguen liderando el mercado del Business Intelligence pero, con el aumento masivo de datos y la llegada de la web 2.0, empiezan a sufrir grandes problemas. Los ingentes volúmenes de datos y, sobre todo, la diversa naturaleza y complejidad de los mismos hacen que la fase de transformación se ralentice demasiado y se convierta en un verdadero cuello de botella.

La mejora de los gestores de base de datos permiten realizar transformaciones complejas con grandes volúmenes de datos. Así nace el concepto ELT (Extract, Load and Transformation) donde la transformación de los datos pasa al motor de la base de datos. Una adaptación de las herramientas del mercado a este hecho ha sido la creación del los procesos ETLT. La herramienta permite la transformación de los datos tanto en la propia herramienta como en la base de datos. Normalmente se relega a la herramienta la limpieza de datos o la integración, no soportados por el motor de base de datos.

Sin embargo, con el aumento de las necesidades de los datos a tiempo real y la aparición de los sistemas ‘Big Data’, se está empezando a poner en entredicho el futuro del ETL tradicional. Las herramientas ETL tradicionales funcionaban muy bien en batch pero no en tiempo real. Hay opiniones que apuntan a que la era del Big Data traerá el fin de las herramientas ETL, aunque, por el momento, está provocando que nazcan soluciones híbridas: SAP HANA, Hadoop ETL, PowerCenter Big Data… o que se creen arquitecturas BI mixtas donde conviven los procesos de ETL tradicionales con tecnologías Big Data.