ETL vs ELT – ¿ Qué son y qué diferencias existen ?

Consultores estratégicos en Ciencia de Datos

ETL vs ELT – ¿ Qué son y qué diferencias existen ?

En este post vamos a hablar sobre ETL vs  ELT – Qué son y que diferencias existen ?
Diferencias entre los procesos ETL y ELT

Diferencias entre los procesos ETL y ELT

La diferencia se encuentra en el orden en el que estos procesos realizan las operaciones necesarias. Cada uno de estos métodos se comporta mejor en distintas situaciones.

 ¿Qué es ETL?

El enfoque tradicional para la integración de datos, Extraer-Transformar-Cargar (ETL), data de la década de 1970 y es tan omnipresente que «ETL» se usa a menudo indistintamente con la integración de datos. Con ETL, las canalizaciones de datos extraen datos de las fuentes, los transforman en modelos de datos para que los analistas los conviertan en informes y paneles, y luego los cargan en un almacén de datos. (datawarehouse)

Las transformaciones de datos generalmente agregan o resumen datos, reduciendo su volumen general. Al transformar antes de cargar, ETL limita el volumen de datos almacenados, preservando los recursos de almacenamiento, computación y ancho de banda en todo el flujo de trabajo.

Cuando se diseñó ETL, la mayoría de las organizaciones operaban bajo restricciones tecnológicas muy estrictas. El almacenamiento, la computación y el ancho de banda eran extremadamente escasos.

El flujo de trabajo del proyecto para ETL consta de los siguientes pasos:

  1. Identificar las fuentes de datos deseadas
  2. Alcance de  las necesidades analíticas exactas que el proyecto debe resolver
  3. Definir el modelo / esquema de datos que necesitan los analistas y otros usuarios finales.
  4. Construye la tubería, que consta de funciones de extracción, transformación y carga
  5. Realizar trabajo de análisis y extraer conocimientos.

Dado que, en ETL, la extracción y la transformación se realizan antes de que los datos se carguen en un destino, están estrechamente acoplados. Además, debido a que las transformaciones están dictadas por las necesidades específicas de los analistas, cada canal de ETL es una solución complicada y personalizada.

La naturaleza personalizada de estas canalizaciones hace que su escalamiento sea muy difícil, en particular al agregar fuentes y modelos de datos.

Hay dos condiciones comunes bajo las cuales se debe repetir este flujo de trabajo:

  1. Los esquemas ascendentes cambian, invalidando el código utilizado para transformar los datos sin procesar en los modelos de datos deseados. Esto sucede cuando se agregan, eliminan o cambian campos en la fuente.
  2. Los análisis posteriores deben cambiar, lo que requiere que el código de transformación se reescriba para producir nuevos modelos de datos. Esto suele suceder cuando un analista desea crear un panel o informe que requiere datos en una configuración que aún no existe.

Cualquier organización que mejore constantemente su conocimiento de los datos se encontrará con estas dos condiciones con regularidad.

El estrecho acoplamiento entre extracción y transformación significa que las paradas de transformación también evitan que los datos se carguen en el destino, creando tiempo de inactividad.

Por lo tanto, el uso de ETL para la integración de datos implica los siguientes desafíos:

  • Mantenimiento constante: dado que la canalización de datos extrae y transforma datos, en el momento en que cambian los esquemas ascendentes o los modelos de datos descendentes deben cambiarse, la canalización se rompe y, a menudo, se requiere una revisión extensa de la base del código.
  • Personalización y complejidad: las canalizaciones de datos no solo extraen datos, sino que realizan transformaciones sofisticadas adaptadas a las necesidades analíticas específicas de los usuarios finales. Esto significa una gran cantidad de código personalizado.
  • Intensidad de mano de obra y gastos: debido a que el sistema se ejecuta en una base de código a medida. Requiere un equipo de ingenieros de datos dedicados para construir y mantener.

Estos desafíos son el resultado de la compensación clave hecha bajo ETL, que es conservar los recursos de computación y almacenamiento a expensas del trabajo.

Fuete: WeareDrew

Debido a estas características, los procesos ETL son ideales para las siguientes situaciones:
  • Ingestas y transformaciones de datos estructurados
  • La fuente de datos y el destino usan tecnologías y tipos de datos distintos
  • Los volúmenes de datos a transformar o procesar son manejables (volumen pequeño o medio)
  • Las transformaciones son intensivas en cómputo
  • Es mas fácil de implementar procesos de calidad del dato, seguridad y cumplimiento

ETL en la Nube

Los sistemas ETL actuales son diseñados para su uso en entornos cloud con integraciones de multitud de servicios de almacenamiento de datos. Pueden manejar el movimiento de los datos de las organizaciones entre su infraestructura on-premise y sistemas en la nube.

La capacidad de operar y de integrarse con la nube proporciona ventajas muy importantes a estos sistemas, como escalabilidad, facilidad de gestión, reducción de costes y alta disponibilidad. Además, el proveedor puede ofrecer certificaciones adicionales de seguridad y protección de datos como GDPR, PCI o ISO 27001.

¿Qué es ELT?

La capacidad de almacenar datos sin transformar en almacenes de datos permite una nueva arquitectura de integración de datos, Extract-Load-Transform (ELT), en la que el paso de transformación se mueve al final del flujo de trabajo y los datos se cargan inmediatamente en un destino después de la extracción.

Esto evita que los dos estados de falla de ETL (es decir, cambiar los esquemas ascendentes y los modelos de datos descendentes) afecten la extracción y la carga, lo que lleva a un enfoque más simple y robusto para la integración de datos.

A diferencia de ETL, el flujo de trabajo de ELT presenta un ciclo más corto:

  1. Identificar las fuentes de datos deseadas
  2. Realizar extracción y carga automatizadas
  3. Alcance de las necesidades analíticas exactas que el proyecto debe resolver
  4. Crea modelos de datos construyendo transformaciones
  5. Realiza un trabajo analítico real y extrae conocimientos

En ELT, la extracción y la carga de datos son independientes de la transformación en virtud de que están en sentido ascendente. Aunque la capa de transformación aún puede fallar a medida que cambian los esquemas ascendentes o los modelos de datos descendentes, estas fallas no evitarán que los datos se carguen en un destino.

Particularidades del ETL

En cambio, incluso cuando los analistas reescriben periódicamente las transformaciones, una organización puede continuar extrayendo y cargando datos. Dado que estos datos llegan a su destino con una alteración mínima, sirven como una fuente de verdad completa y actualizada.

Más importante aún, el desacoplamiento de la extracción y la carga de la transformación significa que la salida de la extracción y la carga ya no debe personalizarse. El destino puede llenarse con datos directamente desde la fuente, sin más que una limpieza y normalización ligeras. Combinado con el crecimiento de la nube, esto significa que la extracción y la carga pueden ser:

  1. Subcontratado a un tercero
  2. Automatizado
  3. Escalado hacia arriba y hacia abajo según sea necesario sobre la nube

La extracción y carga automatizadas produce una salida estandarizada, lo que permite que productos derivados, como productos analíticos con plantillas, se produzcan y se coloquen en capas sobre el destino.

Además, dado que las transformaciones se realizan dentro del entorno del almacén de datos, ya no es necesario diseñar transformaciones a través de interfaces de transformación de arrastrar y soltar, escribir transformaciones utilizando lenguajes de secuencias de comandos como Python, o crear orquestaciones complejas entre fuentes de datos dispares.

En cambio, las transformaciones se pueden escribir en SQL, el idioma nativo de la mayoría de los analistas. Esto cambia la integración de datos de una actividad centrada en TI o ingeniero a una que los analistas pueden poseer directa y fácilmente.

Características

 

Los procesos de este tipo son los encargados de mover grandes volúmenes de datos, integrarlos e ingestarlos en un lugar común. De esta forma son accesibles de una forma adecuada por todos los miembros de la organización interesados.

La diferencia se encuentra en el orden en el que estos procesos realizan las operaciones necesarias. Cada uno de estos métodos se comporta mejor en distintas situaciones.

Con estas características, los procesos ELT son adecuados en los siguientes casos:

  • Casos en los que tenemos datos no estructurados
  • La fuente de datos y el destino son la misma tecnología, por ejemplo Oracle
  • Los volúmenes de datos a transformar son muy grandes, manejables por el motor de base de datos destino
  • Rápidos para ingestar volúmenes grandes de datos no estructurados

Fuente: WeareDrew

ETL vs ELT

Para hablar sobre ETL vs  ELT – Qué son y que diferencias existen ? La realidad es que ambos procesos de integración de datos son fundamentales para las organizaciones.

Las tecnologías ETL han estado en uso durante muchos años, tienen un nivel de madurez y de flexibilidad muy alto aunque están específicamente diseñadas para funcionar muy bien con bases de datos relacionales y datos estructurados.

Por otro lado, los procesos ELT no han sido diseñados para funcionar con bases de datos relacionales, sino con soluciones NoSQL y entornos cloud. La complejidad de las operaciones que manejan por lo tanto es menor pero el volumen de datos que pueden soportar suele ser mucho más alto que las soluciones ETL. Además, los procesos ETL generalmente son más lentos ingresando datos no estructurados.

Desde el punto de vista de la implementación de ambos procesos, es fácil observar que la rigidez en cuanto a los tipos y la estructura de los datos en el caso de ETL puede dificultar los cambios posteriores del proceso. Con los métodos ELT, es común mover datos estructurados y no estructurados con los mismos procedimientos. Además, el dataset resultante permite operaciones flexibles y a medida.

Comúnmente, en las organizaciones se usan procesos ETL (Extract, Transform, Load) o procesos ELT (Extract, Load, Transform) para cargar datos de las diversas fuentes en el Datalake lago de datos o el Data Warehouse pertinente.

Los procesos de este tipo son los encargados de mover grandes volúmenes de datos, integrarlos e ingestarlos en un lugar común. De esta forma son accesibles de una forma adecuada por todos los miembros de la organización interesados.

Para entender mejor las diferencias entre   ETL vs  ELT – Qué son y que diferencias existen ?  Veamos en el siguiente cuadro resumen las diferencias entre un tipo de proceso y el otro.

Fuente: WeareDrew

Surge una nueva tendencia el  ETLT:  ETL + ELT

Si hablamos de ETL vs  ELT – Qué son y que diferencias existen ? Podríamos decir que a menudo las organizaciones no necesariamente tienen que irse hacia un lado o hacia otro y necesitan sacar provecho de ambos métodos .  ELT para ingestas rápidas de datos no estructurados y ETL para flexibilidad y seguridad. Por lo tanto, se ha extendido el enfoque ETLT (Extract, Transform, Load, Transform).

Los pasos que realiza son los siguientes:

  1. Extracción: Los datos en bruto se recogen de las fuentes (bases de datos, aplicaciones, etc.) y se dejan en la zona de preparación.
  2. Transformación: Estas primeras transformaciones de los datos son ligeras, y permiten eliminar datos innecesarios o enmascarar datos sensibles. Las transformaciones son ligeras ya que son independientes en cada fuente y no requieren combinar o integrar datos de distintas fuentes.
  3. Carga: En esta fase se realiza la carga de los datos en el DataWarehouse.
  4. Transformación: En la última fase es en la que se realizan las operaciones de transformación e integración de los datos de diversas fuentes.

El resultado de este flujo de operaciones sobre los datos permite ajustar las tecnologías y los tiempos para optimizar las cargas de trabajo. Como vemos, el primer conjunto de transformaciones son lo suficientemente rápidas para preparar los datos y securizarlos.    Tenemos un artículo sobre estos temas de seguridad y privacidad de los datos incluyendo los conceptos de animación de los datos en el siguiente enlace

Ventajas de ETLT

ETLT nos da las ventajas de ambas aproximaciones. Consigue acelerar las ingestas de datos a la vez que proporciona la calidad y seguridad necesaria en algunas organizaciones.

Los casos de uso más comunes para procesos ETLT ocurren cuando es necesario enmascarar, anonimizar o filtrar los datos por motivos regulatorios antes de escribirlos en el DataWarehouse. Esto es muy útil en procesos de seudonimización para cumplir, por ejemplo con la GDPR europea (General Data Protection Regulation).

Por ejemplo, imagina que necesitamos realizar operaciones de tipo JOIN con datos nuevos sobre datos existentes en el DataWarehouse. Con un enfoque ETL, sería necesario extraer los datos del almacenamiento final para realizar la operación. sin embargo, con un procedimiento de tipo ETLT, este paso no es necesario ya que el JOIN sobre los datos se podría realizar tras la carga.

Conclusiones:

para hablar sobre ETL vs  ELT – Qué son y que diferencias existen ? Hay algunos casos en los que ETL puede ser preferible a ELT. Estos incluyen específicamente casos en los que:

  1. Los modelos de datos deseados son bien conocidos y es poco probable que cambien rápidamente. Este es especialmente el caso cuando una organización también crea y mantiene sistemas que generan datos de origen.
  2. Existen estrictos requisitos de seguridad y cumplimiento normativo con respecto a los datos, y no se pueden almacenar en ningún lugar que pueda verse comprometido.

Estas condiciones tienden a ser características de empresas y organizaciones muy grandes que se especializan en productos de software como servicio. En tales casos, puede tener sentido utilizar ELT para la integración de datos con productos SaaS de terceros mientras se conserva ETL para integrar fuentes de datos patentadas internas.

Una organización que combina la automatización con ELT está destinada a simplificar drásticamente su flujo de trabajo de integración de datos.

Un flujo de trabajo de integración de datos simplificado actúa como un multiplicador de fuerza para la ingeniería de datos, lo que permite a los ingenieros de datos concentrarse no en construir y mantener tuberías de datos, sino en proyectos más críticos para la misión, como optimizar la infraestructura de datos de una organización o producir modelos predictivos.

Fuentes: el presente post ha sido tomado de diversas fuentes principalmente de: aprenderBigData.com y Wearedrew.co entre otras.  Por juanbarrios.com

 

 

 

 

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

HTML Snippets Powered By : XYZScripts.com