Microsoft & myCloudDoor: Silver Small and Midmarket Cloud Solutions
October 25, 2019Microsoft & SAP recognizes myCloudDoor as a SAP on Azure Advanced Specialist
November 20, 2019Siempre 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.