Azure Data Integration: SSIS vs DataFactory vs DataBricks

Siempre que iniciamos un nuevo proyecto de ingeniería de datos, uno de los momentos más críticos es la elección de la herramienta que utilizaremos. La creación de pipelines para la integración de datos puede ser muy distinta en función de las necesidades de negocio, sin embargo, desde el punto de vista técnico, podemos acotar la decisión.

Durante el desarrollo de los pipelines, nos encontramos con la necesidad de integrar diferentes fuentes de datos en un único repositorio que posibilite crear soluciones de analítica avanzada o desarrollar informes de analítica tradicional. Para dar solución a dicha necesidad, ¿qué herramientas debemos utilizar?

La suite de Microsoft/Azure nos permite dar respuesta a dicha pregunta con las siguientes herramientas:

-SSIS (SQL Server Integration Services)

Herramienta utilizada para:

  • Extracción del dato
  • Desarrollo de ETL (Extract, Transform, Load)
  • Transformación compleja del dato

Pensado para entornos On-Premises, en la actualidad Azure nos permite ejecutar paquetes de SSIS con ADF. Todos los paquetes consisten en un Control Flow que a su vez puede tener distintos Data Flows.

-ADF (Azure Data Factory):

Herramienta utilizada para:

  • Movimiento y orquestación del dato
  • Desarrollo de ELT (Extract, Load, Transform)
  • Transformación del dato

Se trata de un servicio de integración de datos Cloud que nos permite crear Work Flows para automatizar el movimiento, orquestación y transformación del dato; permitiendo el cambio de paradigma de la ETL hacia las ELT. Los Work Flows permiten conectar, transformar, publicar y monitorizar.

-Azure Databricks:

Herramienta utilizada para:

  • Preparación del dato
  • Trabajo colaborativo sobre Notebooks
  • Ejecución de procesos Apache Spark

Diseñada en un inicio por los fundadores de Apache Spark, se trata de una plataforma de analítica optimizada para la Cloud de Azure. Su enfoque es totalmente colaborativo, haciendo de la plataforma un área de trabajo donde distintos perfiles como científicos de datos o ingenieros de datos pueden ejecutar Work Flows basados en Apache Spark.

Una vez vistas todas las características de las distintas herramientas de integración de datos que nos ofrece Microsoft/Azure, tendríamos que ser capaces de realizar la elección sobre una de ellas. Sin embargo, la decisión no estaría del todo bien tomada ya que debemos tener en cuenta cuestiones fundamentales, como el tipo de dato con el que vamos a trabajar, la finalidad del proyecto o la infraestructura con la que contamos:

  • La naturaleza del dato que estamos tratando, nos puede ayudar a elegir la tecnología que debemos utilizar a la hora de implementar nuestro proyecto. Para ello se suelen tener en cuenta las 3v (volumen, velocidad y variedad)
  Volumen Velocidad Variedad
SSIS Bajo volumen de datos Procesos Batch Dato Estructurado
ADF Gran volumen de datos Procesos Batch
Streaming
Dato Estructurado
Dato No Estructurado
ADB Gran volumen de datos Procesos Batch
Streaming
RealTime
Dato Estructurado
Dato No Estructurado
  • A nivel entorno, tanto de desarrollo como de infraestructura, deberemos tener en cuenta la plataforma y pago, el lenguaje de desarrollo con el que trabajaremos o el tipo de proyecto que estamos implementando.
  Plataforma/Precio Lenguaje desarrollo Proyecto
SSIS IaaS/licencia C#BIML IntegraciónTransformaciónETL
ADF Cloud/por uso .NETPythonPowerShell MovimientoOrquestaciónELT
ADB Cloud/por uso SQLPythonRScala TransformaciónColaboraciónAI/ML

Si tienes alguna duda puedes preguntarnos a través de un comentario o de nuestro formulario.

Daniel Andrés
Cloud Analytics Manager at myCloudDoor

Leave a Reply

Your email address will not be published.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Share This

Copy Link to Clipboard

Copy