¿Qué es ETL (extracción, transformación, carga)?

Definición de ETL

Extraer, transformar, cargar (ETL, por sus siglas en inglés) es un proceso de integración de datos que combina, limpia y organiza datos de múltiples fuentes. Luego carga esos datos transformados en un almacén de datos, base de datos objetivo u otro destino.

Los pipelines de datos ETL proporcionan la base para flujos de trabajo de analytics y machine learning. A través de una serie de reglas de negocio, el proceso ETL limpia y organiza los datos para cubrir necesidades específicas de business intelligence, como la elaboración mensual de informes. Cuando se utiliza junto con la tecnología de transmisión de datos, se conoce como ETL en streaming y habilita el procesamiento de datos en tiempo real e insights inmediatos.

Los pipelines de datos proporcionan la base para flujos de trabajo de analytics y machine learning. A través de una serie de reglas de negocio, el proceso ETL limpia y organiza los datos para cubrir necesidades específicas de business intelligence, como la elaboración mensual de informes. Cuando se utiliza junto con la tecnología de transmisión de datos, ETL también se puede aplicar a flujos de eventos que llegan de manera continua, un enfoque conocido como ETL en streaming.

Si bien hoy en día existen opciones de integración de datos más nuevas disponibles para las empresas, ETL sigue siendo una opción popular porque es compatible con sistemas heredados, puede mejorar la calidad de los datos y puede permitir el enmascaramiento de datos confidenciales mientras aún están en tránsito.  

Las herramientas ETL están disponibles a través de soluciones comerciales y de código abierto. También suelen integrarse en bases de datos y plataformas en la nube. Las capacidades clave de las soluciones ETL incluyen automatización integral, interfaces visuales y la flexibilidad para cambiar entre ETL y otros patrones de integración de datos.

¿Por qué es importante el proceso ETL?

Este proceso ayuda a las empresas a recopilar información de fuentes dispares y transformarla en datos fiables que se pueden emplear para analytics e inteligencia artificial en diferentes entornos, desde on premises hasta plataformas en la nube.

A pesar de su relevancia para el panorama tecnológico actual, ETL en realidad es anterior a las cargas de trabajo de IA modernas y a la computación en la nube. Se introdujo en la década de 1970 como un proceso para integrar y cargar datos para cálculo y análisis.

ETL finalmente se convirtió en el método principal para procesar datos para proyectos de almacenamiento de datos. En las décadas de 1990 y 2000, cuando llegó la era del big data, las organizaciones desplegaron ETL para integrar grandes volúmenes de datos extraídos de nuevas fuentes, como redes sociales y dispositivos y sensores de Internet de las cosas (IoT).

A medida que la infraestructura en la nube se convirtió en un elemento básico de los negocios en la década de 2000, el software moderno de ETL y las herramientas facilitaron la migración de datos y la integración en plataformas y almacenes de datos en la nube, entre ellos Amazon Web Services (AWS), Microsoft Azure y Snowflake. Además, estas plataformas permitieron que las soluciones ETL ofrecieran insights de forma rápida y a escala, lo que generó ventajas competitivas para las empresas que las adoptaron.

La última evolución en ETL es su despliegue para la integración de datos en transmisión, lo que permite obtener información al segundo a partir de flujos de datos continuos.

Academia de IA

¿Es la gestión de datos el secreto de la IA generativa?

Explore por qué los datos de alta calidad son esenciales para el uso exitoso de la IA generativa.

ETL frente a ELT

Las discusiones sobre ETL a menudo incluyen la mención de un proceso de integración de datos con un nombre similar: extraer, cargar, transformar o ELT (por sus siglas en inglés).

Más allá de las coincidencias terminológicas, ambos procesos son notablemente diferentes. Una distinción obvia radica en el orden de las operaciones. En ELT, la transformación de datos ocurre al final del proceso de integración de datos, no a la mitad. Las diferencias más significativas entre los dos procesos incluyen:

Diferencias entre ETL y ELT

 

etl

ELT

Orden y ubicación de los pasos

Después de la extracción, la transformación de datos ocurre en tránsito, dentro de un área de preparación, antes de que los datos se carguen en un sistema de destino.

Después de la extracción, los datos sin procesar se cargan en un sistema de destino y se transforman dentro del mismo.

Tipo de dato

Más adecuado para datos estructurados que se pueden transformar para ajustarlos a un esquema predefinido.

Diseñado para manejar datos estructurados, semiestructurados y no estructurados con un enfoque de esquema en lectura aplicado en el destino.

Volumen de datos

Ideal para conjuntos de datos más pequeños.

Diseñado para big data.

Velocidad

El movimiento de datos se ralentiza por la transformación en tránsito, pero están listos para su análisis al llegar a un sistema de destino.

Los datos llegan al sistema de destino más rápido, pero los datos no estructurados pueden tardar en formatearse dentro del sistema de destino antes de poder utilizarse.

Costo

Mayores costos iniciales relacionados con la infraestructura de datos y la ingeniería que son esenciales para la transformación.

Menor costo inicial debido a la relativa simplicidad de las pilas de datos, pero los volúmenes de datos impredecibles pueden generar costos imprevistos más adelante.

Mantenimiento

Mayor necesidad de mantenimiento, ya que los pipelines requieren reingeniería para adaptarse a los cambios en la fuente de datos y a los requisitos de datos posteriores

Menor necesidad de mantenimiento debido a pilas de datos más simples.

Privacidad y seguridad de los datos

Los datos confidenciales, como la información de identificación personal (PII), se pueden enmascarar durante la transformación en tránsito, antes de cargarse en el destino.

Los programas de gobernanza y las medidas de seguridad pueden mitigar el riesgo de filtraciones basadas en la nube que exponen datos sin procesar.

Cómo funciona ETL

La forma más fácil de entender cómo funciona ETL es comprender qué sucede en cada uno de los tres pasos (extracción, transformación y carga) del proceso.

Extraer

El proceso ETL comienza con la identificación de puntos de datos específicos que son los objetivos de extracción junto con cualquier posible “clave” que se pueda usar para integrar datos en sistemas de origen dispares. La fuente de datos de entrada a menudo se rastrea mediante el uso de metadatos.

Durante la extracción de datos, los datos sin procesar se copian o exportan de las fuentes de datos a un área de preparación. Los equipos de gestión de datos extraen datos que pueden ser estructurados o no estructurados de diversas fuentes. Las fuentes de datos incluyen, entre otras:

Transformar

En el área de preparación, los datos sin procesar se someten a procesamiento de datos. Aquí, los datos se transforman y consolidan para su caso de uso previsto según reglas de negocio específicas. Esta fase del proceso de transformación puede incluir:

  • Limpieza, filtrado, agregación y deduplicación de datos.
  • Validación de datos y autenticación.
  • Realizar cálculos, traducciones o resúmenes basados en los datos sin procesar. Este proceso puede incluir el cambio de encabezados de filas y columnas para mantener la coherencia, la conversión de monedas u otras unidades de medida, la edición de cadenas de texto y mucho más.
  • Realizar auditorías para garantizar la calidad y el cumplimiento de los datos y calcular métricas.
  • Eliminar, cifrar o proteger los datos regulados por la industria o las autoridades gubernamentales.
  • Formatear los datos en tablas o tablas unidas para que coincidan con el esquema del almacén de datos de destino.

Cargar

En este último paso, los datos transformados se mueven del área de preparación a un almacén de datos de destino. En el ETL tradicional, este proceso implica una carga inicial de todos los datos, seguida de la carga periódica de cambios incrementales en los datos y, con menos frecuencia, actualizaciones completas para borrar y reemplazar los datos en el almacén. En el ETL moderno y en streaming la carga de datos ocurre de forma continua.

ETL tradicional frente a ETL en streaming

Aunque el ETL es tradicionalmente un proceso orientado a lotes, plataformas distribuidas de transmisión de eventos como Apache Kafka extienden los patrones ETL desde el procesamiento por lotes hasta flujos de eventos que llegan continuamente. Este ETL en streaming puede habilitar el procesamiento de datos en tiempo real.

Los procesadores de transmisión compatibles con Kafka, como Kafka Streams, ksqlDB y Apache Flink, permiten a los ingenieros de datos crear pipelines ETL que ingieren flujos de eventos de sistemas de origen, transforman los datos mientras están en movimiento y los envían a motores de analytics y aplicaciones posteriores, todo con baja latencia, a diferencia de la integración basada en procesamiento por lotes.

Dicho ETL en streaming tiene otras ventajas sobre el ETL tradicional. Dos ventajas clave son la flexibilidad y la escalabilidad. Si bien los pipelines ETL tradicionales se escriben con lógica de transformación diseñada para casos de uso y destinos específicos, los datos transmitidos a Kafka desde diferentes fuentes se pueden transformar para diferentes casos de uso y consumidores.

En otras palabras, el ETL en streaming no requiere el acoplamiento estrecho típico del ETL tradicional, lo que permite flujos de datos reutilizables y reduce el tiempo y el trabajo necesarios para reconfigurar los pipelines.

A pesar de tales ventajas, las empresas aún pueden optar por el ETL tradicional en lugar de ETL en streaming cuando son necesarias transformaciones complejas o cuando el tiempo no es esencial. En tales casos, el ETL tradicional y el procesamiento por lotes pueden ser más rentables que el ETL en streaming.

ETL y otros métodos de integración de datos

Más allá del ETL tradicional, el ETL en streaming y el ELT, existen otros enfoques que también se emplean para facilitar los flujos de trabajo de integración de datos. Estos métodos incluyen:

Captura de datos de cambios (CDC)

La CDC identifica y captura solo los datos de origen que se han modificado y mueve esos datos al sistema de destino. La CDC se puede utilizar para reducir los recursos necesarios durante el paso de “extracción” de ETL; también se puede utilizar de forma independiente para mover datos que se han transformado en un data lake u otro repositorio en tiempo real.

Data Replication

La replicación de datos copia los cambios en las fuentes de datos en tiempo real o por lotes en una base de datos central. A diferencia del proceso ETL, en general preserva los datos con una transformación limitada. La replicación de datos a menudo se incluye como un método de integración de datos. De hecho, se utiliza con mayor frecuencia para crear copias de seguridad para la recuperación ante desastres y también se puede utilizar para la migración de bases de datos y otros fines.

Virtualización de datos

La virtualización de datos emplea una capa de abstracción de software para crear una visión unificada e integrada de los datos, sin necesidad de copiar, transformar o cargar físicamente los datos de origen en un sistema de destino. La virtualización de datos permite a una organización crear almacenes de datos virtuales, data lakes y mercados de datos a partir de la misma fuente de datos. Este enfoque podría reducir el gasto y la complejidad de construir y administrar plataformas por separado para cada una.

Integración de datos de transmisión (SDI)

La integración de datos de flujo es un término general para los diferentes métodos de integración que permiten el consumo y carga continuos de flujos de datos en tiempo real, incluyendo ETL en streaming, ELT moderno y captura de datos modificados.

Zero-ETL

Zero-ETL es un enfoque de integración de datos rápidos en el que los consumidores omiten los pasos tradicionales del pipeline de datos para consultar los datos en su forma original. Con este enfoque, la transformación se difiere mientras los datos se comparten a través de conexiones punto a punto entre los sistemas de origen y destino. Dicho intercambio puede tener lugar a través de la replicación de datos o consultas federadas, lo que implica consultar datos a través de múltiples fuentes sin requerir movimiento de datos.

Variantes de ETL

Existen métodos de integración de datos que pueden considerarse derivados de ETL pero que incluyen algunas diferencias notables.

  • ETLT, o extraer, transformar, cargar y transformar, es ETL con un paso de transformación adicional al final. Si bien parte de la transformación de datos se lleva a cabo en el área de preparación, como con el ETL tradicional, la transformación adicional se lleva a cabo en un sistema de destino, como un almacén de datos. Normalmente, el primer paso de transformación implica cambios básicos, mientras que el último paso incluye cambios más integrales.
  • ETL inverso cambia el flujo del ETL tradicional. En lugar de extraer los datos de las fuentes de datos, los datos ya transformados de los almacenes de datos se envían a una aplicación SaaS, un sistema operativo u otro consumidor posterior. También se conoce como analytics operativo.
  • TETL, o transformar, extraer, transformar y cargar, es ETL con un paso de transformación adicional al principio: la transformación primero tiene lugar en la fuente de datos antes de extraerse. Luego, se transforma nuevamente según sea necesario antes de cargarse en el sistema de destino. Las empresas pueden optar por usar TETL cuando el sistema de origen puede manejar transformaciones, lo que ayuda a reducir la necesidad de procesamientos posteriores.

¿Cuáles son los beneficios del ETL?

El proceso ETL tradicional y en streaming proporciona múltiples beneficios a las empresas que gestionan patrimonios de datos en crecimiento.

  • Mejora de la calidad de los datos: ETL mejora la calidad de los datos durante la fase de transformación a través de métodos como la limpieza de datos y la deduplicación, lo que garantiza que los datos que llegan a un almacén de datos de destino sean confiables y estén listos para su uso.
  • Soporte de cumplimiento: ETL suele ser útil para empresas en industrias extremadamente reguladas, como los servicios financieros y la atención médica, porque las medidas de cumplimiento y seguridad, como el cifrado, pueden realizarse antes de que los datos lleguen a su destino.
  • Compatibilidad con sistemas heredados: las organizaciones que emplean sistemas heredados, incluidos servidores locales con menos capacidades que los entornos basados en la nube, pueden implementar el ETL tradicional para garantizar que los datos se transformen según sea necesario antes de cargarlos en los destinos previstos.
  • Gestión de las necesidades de almacenamiento en la nube: las técnicas de transformación de datos, como el filtrado y la agregación, pueden reducir el volumen de datos cargados en las plataformas de datos en la nube, lo que ayuda a reducir los requisitos y los costos de almacenamiento en la nube.
  • Compatibilidad con flujos de trabajo de IA: el ETL en streaming permite la entrega continua de datos de alta calidad a flujos de trabajo de IA y machine learning. Proporcionar información fresca y fiable a los modelos de IA puede reducir la deriva y mejorar la precisión de las predicciones, ayudando a las empresas a integrar con éxito la IA en las operaciones cotidianas.

¿Cuáles son los retos del proceso ETL?

La modernización de ETL a través de tecnologías de transmisión de datos ayudó a mitigar algunos de sus desafíos tradicionales al aumentar su velocidad y flexibilidad. Sin embargo, aún existen consideraciones importantes que las organizaciones deben tener en cuenta.

  • Preparación inicial: ETL requiere una pila tecnológica más compleja, incluidos servidores para la preparación y transformación, en comparación con ELT. También requiere la identificación de reglas de negocio y la creación de lógica de transformación antes de que comience la integración.
  • Costos de infraestructura y trabajo: si bien ETL puede ayudar a las empresas a reducir los costos de la computación en la nube, estas tienden a gastar más por adelantado en infraestructura y diseño de pipelines en comparación con ELT.
  • Gestión de esquemas: los cambios inesperados en la estructura de los datos de origen, como el cambio de nombre de columnas o las modificaciones en los tipos de datos, pueden provocar fallas en el pipeline Las herramientas de gestión de esquemas, como los registros de esquemas, pueden automatizar la validación de esquemas para evitar problemas posteriores.

Casos de uso de ETL

La larga historia del ETL tradicional y la llegada del ETL en streaming hacen que el proceso admita una amplia variedad de casos de uso en diferentes industrias.

  • Manejo de datos confidenciales: durante la fase de transformación de ETL, la PII se puede enmascarar antes de que llegue a un destino.
  • Informes periódicos: el ETL por lotes es un método rentable para agregar datos destinados a informes que se producen en intervalos programados, como los informes de ventas y de cumplimiento normativo.
  • Detección de fraude: las instituciones financieras pueden emplear ETL en streaming para detectar patrones sospechosos y señalar instantáneamente anomalías que indican un posible fraude.
  • Mantenimiento predictivo: el análisis de los datos de IoT (ingeridos, transformados y entregados mediante ETL) puede ayudar a las organizaciones a evaluar las necesidades de mantenimiento y reparación para evitar tiempo de inactividad del equipamiento.

Herramientas ETL

En el pasado, los ingenieros de datos de las organizaciones escribían su propio código de ETL para crear pipelines personalizados. Hoy en día, existen varias herramientas y servicios de ETL que reducen significativamente el trabajo y el tiempo que lleva construir un pipeline ETL. Las empresas suelen aprovechar software de código abierto, soluciones comerciales y herramientas integradas en plataformas de bases de datos y servicios en la nube para este fin.

Las capacidades de las principales soluciones ETL incluyen:

  • Automatización integral: automatizar todo el flujo de datos, desde las fuentes de datos hasta el almacén de datos de destino, libera a los ingenieros de datos de las tediosas tareas de mover y formatear datos, lo cual redunda en resultados más rápidos y operaciones más eficientes.

  • Una interfaz visual de arrastrar y soltar: esta función se puede usar para especificar reglas y flujos de datos.
  • Soporte para la gestión de datos complejos: esto incluye asistencia con cálculos complejos, integraciones de datos y manipulaciones de cadenas.

  • Seguridad y cumplimiento : las mejores herramientas de ETL cifran los datos, aplican reglas de gobernanza de datos y pueden seguir directrices para cumplir con la normativa gubernamental o de la industria, como la HIPAA y el RGPD.
  • Flexibilidad en el estilo de integración: la opción de alternar entre ETL y otros patrones, como ELT y TETL, brinda a las empresas la flexibilidad de elegir el mejor estilo de integración para cada carga de trabajo.
  • Integración de datos en streaming en tiempo real: las soluciones ETL modernas incluyen capacidades de procesamiento y transmisión dedatos en tiempo real que se han convertido en parte integral de la IA empresarial.

Preguntas frecuentes sobre ETL

¿Las empresas siguen utilizando ETL?

ETL sigue siendo un proceso fundamental de integración de datos, incluso cuando las empresas consideran nuevos patrones de integración de datos. El ETL basado en lotes es un método fiable y rentable para muchas cargas de trabajo, mientras que el ETL en streaming ayuda a las organizaciones a obtener insights en tiempo real para la toma de decisiones.

¿Funciona ETL en entornos de nube?

Aunque el ETL tradicional precede a la infraestructura moderna en la nube, hoy en día el ETL se emplea comúnmente para extraer y transformar datos de diversas fuentes y cargarlos en repositorios en la nube, incluidos almacenes de datos en la nube. Los proveedores de servicios en la nube suelen ofrecer capacidades ETL, incluyendo áreas de preparación basadas en la nube. La escalabilidad y la potencia de cómputo de las plataformas en la nube pueden mejorar el rendimiento de los procesos ETL, resultando en un procesamiento y análisis más rápidos.

¿Qué es un área de preparación?

Un área de preparación es una ubicación temporal de almacenamiento entre las fuentes de datos y un destino específico que se emplea para almacenar temporalmente datos en bruto. Actúa como muelle de carga donde se limpian, inspeccionan y transforman los datos sin procesar antes de trasladarlos a un destino objetivo.

¿Cuál es la diferencia entre cargas iniciales, incrementales y completas?

Esta clasificación describe diferentes formas de cargar datos durante un proceso ETL. La carga inicial es la extracción y carga de datos por primera vez desde una fuente de datos hacia un destino. Incluye todo el conjunto de datos y se realiza una vez, al comienzo de un proyecto.

La carga incremental es el proceso de cargar solo datos nuevos, modificados o eliminados desde la última carga. Y la carga completa es el proceso de transferir todos los datos de un conjunto de datos a un sistema de destino, a menudo para reemplazar los registros existentes en ese sistema.

Autores

Alice Gomstyn

Staff Writer

IBM Think

Amanda McGrath

Staff Writer

IBM Think

Soluciones relacionadas
IBM® watsonx.data integration

Transforme los datos sin procesar en datos listos para la IA con una experiencia de usuario optimizada para integrar cualquier dato usando cualquier estilo.

Explore la integración de watsonx.data
Soluciones de integración de datos

Cree canalizaciones de datos resilientes, de alto rendimiento y con costos optimizados para sus iniciativas de IA generativa, análisis en tiempo real, modernización de almacenes y necesidades operativas con las soluciones de integración de datos de IBM.

Explore las soluciones de integración de datos
Servicios de consultoría de datos e IA

Escale con éxito la IA con la estrategia, los datos, la seguridad y la gobernanza adecuados.

Explore servicios de consultoría de datos e IA
Dé el siguiente paso

Integre datos estructurados y no estructurados mediante una combinación de estilos, que incluyen procesamiento por lotes, transmisión en tiempo real y replicación, para no perder tiempo ni dinero cambiando constantemente de herramientas.

  1. Explore IBM watsonx.data integration
  2. Explore las soluciones de integración de datos