ETL vs. ELT, dos opciones para la extracción, carga y transformación de datos
Extraer, cargar, transformar (ELT, por sus siglas en inglés) es un proceso de integración de datos para transferir datos sin procesar desde un servidor de origen a un sistema de datos (como un almacén de datos o un lago de datos) en un servidor de destino y luego preparar la información para usos posteriores.
ELT se compone de un flujode datos con tres operaciones diferentes que se realizan en los datos:
El primer paso es Extraer (Extract) los datos. La extracción de datos es el proceso de identificar y leer datos de uno o más sistemas de origen, que pueden ser bases de datos, archivos, archivos, ERP, CRM o cualquier otra fuente viable de datos útiles.
El segundo paso para ELT es Cargar (Load) los datos extraídos. La carga es el proceso de agregar los datos extraídos a la base de datos de destino.
El tercer paso es Transformar (Transform) los datos. La transformación de datos es el proceso de convertir datos de su formato de origen al formato requerido para el análisis. La transformación generalmente se basa en reglas que definen cómo se deben convertir los datos para su uso y análisis en el almacén de datos de destino. Aunque la transformación de datos puede tomar muchas formas diferentes, con frecuencia implica convertir datos codificados en datos utilizables mediante código y tablas de búsqueda.
Los ejemplos de transformaciones incluyen:
- Reemplazo de códigos con valores
- Sumas numéricas agregadas
- Aplicar funciones matemáticas
- Conversión de tipos de datos
- Modificar cadenas de texto
- Combinar datos de diferentes tablas y bases de datos
Las siglas ETL (Extract, Transform, Load) se refieren a un proceso de integración de datos en el que la transformación tiene lugar en un servidor intermedio antes de que se cargue en el destino. Por el contrario, ELT permite que los datos sin procesar se carguen directamente en el objetivo y se transformen allí.
Con un enfoque ELT, se utiliza una herramienta de extracción de datos para obtener datos de una fuente o fuentes, y los datos extraídos se almacenan en un área de preparación o base de datos. Las reglas de negocio y las comprobaciones de integridad de los datos necesarias se pueden ejecutar en los datos del área de preparación antes de cargarlos en el almacén de datos. Todas las transformaciones de datos ocurren en el almacén de datos después de que se cargan los datos.
ELT versus ETL
Las diferencias entre ELT y un proceso ETL tradicional son más significativas que simplemente cambiar la L y la T. El mayor determinante es cómo, cuándo y dónde se realizan las transformaciones de datos.
Con ETL, los datos sin procesar no están disponibles en el almacén de datos porque se transforman antes de cargarlos. Con ELT, los datos sin procesar se cargan en el almacén de datos (o lago de datos) y se producen transformaciones en los datos almacenados.
Las áreas de preparación se utilizan tanto para ELT como para ETL, pero con ETL las áreas de preparación están integradas en la herramienta ETL que se utiliza. Con ELT, el área de preparación está en una base de datos utilizada para el almacén de datos.
ELT es más útil para procesar los grandes conjuntos de datos necesarios para la inteligencia de negocios (BI) y el análisis de big data. Los datos no relacionales y no estructurados son más propicios para un enfoque ELT porque los datos se copian "tal cual" de la fuente. La aplicación de análisis a datos no estructurados generalmente utiliza un enfoque de "esquema en lectura" en oposición al tradicional "esquema en escritura" utilizado por las bases de datos relacionales.
Cargar datos sin transformarlos primero puede ser problemático si está moviendo datos de una fuente no relacional a un destino relacional porque los datos tendrán que coincidir con un esquema relacional. Esto significa que será necesario identificar y analizar los datos para admitir los tipos de datos disponibles en la base de datos de destino.
Es posible que sea necesario realizar la conversión del tipo de datos como parte del proceso de carga si los almacenes de datos de origen y de destino no admiten todos los mismos tipos de datos. Tales problemas también pueden ocurrir cuando se mueven datos de un sistema de administración de bases de datos relacionales (DBMS) a otro, como, por ejemplo, Oracle a Db2, porque los tipos de datos admitidos difieren de DBMS a DBMS.
ETL debe considerarse como un enfoque preferido sobre ELT cuando existe la necesidad de una limpieza de datos exhaustiva antes de cargar los datos en el sistema de destino, cuando se requieren numerosos cálculos complejos en datos numéricos y cuando todos los datos de origen provienen de sistemas relacionales.
Beneficios de ELT
Uno de los principales atractivos de ELT es la reducción de los tiempos de carga en relación con el modelo ETL. Aprovechar la capacidad de procesamiento integrada en una infraestructura de almacenamiento de datos reduce el tiempo que los datos pasan en tránsito y suele ser más rentable. ELT puede ser más eficiente al utilizar la potencia informática de los sistemas de almacenamiento de datos modernos.
Cuando se usa ELT, se mueve todo el conjunto de datos tal como existe en los sistemas de origen al destino. Esto significa que se tienen los datos sin procesar a su disposición en el almacén de datos, en contraste con el enfoque ETL donde los datos sin procesar se transforman antes de que se carguen en el almacén de datos. Esta flexibilidad puede mejorar el análisis de datos, lo que permite realizar más análisis directamente dentro del almacén de datos sin tener que acudir a los sistemas de origen para obtener los datos no transformados.
Utilizar ELT puede tener sentido al adoptar una iniciativa de big data para análisis. Los macrodatos a menudo se basan en una gran cantidad de datos, así como en una amplia variedad de datos que son más adecuados para ELT.
Usos de ELT
ELT se usa a menudo en los siguientes casos:
- cuando los datos están estructurados, pero la base de datos de origen y de destino son del mismo tipo (es decir, origen y destino de Oracle);
- cuando los datos no están estructurados y son masivos, como el procesamiento y la correlación de datos de archivos de registro y sensores
- cuando los datos son relativamente simples, pero hay grandes cantidades de ellos;
- cuando existe un plan para utilizar herramientas de aprendizaje automático para procesar los datos en lugar de las consultas SQL tradicionales; y
- como un esquema de lectura.
Herramientas y software ELT
Aunque ELT se puede realizar utilizando herramientas independientes para extraer, cargar y transformar los datos, existen herramientas que integran todos los procesos de ELT. Al buscar una herramienta ELT, los usuarios deben buscar la capacidad de leer datos de múltiples fuentes, específicamente las fuentes que su organización usa y tiene la intención de usar. La mayoría de las herramientas admiten una amplia variedad de sistemas de bases de datos y almacenes de datos de origen y destino.
Los usuarios pueden buscar herramientas que puedan realizar tanto ETL como ELT, ya que es probable que necesiten ambas técnicas de integración de datos.
Aunque existen muchos proveedores de herramientas ELT/ETL, algunos de los líderes del mercado incluyen:
- IBM
- Informatica
- Microsoft
- Oracle
- SAS
- Talend
- Teradata
Un sitio de almacenamiento de datos puede ser útil para administrar un mercado de datos (data mart) de destino, un almacén de datos (data warehouse) o un lago de datos (data lake). Para un enfoque ELT, los sistemas de administración de bases de datos NoSQL y Hadoop son candidatos viables, al igual que los dispositivos de almacenamiento de datos diseñados específicamente. En algunos casos, un DBMS relacional tradicional puede ser apropiado.