ETL vs ELT ¿Cuáles son sus diferencias?

Última actualización: 06/09/2021

ETL vs ELT: en este artículo exploramos las diferencias y similitudes entre ETL y ELT como métodos para integrar y mover grandes cantidades de datos para Big Data. Sigue leyendo.

ETL vs ELT Diferencias

Diferencias de Procesos ETL vs ELT

Pueden parecer muy similares, pero ¿Qué diferencias existen entre ETL y ELT?

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 lago de datos o 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.

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?

Los procesos ETL extraen los datos de una o varias fuentes diversas, por ejemplo tablas en bases de datos relacionales. Después, transforman estos datos realizando agregaciones, normalización, cambios de tipos o cruces con otras tablas o datos existentes. El último paso consiste en cargar los datos preparados en el almacenamiento final, típicamente un Data Warehouse.

Como podemos observar, en este caso, la carga de procesamiento recae sobre el proceso ETL y la tecnología sobre la que se ha implementado.

Esquema con las tres fases ETL: Extract, Transform, Load
Esquema con las tres fases ETL: Extract, Transform, Load

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

¿Qué es ELT?

En los procesos de tipo ELT transformamos los datos después de haberlos cargado en la base de datos destino sin realizar un procesamiento previo. La operación de carga, por tanto, es la fase intermedia del proceso.

En concreto, las transformaciones necesarias sobre los datos las completa la base de datos destino, generalmente clústers Hadoop o bases de datos NoSQL.

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

ETL vs ELT

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 ingestando 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.

ETLT: ETL + ELT

A menudo las organizaciones necesitan sacar partido de las ventajas 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 Data Warehouse.
  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.

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 Data Warehouse. 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 Data Warehouse. 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.

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.

Cursos Recomendados

Aquí te dejo tres cursos que te recomiendo para aprender más sobre los procesos ETL y ELT para poder comprender su funcionamiento en proyectos Big Data paso a paso:

Paso 1:

Frameworks de ETL para entornos de Data Warehouse

Frameworks de ETL para entornos de Data Warehouse

Este curso de 7 horas te dará todo el conocimiento teórico que necesitas para implementar procesos ETL en tu entorno de data warehouse y big data.

Paso 2:

Testing de ETL: De principiante a experto

Testing de ETL: De principiante a experto

Este curso te resultará muy util para aprender los mecanismos de testing que existen para herramientas ETL, entender los escenarios y profundizar en tu conocimiento.

Paso 3:

Aprende a extraer, transformar y analizar datos

Aprende a extraer, transformar y analizar datos

Por último, este curso práctico te enseñará tecnologías para extraer, analizar y transformar datos así como SSIS, SQL y PowerBI.


A continuación el vídeo-resumen. ¡No te lo pierdas!


Deja una respuesta