Comparativa herramientas ETL más usadas en la empresa

Última actualización:

En el siguiente artículo realizamos una comparativa de las herramientas ETL empresariales más usadas y comparamos sus pros y contras para tomar la mejor decisión informada al elegir una herramienta para un proyecto Big Data.

herramientas etl empresariales comparativa

Explicamos brevemente en qué consiste una herramienta ETL y las consideraciones que se deben tener en cuenta para elegir una herramienta ETL para un proyecto.

¿Qué son las herramientas ETL?

Las herramientas de tipo ETL: Extract, Transform, Load se encargan de asegurar la integración de datos entre bases de datos y aplicaciones mediante los siguientes pasos:

  1. Los datos se descargan en el formato adecuado para su análisis
  2. Los datos se enriquecen con información adicional
  3. Se registra y documenta su origen (provenance)
Esquema con las tres fases ETL: Extract, Transform, Load
Esquema con las tres fases ETL: Extract, Transform, Load

Para ello, podemos dividir el flujo en las siguientes funciones o fases:

1. Extracción

La fase de extracción consiste en la recuperación de información de varios sistemas de origen, como pueden ser RDBMS en forma de tabla o bien en formato JSON o XML, etc.

2. Transformación

Esta fase involucra varios procesos, los datos extraídos se transforman en un formato fácil de entender:

  • Eliminar las entradas duplicadas
  • Realizar un filtrado y una validación de los datos
  • Unir los datos de diferentes fuentes

3. Carga

Esta es la fase final del proceso ETL en la cual los datos se cargan en un almacén de datos. Existen dos tipos de cargas:

  • Carga completa: Todos los datos se mueven al almacén al mismo tiempo.
  • Incremental: El movimiento de datos se produce en lotes.

Como vemos en la imagen del Workflow de una ETL, generalmente se comienza extrayendo datos de bases de datos relacionales o ficheros, en la imagen se incluyen bases de datos relacionales como SQL Server, DB2 u Oracle, así como ficheros planos.

Debido a la disparidad de estos datos, la siguiente fase es la de transformación, en la cual se realizan las operaciones necesarias para homogeneizar los datos y prepararlos para almacenarlos en un Data Mart. Para realizar estas transformaciones, es frecuente apoyarse en un Data Warehouse que almacena datos con diversas características.

Existe también otro tipo de procesos llamado ELT que permite afrontar este problema con otras particularidades. Si quieres aprender más sobre la diferencia entre los procesos ETL y ELT te recomiendo este artículo.

Evolución de Herramientas ETL
Evolución de Herramientas ETL

En los últimos años se han popularizado las herramientas ETL para tiempo real o streaming frente a los procesos de tipo Batch. Los casos de uso que requieren bajas latencias y obtener información de valor lo más rápido posible han aumentado mucho con los dispositivos IoT para Big Data y el enfoque hacia mejorar la experiencia de usuario.

Herramientas ETL más usadas – Pros y Contras

A continuación analizamos cada una de las siguientes tecnologías ETL, con los pros y contras más importantes para ayudarte a tomar una decisión acertada y conocer las alternativas disponibles en el mercado.

Apache NiFi

Apache NiFi logo

Apache NiFi es una herramienta gratuita y open source mantenida y desarrollada por la Apache Software Foundation. Permite definir flujos o topologías de una forma visual, muy sencilla e intuitiva a la vez que flexible para ETL. Las unidades de procesamiento o carga de datos se denominan processors y se pueden extender con funcionalidad personalizada.

Pros:

  • Licencia Apache 2.0
  • Concepto de programación de flujo de datos
  • Integración con Data Provenance y auditoría
  • Posibilidad de manejar datos binarios
  • Componentes disponibles
  • Interfaz de usuario simple
  • Política de Usuarios (LDAP)

Contras:

  • Falta de estadísticas por registro procesado
  • Consumo de recursos elevado

Streamsets

StreamSets logo

Streamsets es una plataforma empresarial centrada en construir y ejecutar procesos batch y flujos de datos en streaming. Se puede desplegar on premise y en cloud y está preparada para escalar cómodamente. Streamsets se divide en varios componentes que se pueden configurar y desplegar por separado.

Pros:

  • Estadísticas individuales por registro
  • Visualización pensada para realizar debugging
  • Interfaz de usuario atractiva
  • Facilidades para streaming

Contras:

  • No existe configuración JDBC reutilizable
  • Los cambios de configuración en el procesador requieren detener todo el flujo de datos

Apache Airflow

Apache Airflow logo

Apache Airflow es una plataforma gratuita y open source para crear, programar y monitorizar flujos de trabajo. Está basada en Python, el lenguaje con el que se definen los trabajos, y es compatible con gestores de recursos como Mesos y Yarn.

Pros:

  • Visualización clara
  • Interfaz fácil de usar
  • Solución escalable

Contras:

  • No es adecuado para streaming
  • Requiere añadir operadores adicionales

AWS Data Pipeline

AWS Data Pipeline logo

AWS Data Pipeline es la solución propuesta por la cloud de Amazon Web Services para transferir y transformar datos en la nube. Esta solución no es gratuita y Amazon cobra por uso. Permite realizar transformaciones de datos sencillas y se integra con buena parte de las tecnologías y servicios de Amazon en la nube.

Pros:

  • Facilidad de uso
  • Flexibilidad
  • Precio razonable

Contras:

  • Falta integración de funciones

AWS Glue

AWS Glue logo

AWS Glue es el servicio de Amazon en la nube para realizar ETL. Se encarga de administrar y ejecutar los trabajos ETL definidos por el usuario, así como escalar de forma automática los recursos necesarios. Usa Scala o Python para definir las extracciones y las transformaciones de datos.

Pros:

  • Soporta numerosas fuentes de datos
  • Integración con los servicios de AWS

Contras:

  • Mucho trabajo manual
  • Poca flexibilidad

Talend

Talend Logo

Talend es una solución ETL empresarial open source. Contiene integraciones con numerosas herramientas y tecnologías en cloud y on-premise. Su versión de pago ofrece componentes adicionales alrededor del gobierno del dato e incorpora la monitorización de los procesos de integración del dato y ETL.

Pros:

  • Gran cantidad de integración con tecnologías externas
  • Versión open source gratuita disponible
  • Interfaz sencilla con funcionalidad de arrastrar y soltar

Informatica PowerCenter

Informatica Logo

Este producto de la empresa Informática ha sido desarrollado como una solución empresarial para la integración del dato. Para su uso, es necesaria una licencia comercial y soporta su despliegue en clouds de AWS y Azure.

Pros:

  • Abundante documentación y formación
  • Facilidad de uso para gente no técnica ejecutando trabajos

Contras:

  • Necesidad de licencia

Ab Initio

Ab Initio Logo

Ab Initio es una herramienta especializada en la integración del dato y procesamiento de grandes volúmenes de datos con varias estrategias.

Pros:

  • Facilidad de gestión de grandes volúmenes de datos con optimización del procesamiento
  • Buena integración con plataformas Mainframe

Contras:

  • Precio elevado
  • Solución realmente eficiente a partir de grandes volúmenes de datos y en grandes entornos empresariales

Pentaho

Pentaho Logo

Ofrece Pentaho Data Integration (PDI), también llamada Kettle para realizar transformaciones y migraciones de datos entre aplicaciones. Tiene versiones enterprise y open source. En la versión empresarial, la herramienta añade componentes adicionales a su catálogo.

Pros:

  • Interfaz gráfica intuitiva y fácil de usar (arrastrar y soltar)

Cómo elegir una herramienta ETL para Big Data

A continuación se incluye la lista de parámetros a considerar al elegir una herramienta ETL para big Data.

1. Volumen de datos a gestionar

¿La herramienta está diseñada para la recuperación de datos desde una única fuente o desde múltiples fuentes? Las herramientas utilizadas para la recuperación de datos de una sola fuente difieren de las diseñadas para la recuperación de datos de múltiples fuentes.

2. Naturaleza de los datos

Los datos pueden ser estructurados y no estructurados y provenir de diversas fuentes.
En ocasiones, los datos deben procesarse en un formato que sea uniforme y comprensible para las herramientas analíticas.
También se debe verificar si la herramienta ETL tiene la capacidad de transformar un tipo particular de datos producidos por otras herramientas en la organización.

3. Tareas que se espera que realice la herramienta

¿De qué sistemas recuperará los datos y dónde se entregarán?
Se debe comprender el tipo de datos que se espera que la herramienta recupere y procese, así como el punto final de entrega para todo el proceso ETL.

4. Consideraciones adicionales

  • Evaluar si es necesario extraer datos de fuentes no estructuradas como por ejemplo páginas web, email, etc.
  • Forma de gestionar la pérdida o indisponibilidad de datos durante la extracción
  • Cambios en los formatos de datos
  • Aumento en el volumen y en la velocidad de los datos a lo largo del tiempo
Como elegir Herramienta ETL
Cómo elegir una herramienta ETL

A continuación el vídeo-resumen. ¡No te lo pierdas!

ETL y Big Data: Qué es en 1 minuto


¡Echa un ojo a mi lista de reproducción de Big Data en Youtube!

Si te ayuda el contenido del blog, por favor considera unirte a la lista de correo para reconocer el trabajo!

Deja una respuesta