Libere el poder de las herramientas ETL para AWS

ETL significa Extraer, Transformar y Cargar. Las herramientas ETL extraen datos de varias fuentes y los transforman en un formato intermedio adecuado para los sistemas de destino o los requisitos del modelo de datos. Y, por último, cargan datos en una base de datos de destino, un almacén de datos o incluso un lago de datos.

Recuerdo tiempos de 15 a 20 años atrás cuando el término ETL era algo que solo unos pocos entendían lo que es. Cuando varios trabajos por lotes personalizados tuvieron su punto máximo en el hardware local.

Muchos proyectos hicieron alguna forma de ETL. Aunque no lo supieran, deberían llamarlo ETL. Durante ese tiempo, cada vez que explicaba cualquier diseño que involucraba procesos ETL, y los llamaba y los describía de esa manera, parecía casi una tecnología de otro mundo, algo muy raro.

Pero hoy, las cosas son diferentes. La migración a la nube es la máxima prioridad. Y las herramientas ETL son la pieza muy estratégica de la arquitectura de la mayoría de los proyectos.

Al final, migrar a la nube significa tomar los datos de las instalaciones como fuente y transformarlos en bases de datos en la nube de una forma que sea lo más compatible posible con la arquitectura de la nube. Exactamente el trabajo de la herramienta ETL.

Historia de ETL y cómo se conecta con el presente

Fuente: aws.amazon.com

Las funciones principales de ETL siempre fueron las mismas.

Las herramientas ETL extraen datos de varias fuentes (ya sean bases de datos, archivos planos, servicios web o, últimamente, aplicaciones basadas en la nube).

Por lo general, significaba tomar archivos en el sistema de archivos de Unix como entrada y preprocesamiento, procesamiento y posprocesamiento.

Podría ver el patrón reutilizable de nombres de carpetas como:

  • Aporte
  • Producción
  • Error
  • Archivo

Debajo de esas carpetas, también existía otra estructura de subcarpetas, principalmente basada en fechas.

Esta era solo la forma estándar de procesar los datos entrantes y prepararlos para cargarlos en algún tipo de base de datos.

Hoy en día, no hay sistemas de archivos Unix (no de la misma manera que antes), tal vez ni siquiera archivos. Ahora hay API: interfaces de programación de aplicaciones. Puede, pero no necesita tener un archivo como formato de entrada.

Todo se puede almacenar en la memoria caché. Todavía puede ser un archivo. Sea lo que sea, debe seguir algún formato estructurado. En la mayoría de los casos, esto significa formato JSON o XML. En algunos casos, el antiguo y buen formato de valores separados por comas (CSV) también lo hará.

Usted define el formato de entrada. Depende exclusivamente de usted si el proceso implicará también la creación del historial de los archivos de entrada. Ya no es un paso estándar.

Transformación

Las herramientas ETL transforman los datos extraídos en un formato adecuado para el análisis. Esto incluye limpieza de datos, validación de datos, enriquecimiento de datos y agregación de datos.

Como solía ser el caso, los datos pasaron por una lógica personalizada compleja de preparación de datos de procedimiento Pro-C o PL/SQL, transformación de datos y pasos de almacenamiento de esquema de destino de datos. Era un proceso estándar obligatorio similar al de separar los archivos entrantes en subcarpetas según la etapa en la que se procesó el archivo.

¿Por qué era tan natural si también estaba fundamentalmente mal al mismo tiempo? Al transformar directamente los datos entrantes sin un almacenamiento permanente, estaba perdiendo la mayor ventaja de los datos sin procesar: la inmutabilidad. Los proyectos simplemente tiraron eso sin ninguna posibilidad de reconstrucción.

Bien adivina que. Hoy en día, cuanto menos transformación de datos sin procesar ejecute, mejor. Para el primer almacenamiento de datos en el sistema, eso es. Podría ser que el siguiente paso sea un cambio de datos serio y una transformación del modelo de datos, seguro. Pero desea haber almacenado los datos sin procesar en la mayor cantidad posible de estructuras atómicas y sin cambios. Un gran cambio de los tiempos en las instalaciones, si me preguntas.

Carga

Las herramientas ETL cargan los datos transformados en una base de datos de destino o en un almacén de datos. Esto incluye la creación de tablas, la definición de relaciones y la carga de datos en los campos correspondientes.

El paso de carga es probablemente el único que sigue el mismo patrón durante mucho tiempo. La única diferencia es una base de datos de destino. Mientras que antes era Oracle la mayor parte del tiempo, ahora puede ser cualquier cosa que esté disponible en la nube de AWS.

ETL en el entorno de la nube actual

Si planea llevar sus datos desde las instalaciones a la nube (AWS), necesita una herramienta ETL. No pasa sin él, por lo que esta parte de la arquitectura de la nube se convirtió probablemente en la pieza más importante del rompecabezas. Si este paso es incorrecto, todo lo demás seguirá después, compartiendo el mismo olor en todas partes.

Y si bien hay muchas competencias, me centraría ahora en las tres con las que tengo más experiencia personal:

  • Servicio de migración de datos (DMS): un servicio nativo de AWS.
  • Informatica ETL: probablemente el principal actor comercial en el mundo de ETL, transformando con éxito su negocio de las instalaciones a la nube.
  • Matillion para AWS: un jugador relativamente nuevo dentro de los entornos de nube. No nativo de AWS, sino nativo de la nube. Sin nada parecido a la historia comparable con Informatica.

AWS DMS como ETL

Fuente: aws.amazon.com

AWS Data Migration Services (DMS) es un servicio completamente administrado que le permite migrar datos de diferentes fuentes a AWS. Admite múltiples escenarios de migración.

  • Migraciones homogéneas (por ejemplo, Oracle a Amazon RDS para Oracle).
  • Migraciones heterogéneas (p. ej., Oracle a Amazon Aurora).

DMS puede migrar datos de varias fuentes, incluidas bases de datos, almacenes de datos y aplicaciones SaaS, a varios destinos, incluidos Amazon S3, Amazon Redshift y Amazon RDS.

AWS trata el servicio DMS como la herramienta definitiva para llevar datos de cualquier fuente de base de datos a destinos nativos de la nube. Si bien el objetivo principal de DMS es solo la copia de datos en la nube, también hace un buen trabajo al transformar los datos en el camino.

Puede definir tareas de DMS en formato JSON para automatizar varios trabajos de transformación mientras copia los datos del origen al destino:

  • Combine varias tablas o columnas de origen en un solo valor.
  • Divida el valor de origen en varios campos de destino.
  • Reemplace los datos de origen con otro valor de destino.
  • Elimine los datos innecesarios o cree datos completamente nuevos en función del contexto de entrada.

Eso significa: sí, definitivamente puede usar DMS como una herramienta ETL para su proyecto. Tal vez no sea tan sofisticado como las otras opciones a continuación, pero hará el trabajo si define el objetivo claramente por adelantado.

Factor de idoneidad

Aunque DMS proporciona algunas capacidades de ETL, se trata principalmente de escenarios de migración de datos. Sin embargo, hay algunos escenarios en los que puede ser mejor usar DMS en lugar de herramientas ETL como Informatica o Matillion:

  • DMS puede manejar migraciones homogéneas donde las bases de datos de origen y de destino son las mismas. Esto puede ser un beneficio si el objetivo es migrar datos entre bases de datos del mismo tipo, como Oracle a Oracle o MySQL a MySQL.
  • DMS proporciona algunas capacidades básicas de transformación y personalización de datos, pero puede que no sea muy maduro en ese sentido. Esto aún puede ser un beneficio si tiene necesidades limitadas de transformación de datos.
  • Las necesidades de calidad y gobernanza de los datos son, en general, bastante limitadas con DMS. Pero esas son áreas que se pueden mejorar en fases posteriores del proyecto con otras herramientas, más determinadas para ese propósito. Es posible que necesite que la parte ETL se haga de la manera más simple posible. Entonces DMS es una elección perfecta.
  • DMS puede ser una opción más rentable para organizaciones con presupuestos limitados. DMS tiene un modelo de precios más simple que las herramientas ETL como Informatica o Matillion, lo que puede facilitar que las organizaciones predigan y administren sus costos.
  • Matillion ETL

    Fuente: matillion.com

    es una solución nativa de la nube y puede usarla para integrar datos de varias fuentes, incluidas bases de datos, aplicaciones SaaS y sistemas de archivos. Ofrece una interfaz visual para crear canalizaciones de ETL y es compatible con varios servicios de AWS, incluidos Amazon S3, Amazon Redshift y Amazon RDS.

    Matillion es fácil de usar y puede ser una buena opción para organizaciones nuevas en herramientas ETL o con necesidades de integración de datos menos complejas.

    Por otro lado, Matillion es una especie de tabula rasa. Tiene algunas funcionalidades potenciales predefinidas, pero debe codificarlo a la medida para que cobre vida. No puede esperar que Matillion haga el trabajo por usted desde el primer momento, incluso si la capacidad está ahí por definición.

    Matillion también se describe a menudo como ELT en lugar de una herramienta ETL. Eso significa que es más natural que Matillion haga una carga antes de la transformación.

    Factor de idoneidad

    En otras palabras, Matillion es más eficaz en la transformación de los datos solo una vez que ya están almacenados en la base de datos que antes. La razón principal de esto es la obligación de crear scripts personalizados que ya se mencionó. Dado que todas las funciones especiales deben codificarse primero, la eficacia dependerá en gran medida de la eficacia del código personalizado.

    Es natural esperar que esto se maneje mejor en el sistema de la base de datos de destino y deje en Matillion solo una tarea de carga simple 1: 1, muchas menos oportunidades para destruirlo con código personalizado aquí.

    Si bien Matillion proporciona una gama de funciones para la integración de datos, es posible que no ofrezca el mismo nivel de calidad de datos y funciones de gobierno que otras herramientas ETL.

    Matillion puede escalar hacia arriba o hacia abajo según las necesidades de la organización, pero puede que no sea tan efectivo para manejar grandes volúmenes de datos. El procesamiento paralelo es bastante limitado. En este sentido, Informatica es sin duda una mejor opción porque es más avanzada y rica en funciones al mismo tiempo.

    Sin embargo, para muchas organizaciones, Matillion for AWS puede proporcionar suficientes capacidades de escalabilidad y procesamiento paralelo para satisfacer sus necesidades.

    Informática ETL

    Fuente: informatica.com

    Informatica para AWS es una herramienta ETL basada en la nube diseñada para ayudar a integrar y administrar datos en varios orígenes y destinos en AWS. Es un servicio completamente administrado que proporciona una gama de características y capacidades para la integración de datos, incluidos el perfilado de datos, la calidad de los datos y el gobierno de datos.

    Algunas de las principales características de Informatica para AWS incluyen:

  • Informatica está diseñada para escalar hacia arriba o hacia abajo en función de las necesidades reales. Puede manejar grandes volúmenes de datos y se puede usar para integrar datos de varias fuentes, incluidas bases de datos, almacenes de datos y aplicaciones SaaS.
  • Informatica proporciona una variedad de funciones de seguridad, que incluyen cifrado, controles de acceso y registros de auditoría. Cumple con varios estándares de la industria, incluidos HIPAA, PCI DSS y SOC 2.
  • Informatica proporciona una interfaz visual para crear canalizaciones ETL, lo que facilita a los usuarios la creación y gestión de flujos de trabajo de integración de datos. También proporciona una gama de conectores y plantillas preconstruidos que se pueden usar para conectar los sistemas y habilitar el proceso de integración.
  • Informatica se integra con varios servicios de AWS, incluidos Amazon S3, Amazon Redshift y Amazon RDS. Esto facilita la integración de datos en varios servicios de AWS.
  • Factor de idoneidad

    Claramente, Informatica es la herramienta ETL con más funciones de la lista. Sin embargo, puede ser más costoso y complejo de usar que algunas de las otras herramientas de ETL disponibles en AWS.

    Informatica puede ser costosa, especialmente para organizaciones pequeñas y medianas. El modelo de precios se basa en el uso, lo que significa que es posible que las organizaciones deban pagar más a medida que aumenta su uso.

    También puede ser complejo de instalar y configurar, especialmente para aquellos que son nuevos en las herramientas ETL. Esto puede requerir una inversión significativa en tiempo y recursos.

    Eso también nos lleva a algo que podemos llamar una «curva de aprendizaje compleja». Esto puede ser una desventaja para aquellos que necesitan integrar datos rápidamente o tienen recursos limitados para dedicarse a la capacitación y la incorporación.

    Además, es posible que Informatica no sea tan eficaz para integrar datos de fuentes que no sean de AWS. En este sentido, DMS o Matillion podrían ser una mejor opción.

    Por último, Informatica es en gran medida un sistema cerrado. Solo hay una capacidad limitada para personalizarlo según las necesidades específicas del proyecto. Solo tiene que vivir con la configuración que proporciona de fábrica. Por lo tanto, eso limita la flexibilidad de las soluciones de alguna manera.

    Ultimas palabras

    Como sucede en muchos otros casos, no existe una solución única para todos, ni siquiera la herramienta ETL en AWS.

    Puede elegir la solución más compleja, rica en funciones y costosa con Informatica. Pero tiene sentido hacer la mayoría si:

    • El proyecto es bastante grande y está seguro de que toda la solución futura y las fuentes de datos también se conectarán a Informatica.
    • Puede permitirse traer un equipo de desarrolladores y configuradores de Informatica capacitados.
    • Puede apreciar el sólido equipo de soporte que lo respalda y es bueno pagar por eso.

    Si algo de arriba está mal, podrías darle una oportunidad a Matillion:

    • Si las necesidades del proyecto no son tan complejas en general.
    • Si necesita incluir algunos pasos muy personalizados en el procesamiento, la flexibilidad es un requisito clave.
    • Si no le importa crear la mayoría de las funciones desde cero con el equipo.

    Para algo aún menos complicado, la opción obvia es el DMS para AWS como un servicio nativo, que probablemente pueda servir bien a su propósito.

    A continuación, consulte las herramientas de transformación de datos para administrar mejor sus datos.