¿Qué es el proceso ELT (extraer, cargar y transformar)?

En el panorama actual, basado en datos, las empresas buscan continuamente formas más eficientes de gestionar y analizar grandes cantidades de información. El proceso de extracción, carga y transformación (ELT) es un enfoque moderno de integración de datos que se adapta especialmente bien a los entornos en la nube. Entender ELT es clave para cualquier persona que trabaje en arquitectura de datos, ingeniería de datos o analíticas, ya que puede ofrecer ventajas claras en cuanto a velocidad, flexibilidad y escalabilidad para gestionar diversos conjuntos de datos. Este enfoque cambia el momento y el lugar en los que se produce la transformación de datos, lo que abre nuevas posibilidades para su uso.

Definición de ELT

ELT corresponde a las siglas de Extract, Load y Transform (extraer, cargar y transformar) y se refiere al proceso que permite extraer, cargar y transformar datos. Es un modelo de flujo de procesamiento de datos en el que los datos se extraen primero de varios sistemas de origen. Después, en lugar de transformarse en una zona de preparación independiente, los datos sin procesar se cargan directamente en un almacén de datos de destino, como un data lake o un almacén de datos en la nube. Las transformaciones solo se aplican después de que los datos se carguen en el sistema de destino.

Esta secuencia diferencia el ELT de su predecesor, el ETL (extraer, transformar y cargar), y es un motivo clave para su creciente adopción en arquitecturas nativas de la nube.

¿Cómo funciona ELT?

El flujo de procesamiento de datos ELT aprovecha el potencial y la escalabilidad de las plataformas modernas de almacenamiento y procesamiento de datos. Vamos a desglosar cada parte:

  • Extracción: este paso inicial consiste en recoger datos sin procesar de sus fuentes originales. Estas fuentes pueden ser muy diversas, como bases de datos (SQL y NoSQL), aplicaciones empresariales (como CRMs y ERPs), plataformas de software como servicio (SaaS), APIs y archivos de registro. Este proceso se centra en extraer los datos de estos sistemas de forma eficiente.
  • Carga: en el segundo paso, los datos sin procesar extraídos se cargan, a menudo en su formato original o con un procesamiento mínimo, directamente en un sistema de almacenamiento de gran capacidad. Los destinos habituales de estos datos sin procesar son los data lakes en la nube o los almacenes de datos en la nube modernos, que pueden gestionar grandes volúmenes de datos estructurados, semiestructurados y sin estructurar.
  • Transformación: este último paso se produce después de que los datos se almacenen de forma segura en el sistema de destino. Gracias a la potencia informática del almacén de datos o del data lake, los datos sin procesar se limpian, estructuran, enriquecen y convierten a un formato adecuado para las analíticas, los informes y el aprendizaje automático. Las transformaciones pueden consistir en filtrar, unir, agregar, estandarizar formatos y derivar nuevos puntos de datos.

El proceso de ELT ofrece flexibilidad porque las transformaciones no se fijan antes de la carga. Los científicos de datos, por ejemplo, pueden acceder a los datos en bruto para explorar patrones imprevistos o hacer análisis ad hoc, mientras que los equipos de inteligencia empresarial pueden crear conjuntos de datos seleccionados y transformados para crear informes.

Ventajas de ELT

El proceso de extracción, carga y transformación ofrece varias ventajas potenciales, sobre todo en entornos que gestionan grandes volúmenes de datos y diversos tipos de datos:

  • Ingestión de datos más rápida: cargar datos sin procesar en el sistema de destino suele ser más rápido que esperar a que se completen las transformaciones en un área de staging. Esto significa que los datos pueden estar disponibles para la exploración inicial o para casos prácticos concretos mucho antes.
  • Flexibilidad y agilidad: como los datos sin procesar se conservan en el sistema de destino, las transformaciones se pueden desarrollar, modificar o añadir de forma iterativa a medida que los requisitos de negocio vayan evolucionando. No es necesario volver a ingerir datos de los sistemas de origen si cambia la lógica de transformación, sino que solo tienes que volver a ejecutar la transformación en los datos sin procesar que ya se han cargado.
  • Escalabilidad: los almacenes de datos y los data lakes modernos de la nube están diseñados para ofrecer una escalabilidad masiva. ELT aprovecha esta capacidad inherente al realizar transformaciones con los potentes motores de procesamiento de estos sistemas de destino. De esta forma, las empresas pueden gestionar volúmenes de datos cada vez mayores y transformaciones complejas de forma eficiente.
  • Conservación de datos sin procesar: almacenar datos sin procesar permite disponer de un registro histórico más completo. Esto puede ser muy útil para auditar datos, volver a procesarlos si se encuentran errores en transformaciones anteriores o para futuras necesidades analíticas que aún no se hayan previsto. Los científicos de datos suelen beneficiarse de tener acceso a los datos más granulares y sin transformar.
  • Eficiencia de costes para determinadas cargas de trabajo: utilizar la potencia de cálculo de un almacén de datos en la nube para las transformaciones puede ser a veces más rentable que mantener una infraestructura independiente o adquirir licencias de herramientas de ETL especializadas para las transformaciones, sobre todo cuando el almacén de datos ofrece un procesamiento optimizado.
  • Compatibilidad con diversos tipos de datos: ELT puede ser una buena opción para gestionar datos estructurados, semiestructurados (como JSON o XML) y sin estructurar (como texto o imágenes). Los datos se pueden cargar en su formato nativo y transformar según sea necesario, lo que puede suponer una ventaja significativa en escenarios de Big Data. Este enfoque de "esquema en lectura", en el que la estructura se aplica durante el procesamiento en lugar de antes de la carga, es una característica distintiva de ELT.

Retos de ELT

Aunque ELT ofrece varias ventajas, también puede plantear ciertas cuestiones que las empresas deben abordar:

  • Gestión y seguridad de los datos: cargar datos sin procesar, que podrían contener información sensible o de identificación personal, en un data lake o un almacén de datos requiere medidas sólidas de cumplimiento, seguridad y gestión de datos. Los controles de acceso, el cifrado y las técnicas de enmascaramiento de datos son fundamentales para proteger estos datos en el entorno de destino.
  • Complejidad de las transformaciones en el sistema de destino: aunque es una función potente, gestionar transformaciones complejas directamente en un almacén de datos (por ejemplo, mediante SQL) o en un data lake puede resultar complicado. Para ello, se necesita personal cualificado que domine estas herramientas y un enfoque disciplinado de la gestión y la optimización del código.
  • Herramientas y orquestación: la implementación eficaz de ELT depende de las herramientas adecuadas para orquestar los pasos de extracción y carga, y para gestionar y ejecutar las transformaciones en el sistema de destino. Aunque muchas plataformas en la nube ofrecen herramientas, integrarlas y gestionar el flujo de trabajo general requiere una planificación cuidadosa.
  • Posibilidad de crear "pantanos de datos": si los datos sin procesar que se cargan en un data lake no se catalogan, gestionan y gobiernan correctamente, el data lake puede convertirse en un "pantano de datos" en el que sea difícil encontrar los datos, confiar en ellos o utilizarlos de forma eficaz. Contar con una estrategia de gestión de datos sólida es fundamental.
  • Responsabilidad sobre la calidad de los datos: como las transformaciones se producen más adelante en el proceso, para asegurar la calidad de los datos puede que sea necesario realizar pasos específicos después de la carga. Por eso, es importante monitorizar y validar los datos en el sistema de destino.

Abordar estos retos de forma proactiva puede ayudar a las empresas a aprovechar al máximo las ventajas del paradigma ELT.

ELT frente a ETL

Es importante conocer la diferencia entre el proceso de ELT y el proceso más tradicional de ETL (extraer, transformar y cargar) para elegir la estrategia de integración de datos adecuada. La principal diferencia radica en cuándo se produce el paso de transformación y dónde se lleva a cabo.

Función

ELT (extraer, cargar y transformar)

ETL (extraer, transformar y cargar)

Orden de las operaciones

Extrae, carga y transforma

Extrae, transforma y carga

Ubicación de la transformación

En el almacén de datos de destino (data lake o almacén de datos)

En un entorno de área de staging o de herramienta de ETL independiente

Datos cargados en el objetivo

Datos sin procesar ni transformar

Datos limpios, estructurados y transformados

Potencia de procesamiento


Aprovecha el potencial del almacén de datos de destino

Depende de un motor de ETL o de un servidor de staging específico


Velocidad de ingestión de datos


Normalmente, es más rápido cargar los datos al principio

Puede ser más lento debido al procesamiento de transformación previo


Flexibilidad para nuevas aplicaciones


Alta, ya que los datos sin procesar están disponibles para su transformación

Menor, ya que las transformaciones están predefinidas

Tratamiento de esquemas

Adecuado para el esquema en lectura

A menudo se basa en el esquema en tiempo de escritura

Idoneidad del tipo de datos


Excelente para datos estructurados, semiestructurados y sin estructurar

Ideal para datos estructurados y semiestructurados

Uso de recursos

Optimiza el uso de almacenes de datos en la nube escalables

Puede que se requiera una infraestructura independiente para las transformaciones


Función

ELT (extraer, cargar y transformar)

ETL (extraer, transformar y cargar)

Orden de las operaciones

Extrae, carga y transforma

Extrae, transforma y carga

Ubicación de la transformación

En el almacén de datos de destino (data lake o almacén de datos)

En un entorno de área de staging o de herramienta de ETL independiente

Datos cargados en el objetivo

Datos sin procesar ni transformar

Datos limpios, estructurados y transformados

Potencia de procesamiento


Aprovecha el potencial del almacén de datos de destino

Depende de un motor de ETL o de un servidor de staging específico


Velocidad de ingestión de datos


Normalmente, es más rápido cargar los datos al principio

Puede ser más lento debido al procesamiento de transformación previo


Flexibilidad para nuevas aplicaciones


Alta, ya que los datos sin procesar están disponibles para su transformación

Menor, ya que las transformaciones están predefinidas

Tratamiento de esquemas

Adecuado para el esquema en lectura

A menudo se basa en el esquema en tiempo de escritura

Idoneidad del tipo de datos


Excelente para datos estructurados, semiestructurados y sin estructurar

Ideal para datos estructurados y semiestructurados

Uso de recursos

Optimiza el uso de almacenes de datos en la nube escalables

Puede que se requiera una infraestructura independiente para las transformaciones


ELT es el patrón de integración de datos que recomienda Google Cloud. El proceso de ELT consiste en extraer datos de los sistemas de origen, cargarlos en BigQuery y, a continuación, transformarlos en el formato deseado para analizarlos.A diferencia de la estrategia ETL (extraer, transformar y cargar), que consiste en transformar los datos antes de cargarlos en un almacén de datos, la estrategia ELT te permite usar todo el potencial de BigQuery para realizar transformaciones de datos y cualquier usuario de SQL puede desarrollar flujos de procesamiento de integración de datos de forma eficaz.

La elección entre ELT y ETL suele depender de casos prácticos específicos, la infraestructura existente, los volúmenes de datos y las necesidades analíticas de la empresa. En muchas arquitecturas de datos modernas, también se puede utilizar un enfoque híbrido, que usa tanto ELT como ETL para distintas partes del flujo de procesamiento.

Casos prácticos de ELT

El patrón ELT es especialmente eficaz en una variedad de escenarios de datos modernos:

Almacenamiento de datos en la nube

ELT es una solución ideal para las plataformas de datos en la nube, como BigQuery de Google Cloud, que ofrecen un enorme potencial de procesamiento y una escalabilidad excepcionales para gestionar las transformaciones de grandes conjuntos de datos de forma eficiente.

Análisis de Big Data

Cuando se trata de volúmenes enormes, alta velocidad y una gran variedad de datos, ELT permite la ingestión rápida en un data lake o en un almacenamiento escalable. Después, se pueden aplicar transformaciones según sea necesario mediante frameworks de procesamiento distribuido.

Implementación de data lakes

Los data lakes están diseñados para almacenar grandes cantidades de datos en bruto en su formato nativo. Los procesos de ELT cargan estos datos sin procesar, y varios motores de analíticas y de procesamiento pueden transformarlos y consumirlos.

Procesamiento de datos en tiempo real o casi en tiempo real

En los casos prácticos que requieren un acceso rápido a datos nuevos, ELT puede agilizar la fase de carga. Después, se pueden realizar transformaciones en subconjuntos de estos datos para crear paneles de control o aplicaciones específicos casi en tiempo real.

Análisis exploratorio de datos y ciencia de datos

Los científicos de datos suelen preferir acceder a datos sin transformar y en bruto para realizar la ingeniería de funciones, crear modelos de aprendizaje automático y descubrir información valiosa sin estar limitados por transformaciones predefinidas. ELT hace que estos datos sin procesar estén disponibles fácilmente.

Consolidar diversas fuentes de datos

Cuando se trata de integrar datos de numerosos sistemas dispares con estructuras diferentes, ELT simplifica la ingestión inicial al cargar todos los datos en una ubicación central y, a continuación, armonizarlos mediante transformaciones.

Soluciona los retos empresariales que se te presenten con Google Cloud

Los nuevos clientes reciben 300 USD en crédito gratis para invertirlos en Google Cloud.

Cómo usa Google Cloud el proceso ELT

Google Cloud ofrece un paquete completo de servicios que ayudan a optimizar las arquitecturas ELT, lo que permite a las empresas crear flujos de procesamiento de datos sólidos y escalables. El objetivo es aprovechar el potencial de servicios como BigQuery para realizar transformaciones en la propia base de datos.

A continuación, se explica cómo se suelen utilizar los servicios de Google Cloud en los patrones ELT:

  • Extracción: los datos se pueden extraer de numerosas fuentes mediante servicios como Dataflow para el procesamiento de datos por lotes y de streaming, Dataproc para cargas de trabajo de Spark y Hadoop, o directamente a través de conectores y APIs en los servicios de Google Cloud. Pub/Sub se puede usar para ingerir datos de streaming en tiempo real.
  • Carga: los datos sin procesar extraídos se suelen cargar en Cloud Storage, que actúa como un data lake duradero y altamente escalable. Desde Cloud Storage, los datos se pueden cargar de forma eficiente en BigQuery, el almacén de datos multinube, rentable, altamente escalable y sin servidor de Google Cloud. Los datos también se pueden enviar en streaming directamente a BigQuery.
  • Transformación: Aquí es donde la "T" de ELT destaca en Google Cloud. BigQuery está diseñado para realizar transformaciones complejas a escala de petabytes mediante SQL estándar. Su potente motor de procesamiento se encarga de las uniones, las agregaciones, las funciones de ventana y otras transformaciones directamente en los datos almacenados en él. Los usuarios también pueden desarrollar funciones definidas por el usuario (UDFs) en JavaScript o aprovechar BigQuery ML para el aprendizaje automático en la base de datos. Los datos sin procesar suelen permanecer en Cloud Storage o en tablas de BigQuery independientes, lo que permite realizar transformaciones de forma versátil.

La infraestructura de Google Cloud cumple los principios básicos del ELT, ya que proporciona almacenamiento escalable para datos sin procesar, funciones de carga rápida y un potente motor en BigQuery para realizar transformaciones de forma eficiente. De esta forma, los ingenieros de datos pueden crear flujos de procesamiento en los que los datos se almacenen rápidamente y se refinen en función de requisitos analíticos específicos, todo ello en un entorno gestionado y sin servidor.

Ve un paso más allá

Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.

Google Cloud