El acrónimo "ETL" se utiliza a menudo para referirse a la integración de datos; las actividades necesarias para respaldar la analítica. Estas actividades incluyen:
El orden preciso en el que se realizan esas actividades puede variar. En este artículo, describiremos dos enfoques conceptuales principales para la integración de datos, ETL y ELT. A su vez, te explicaremos en qué se diferencian y cuál es más conveniente.
Imagen 1. Características 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.
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 por primera vez en la década de 1970, 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:
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:
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:
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.
La intensidad de la mano de obra era aceptable en un momento en que la computación, el almacenamiento y el ancho de banda eran extremadamente escasos y costosos, y el volumen y la variedad de datos eran limitados. ETL es producto de una época con limitaciones tecnológicas muy importantes respecto a lo que impera actualmente.
Estas tendencias han hecho que ETL sea obsoleto para la mayoría de los propósitos de dos maneras. Primero, la asequibilidad de la computación, el almacenamiento y el ancho de banda de Internet ha llevado al crecimiento explosivo de la nube y los servicios basados en la nube.
A medida que la nube ha crecido, también han aumentado el volumen, la variedad y la complejidad de los datos. Una tubería frágil y personalizada que integra un volumen y una granularidad limitados de datos ya no es suficiente.
En segundo lugar, las tecnologías modernas de integración de datos sufren menos restricciones en el volumen de datos que se almacenarán y en la frecuencia de las consultas realizadas dentro de un almacén.
La asequibilidad de la computación, el almacenamiento y el ancho de banda de Internet ha hecho que sea práctico reordenar el flujo de trabajo de integración de datos. Lo más importante es que las organizaciones ahora pueden permitirse almacenar datos sin transformar en almacenes de datos.
Imagen 2. Características 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:
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.
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:
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.
Imagen 3. ETL vs. ELT
Hay algunos casos en los que ETL puede ser preferible a ELT. Estos incluyen específicamente casos en los que:
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.