El propósito de este documento es hacer una demo y una comparativa de la herramienta Airbyte con Azure Data Factory.
Se van a tratar los aspectos generales de la herramienta Airbyte, una plataforma EL(T) que nos ayuda a la hora de replicar nuestros datos en DW, Data Lakes o Bases de datos.
Se comenzará por comparar precios, se seguirá con un caso práctico de uso de la herramienta mostrando tanto la réplica de datos como una pequeña transformación de estos.
Por último, se señalará las mayores diferencias existentes hoy en día con la herramienta proporcionada por Azure.
1. Licenciamiento
En este apartado se va a comentar todo lo referente a la licencia necesaria para utilizar Airbyte.
La comparativa de precios en este caso no tiene sentido, puesto que Airbyte es una plataforma Open-Source y por tanto su uso es gratuito. Si se pueden mencionar posibles costos ajenos a la aplicación como el uso de Docker, o el uso de herramientas para guardar o tratar información.
Además, para hacer uso de las transformaciones de datos que nos proporciona Airbyte se obliga el uso de un sistema de control de versiones en la nube como por ejemplo Github.
Algunos precios para todas estas herramientas antes mostradas serían:
Docker
GitHub
En la otra esquina de la comparativa tenemos a Azure, más concretamente Azure Data Factory. La herramienta de Microsoft tiene una política un tanto distinta, ya que deberemos de pasar por caja para todo. Más en detalle, para el uso de la herramienta Azure Data Factory V1.
Existe una versión más nueva en el tiempo llamada Azure Data Factory V2, pero también tiene un coste mayor que su antecesora la versión 1.
Sacamos en conclusión que Airbyte tiene una licencia Open-Source que es gratuita mientras que, para usar Azure Data Factory, si o si vamos a necesitar suscribirnos. En el global, podríamos concluir que Airbyte siempre será más económico que la nube de Azure.
2. Caso Práctico con Airbyte
Creación de las conexiones
Una vez instalada la herramienta Airbyte mediante Docker, procederemos a realizar un pequeño caso práctico en donde podamos ver el potencial de la herramienta. Airbyte nos permite crear réplicas incrementales, o no, de un origen a un destino de forma automática en el tiempo.
El objetivo del ejercicio será replicar la base de datos de la formación SampleData en MySQL a una base de datos Postgres aplicando una pequeña transformación de prueba por medio del proco.
Comenzaremos con la configuración de la conexión a MySQL:
Una vez que la conexión es establecida, pasamos al segundo paso “el destino”. La réplica se llevará a cabo en una base de datos Postgres que definiremos de la misma forma que antes la conexión a la db:
Por último, pasamos a la tercera fase del proceso: identificar los schemas, definir las tablas a replicar del origen y elegir que tipo de copia queremos y cada cuanto se va a replicar.
Creación del proyecto dbt: EL(T)
Como última parte del proceso, Airbyte permite realizar alguna transformación automática mediante otra herramienta llamada dbt. Dicha herramienta nos permite crear un proyecto que mediante ficheros SQL aplica transformaciones sobre la base de datos destino. Una vez realizada la copia de los datos desde el origen.
Para aplicar esta transformación desde Airbyte es necesario el uso de un repositorio, en este caso GitHub es el elegido.
En este caso, la transformación se lleva a cabo sobre la tabla customers para transformarla en una dimensión tal y como se explica en las formaciones de Pentaho y Talend que se imparten desde StrateBI.
Asignación de conexiones y EL(T)
Una vez que tenemos el proyecto dbt listo y conocemos las dos conexiones origen/destino, podemos proceder al último paso no obligatorio. Aplicar la transformación alojada en el repositorio GitHub:
Una vez hemos llegado hasta este punto el proceso se ha establecido con éxito y según hayamos definido, se mantendrá de forma manual o repetidamente en el tiempo.
De esta forma podremos conectar diferentes orígenes y destinos para realizar replicas N:1, 1:N o 1:1.
3. Azure Data Factory
Copy Data, Pipeline y DataFlow
En este último apartado veremos como la herramienta proporcionada por Azure nos permite realizar de forma sencilla replicas de datos de un origen a un destino y aplicar transformaciones a los datos si lo creemos necesario.
Dentro de Azure Data Factory tenemos el módulo Copy Data, que es el encargado de realizar la réplica de los datos. El módulo consta con multitud de opciones y aplicativos, origen-destino, pero no soporta copias incrementales por el momento. Definiendo un origen y un destino a los cuales Azure denomina DataSet podemos realizar dicha copia manualmente o en un periodo de tiempo.
Por otro lado, las transformaciones corren a cargo del módulo Pipeline y sus DataFlow correspondientes. Una herramienta más robusta y con más opciones que la utilizada por Airbyte (dbt). Nos permite realizar casi cualquier transformación sin necesidad de pasos adicionales como depender de un repositorio o de archivos SQL.
4. Conclusión
Tanto Airbyte como Azure Data Factory son herramientas de desarrollo que nos permiten replicar datos de un origen a un destino. Aplicando o no una transformación a los datos.
No obstante, la plataforma Airbyte tiene aún muchos retos que solventar ya que se encuentra en la fase Alpha de su desarrollo. En cambio, la plataforma de Azure es una de las mayores herramientas en la nube existentes hoy día.
Es decir, Airbyte podrá convertirse en una herramienta útil para el BI, pero en un futuro. Hoy en día no es recomendable para problemas no triviales.