¿Deberías construir una ETL custom o usar una herramienta ETL?


Cuando nos enfrentamos a un proyecto de ingeniería de datos, elegir entre una ETL customizada o utilizar una herramienta ETL preexistente es una decisión muy importante que tendrá un efecto directo sobre el éxito del proyecto. Ambas opciones tienen sus propias ventajas y desventajas, y qué elegir dependerá tanto del equipo como de las características del proyecto que tienes entre manos.

Antes de seguir, si no sabes muy bien qué es un proceso ETL, échale un ojo a este post.

Herramienta ETL

Una herramienta ETL es un software diseñado para facilitar la creación y la gestión de procesos ETL. Estas herramientas suelen ofrecer interfaces gráficas que permiten diseñar y ejecutar flujos de trabajo sin necesidad de programación intensiva.

Se supone que estas herramientas te ahorran tiempo y esfuerzo. No siempre es así. He usado algunas herramientas ETL que eran un completo dolor de cabeza a la hora de configurarlas. No es oro todo lo que reluce.

Ventajas

Desventajas

Aquí tienes una lista de herramientas ETLs que puedes usar.

ETL custom

Un proceso de ETL custom implica desarrollar una solución a medida desde cero, abordando cada fase del proceso, desde la extracción hasta la carga de datos en la base de datos destino.

Sinceramente, es mi elección favorita. Puede ser que sea debido a mi background de ingeniero informático. Tener control sobre cada parte de la ETL me parece algo muy potente. Pero como dijo el tío Ben: "Un gran poder conlleva una gran responsabilidad". Por lo que deberás tener una gran capacidad técnica para desarrollar tus ETLs desde cero.

Ventajas

Desventajas

¿Cuándo usar cada una?

La elección entre una herramienta ETL y el desarrollo desde cero dependerá de diversos factores como la complejidad del proyecto, los requisitos del mismo, el presupuesto disponible y la experiencia de tu equipo.

Utiliza una herramienta ETL cuando:

Opta por una ETL custom cuando:

Aún así, mi consejo es: USA LO QUE TU EQUIPO CONOZCA.

¿Tu equipo sabe Python? Crea ETLs custom con Python y alguna librería. ¿Tu equipo sabe AWS Glue? Usa AWS Glue. No te compliques la vida y usa siempre lo que controléis mejor.

Y tú, ¿qué prefieres? tengo curiosidad por saber si soy el único fan de las ETLs desde cero.