Extraer, cargar, transformar (ELT) 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 lago de datos) en un servidor de destino y luego preparar la información para usos posteriores.
ELT se compone de una canalización de datos con tres operaciones diferentes que se realizan en los datos:
El primer paso es Extraer 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 Carga 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 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.
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
Cómo funciona ELT
ELT es una variación de Extract, Transform, Load (ETL), 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 frente a 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 que se carguen. 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 empresarial (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 contraposició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. Estos 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.
El siguiente cuadro compara diferentes facetas de ETL o ELT:
|
ELT |
ETL |
Orden de procesos |
Extraer |
Extraer |
Flexibilidad |
Debido a que la transformación no depende de la extracción, ELT es más flexible que ETL para agregar más datos extraídos en el futuro. |
Se debe realizar una planificación más anticipada para garantizar que se integren todos los datos relevantes. |
Administración |
Es posible que se requiera más administración, ya que es posible que sea necesario adoptar varias herramientas. |
Por lo general, se utiliza una sola herramienta para las tres etapas, lo que quizás simplifica el esfuerzo de administración. |
Tiempo de desarrollo |
Con un enfoque más flexible, el tiempo de desarrollo puede aumentar según los requisitos y el enfoque. |
ETL requiere una planificación del diseño por adelantado, lo que puede resultar en menos gastos generales y tiempo de desarrollo porque solo se procesan los datos relevantes. |
Los usuarios finales |
Científicos de datos y analistas avanzados |
Usuarios que leen informes y codificadores SQL |
Complejidad de la transformación |
Las transformaciones son codificadas por programadores (por ejemplo, usando Java) y deben mantenerse como cualquier otro programa. |
Las transformaciones son codificadas en la herramienta ETL por un profesional de integración de datos con experiencia en la herramienta. |
Requisitos de hardware |
Por lo general, las herramientas ELT no requieren hardware adicional, sino que utilizan la potencia informática existente para las transformaciones. |
Es común que las herramientas ETL requieran hardware específico con sus propios motores para realizar transformaciones. |
Habilidades |
ELT se basa principalmente en la funcionalidad DBMS nativa, por lo que las habilidades existentes se pueden utilizar en la mayoría de los casos. |
ETL requiere capacitación y habilidades adicionales para aprender el conjunto de herramientas que impulsa la extracción, transformación y carga. |
Madurez |
ELT es una práctica relativamente nueva y, como tal, hay menos experiencia y menos mejores prácticas disponibles. |
ETL es una práctica madura que existe desde la década de 1990. Hay muchos técnicos capacitados, existen las mejores prácticas y hay muchas herramientas ETL útiles en el mercado. |
Almacenes de datos |
Principalmente Hadoop, quizás base de datos NoSQL. Base de datos raramente relacional. |
Base de datos casi exclusivamente relacional. |
Casos de uso |
Ideal para datos no estructurados y no relacionales. Ideal para lagos de datos. También puede funcionar para datos relacionales homogéneos. Muy adecuado para grandes cantidades de datos. |
Lo mejor para datos relacionales y estructurados. Mejor para cantidades de datos pequeñas o medianas. |
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, por lo general, es más rentable. ELT puede ser más eficiente al utilizar la potencia informática de los sistemas de almacenamiento de datos modernos.
Cuando usa ELT, mueve todo el conjunto de datos tal como existe en los sistemas de origen al destino. Esto significa que tiene 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.
El uso de ELT puede tener sentido al adoptar una iniciativa de big data para el 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 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
- esquema al leer.
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
- Oráculo
- SAS
- Talend
- Teradata
Un almacén de datos puede ser útil para administrar un mercado de datos de destino, un almacén de datos y / o un lago de datos. 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.