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

En el panorama actual basado en datos, las organizaciones buscan constantemente formas más eficientes de administrar y analizar grandes cantidades de información. El proceso ELT (extracción, carga y transformación) representa un enfoque moderno para la integración de datos, que es particularmente adecuado para entornos de nube. Comprender ELT es clave para cualquier persona involucrada en la arquitectura de datos, la ingeniería de datos o el análisis, ya que puede ofrecer ventajas únicas en velocidad, flexibilidad y escalabilidad para manejar diversos conjuntos de datos. Este enfoque cambia el momento y el lugar en que se produce la transformación de datos, lo que permite nuevas posibilidades para su uso.

Definición de ELT

ELT significa extracción, carga y transformación. Es un modelo de canalización de datos en el que los datos se extraen primero de varios sistemas de origen. Luego, en vez de transformarse en un área de preparación separada, 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 se aplican solo después de que los datos se cargan en el sistema de destino.

Esta secuencia diferencia el ELT de su predecesor, el ETL (extracción, transformación y carga), y es una razón clave para su creciente adopción en arquitecturas nativas de la nube.

¿Cómo funciona ELT?

El flujo de proceso de ELT aprovecha la potencia y la escalabilidad de las plataformas modernas de almacenamiento y procesamiento de datos. Desglosemos cada componente:

  • Extracción: Este paso inicial implica recopilar datos sin procesar de sus fuentes originales. Estas fuentes pueden ser muy diversas, incluidas bases de datos (SQL y NoSQL), aplicaciones empresariales (como CRM y ERP), plataformas de SaaS, APIs y archivos de registro. El proceso de extracción se enfoca en obtener 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 alta capacidad. Los objetivos comunes para estos datos sin procesar son los data lakes en la nube o los almacenes de datos en la nube modernos que pueden manejar grandes volúmenes de datos estructurados, semiestructurados y sin estructurar.
  • Transformación: Este paso final se produce después de que los datos se alojan de forma segura en el sistema de destino. Con la potencia de procesamiento del almacén de datos o el data lake, los datos sin procesar se limpian, estructuran, enriquecen y convierten en un formato adecuado para las estadísticas, los informes y el aprendizaje automático. Las transformaciones pueden incluir filtrado, unión, agregación, estandarización de formatos y derivación de nuevos datos.

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

Beneficios de ELT

El enfoque ELT ofrece varias ventajas potenciales, sobre todo en entornos que trabajan con grandes volúmenes de datos y diversos tipos de datos:

  • Transferencia 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 preparación. Esto significa que los datos pueden estar disponibles para la exploración inicial o casos de uso específicos mucho antes.
  • Flexibilidad y agilidad: Dado que los datos sin procesar se conservan en el sistema de destino, las transformaciones se pueden desarrollar, modificar o agregar de forma iterativa a medida que evolucionan los requisitos comerciales. No es necesario volver a transferir datos de los sistemas de origen si cambia la lógica de transformación; simplemente vuelve a ejecutar la transformación en los datos sin procesar que ya están cargados.
  • Escalabilidad: Los almacenes de datos en la nube y los data lakes modernos están diseñados para una escalabilidad masiva. ELT aprovecha esta capacidad inherente realizando transformaciones con los motores de procesamiento sólidos de estos sistemas de destino. Esto permite que las organizaciones manejen volúmenes de datos en aumento y transformaciones complejas de forma eficiente.
  • Preservación de datos sin procesar: Almacenar datos sin procesar permite tener un registro histórico más completo. Esto puede ser invaluable para la auditoría de datos, el procesamiento posterior si se encuentran errores en transformaciones anteriores o para necesidades analíticas futuras que aún no se previeron. Los científicos de datos a menudo se benefician de tener acceso a los datos más detallados y no transformados.
  • Eficiencia de costos para ciertas cargas de trabajo: Usar la potencia de procesamiento de un almacén de datos en la nube para las transformaciones puede ser más rentable que mantener una infraestructura separada o licenciar herramientas de ETL especializadas para las transformaciones, en especial cuando el almacén de datos ofrece un procesamiento optimizado.
  • Compatibilidad con diversos tipos de datos: ELT puede ser adecuado para manejar datos estructurados, semiestructurados (como JSON o XML) y no estructurados (como texto o imágenes). Los datos se pueden cargar en su formato nativo y transformarse según sea necesario, lo que puede ser una ventaja significativa en situaciones de macrodatos. Este enfoque de "esquema de lectura", en el que la estructura se aplica durante el procesamiento en lugar de antes de la carga, es un sello distintivo de ELT.

Desafíos de ELT

Si bien ELT ofrece varios beneficios, también puede presentar ciertas complicaciones que las organizaciones deben tratar de abordar:

  • Administración y seguridad de los datos: Cargar datos sin procesar, que podrían contener información sensible o de identificación personal (PII), en un almacén de datos o un data lake requiere medidas sólidas de administración, seguridad y cumplimiento de los datos. Los controles de acceso, la encriptación y las técnicas de enmascaramiento de datos son fundamentales para proteger estos datos en el entorno de destino.
  • Complejidad de la transformación dentro del sistema de destino: Si bien administrar la lógica de transformación compleja directamente en un almacén de datos (por ejemplo, con SQL) o un data lake es una opción potente, también puede ser desafiante. Requiere personal calificado que domine estas herramientas y un enfoque disciplinado para la administración y optimización del código.
  • Herramientas y organización: La implementación eficaz de ELT depende de las herramientas adecuadas para organizar los pasos de extracción y carga, y para administrar y ejecutar transformaciones dentro del sistema de destino. Si bien muchas plataformas en la nube ofrecen herramientas, integrarlas y administrar el flujo de trabajo general requiere una planificación cuidadosa.
  • Posibilidad de que se formen "pantanos de datos": Si los datos sin procesar que se cargan en un data lake no se catalogan, administran y controlan de forma adecuada, el data lake puede convertirse en un "pantano de datos", en el que es difícil encontrar los datos, confiar en ellos o usarlos de forma eficaz. Una estrategia sólida de administración de datos es crucial.
  • Responsabilidad de la calidad de los datos: Dado que las transformaciones ocurren más adelante en el proceso, garantizar la calidad de los datos podría requerir pasos dedicados después de la carga. La supervisión y validación de datos dentro del sistema de destino se vuelve importante.

Abordar estos desafíos de forma proactiva puede ayudar a las organizaciones a aprovechar al máximo las ventajas del paradigma ELT.

ELT en comparación con ETL

Comprender la distinción entre ELT y el proceso más tradicional de ETL (extraer, transformar y cargar) es importante para elegir la estrategia de integración de datos correcta. La diferencia principal radica en cuándo se produce el paso de transformación y dónde se realiza.

Función

ELT (extracción, carga, transformación)

ETL (extracción, transformación y carga)

Orden de las operaciones

Extracción, carga y transformación

Extracción, transformación y carga

Ubicación de transformación

Dentro del almacén de datos de destino (almacén de datos/data lake)

En un área de pruebas o un entorno de herramientas de ETL separados

Datos cargados en el destino

Datos sin procesar ni transformar

Datos limpios, estructurados y transformados

Poder de procesamiento


Aprovecha la potencia del almacén de datos de destino

Depende de un motor ETL o un servidor de transferencia


Velocidad de transferencia de datos


Por lo general, es más rápido para cargar datos inicialmente.

Puede ser más lento debido al procesamiento por adelantado de las transformaciones.


Flexibilidad para nuevos usos


Es alta, ya que los datos sin procesar están disponibles para la transformación.

Es menor, ya que las transformaciones están predefinidas.

Administración de esquemas

Funciona bien en esquemas de lectura.

A menudo, se basa en el esquema de escritura.

Idoneidad del tipo de datos


Es excelente para datos estructurados, semiestructurados y no estructurados.

Es la mejor opción para datos estructurados y algunos semiestructurados.

Uso de recursos

Optimiza el uso de almacenes de datos en la nube escalables.

Es posible que se requiera una infraestructura separada para las transformaciones.


Función

ELT (extracción, carga, transformación)

ETL (extracción, transformación y carga)

Orden de las operaciones

Extracción, carga y transformación

Extracción, transformación y carga

Ubicación de transformación

Dentro del almacén de datos de destino (almacén de datos/data lake)

En un área de pruebas o un entorno de herramientas de ETL separados

Datos cargados en el destino

Datos sin procesar ni transformar

Datos limpios, estructurados y transformados

Poder de procesamiento


Aprovecha la potencia del almacén de datos de destino

Depende de un motor ETL o un servidor de transferencia


Velocidad de transferencia de datos


Por lo general, es más rápido para cargar datos inicialmente.

Puede ser más lento debido al procesamiento por adelantado de las transformaciones.


Flexibilidad para nuevos usos


Es alta, ya que los datos sin procesar están disponibles para la transformación.

Es menor, ya que las transformaciones están predefinidas.

Administración de esquemas

Funciona bien en esquemas de lectura.

A menudo, se basa en el esquema de escritura.

Idoneidad del tipo de datos


Es excelente para datos estructurados, semiestructurados y no estructurados.

Es la mejor opción para datos estructurados y algunos semiestructurados.

Uso de recursos

Optimiza el uso de almacenes de datos en la nube escalables.

Es posible que se requiera una infraestructura separada para las transformaciones.


ELT es el patrón recomendado de Google Cloud para la integración de datos. La ELT implica extraer datos de los sistemas de origen, cargarlos en BigQuery y, luego, transformarlos en el formato deseado para el análisis. A diferencia del ETL (extraer, transformar y cargar), que implica transformar los datos antes de cargarlos en un almacén de datos, el enfoque ELT te permite usar toda la potencia de BigQuery para realizar transformaciones de datos y cualquier usuario de SQL para desarrollar de forma eficaz canalizaciones de integración de datos.

La elección entre ELT y ETL a menudo depende de casos de uso específicos, la infraestructura existente, los volúmenes de datos y las necesidades de análisis de la organización. En muchas arquitecturas de datos modernas, también se puede usar un enfoque híbrido, que combina ELT y ETL para diferentes partes de la canalización.

Casos de uso de ELT

El patrón ELT es particularmente eficaz en una variedad de situaciones de datos modernas:

Almacenamiento de datos en la nube

ELT es una opción natural para las plataformas de datos en la nube, como BigQuery de Google Cloud, que ofrecen una inmensa capacidad de procesamiento y escalabilidad para manejar transformaciones en conjuntos de datos grandes de forma eficiente.

Análisis de macrodatos

Cuando se trata de volúmenes masivos, alta velocidad y una amplia variedad de datos, ELT permite la transferencia rápida a un data lake o almacenamiento escalable. Luego, las transformaciones se pueden aplicar según sea necesario con frameworks de procesamiento distribuido.

Implementación de data lakes

Los data lakes están diseñados para almacenar grandes cantidades de datos sin procesar en su formato nativo. Los procesos de ELT cargan esos datos para que varios motores de análisis y procesamiento puedan transformarlos y consumirlos.

Procesamiento de datos en tiempo real o casi en tiempo real

En los casos de uso que requieren acceso rápido a datos nuevos, ELT puede acelerar la fase de carga. Las transformaciones para paneles o aplicaciones específicos casi en tiempo real se pueden realizar en subconjuntos de estos datos.

Análisis exploratorio de datos y ciencia de datos

Los científicos de datos suelen preferir el acceso a datos sin procesar y no transformados para realizar ingeniería de atributos, crear modelos de aprendizaje automático y descubrir estadísticas sin estar limitados por transformaciones predefinidas. ELT pone a su alcance esos datos sin procesar.

Consolidación de diversas fuentes de datos

Cuando se integran datos de numerosos sistemas dispares con estructuras diferentes, ELT simplifica la transferencia inicial cargando todo en una ubicación central primero y, luego, armonizando los datos a través de transformaciones.

Resuelve tus desafíos más difíciles con Google Cloud

Los clientes nuevos obtienen $300 en créditos gratuitos que pueden usar en Google Cloud.

Cómo Google Cloud usa ELT

Google Cloud proporciona un paquete integral de servicios que ayudan a optimizar las arquitecturas de ELT, lo que permite a las organizaciones crear canalizaciones de datos sólidas y escalables. La base de todo es aprovechar la potencia de servicios como BigQuery para las transformaciones en la base de datos.

Esta es la forma en que los servicios de Google Cloud se suelen emplear en los patrones de ELT:

  • Extracción: Los datos se pueden extraer de numerosas fuentes a través de servicios como Dataflow (para el procesamiento de datos por lotes y de transmisión), 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 mover datos de transmisión en tiempo real.
  • Carga: A menudo, los datos sin procesar extraídos se cargan 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 rentable, altamente escalable, sin servidores y de múltiples nubes de Google Cloud. Los datos también se pueden transmitir directamente a BigQuery.
  • Transformación: Aquí es donde la "T" de la sigla se destaca más en Google Cloud. BigQuery está diseñado para realizar transformaciones complejas a escala de petabytes con SQL estándar. Su potente motor de procesamiento maneja uniones, agregaciones, funciones analíticas 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. A menudo, los datos sin procesar permanecen en Cloud Storage o en tablas de BigQuery separadas, lo que permite una retransformación versátil.

La infraestructura de Google Cloud admite los principios básicos de ELT, ya que proporciona almacenamiento escalable para datos sin procesar, capacidades de carga rápida y un motor potente en BigQuery para realizar transformaciones de manera eficiente. Así, los ingenieros de datos pueden crear canalizaciones en las que los datos se reciben rápidamente y, luego, se definen mejor según requisitos analíticos específicos, todo en un entorno administrado sin servidores.

Da el siguiente paso

Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.

Google Cloud