¿Qué es ETL?
ETL es un proceso que extrae los datos de varios sistemas de origen, luego transforma los datos (como cálculos, concatenaciones, etc.) y finalmente carga los datos en el sistema de almacenamiento de datos. Extracción, transformación y carga es la forma completa de ETL.
Es un placer pensar que crear un almacén de datos no se trata solo de extraer datos de múltiples fuentes y cargarlos en una base de datos de almacén de datos. Esto está lejos de la verdad y requiere un proceso ETL complejo. El proceso ETL requiere aportaciones activas de una variedad de partes interesadas, incluidos desarrolladores, analistas, probadores, directores ejecutivos y es un desafío técnico.
Para mantener su valor como herramienta para los tomadores de decisiones, el sistema de almacenamiento de datos debe cambiar con los cambios comerciales. ETL es una actividad recurrente (diaria, semanal, mensual) de un sistema de almacenamiento de datos y debe ser ágil, automatizada y bien documentada.
En este tutorial de ETL, aprenderá:
¿Por qué necesita ETL?
Hay muchas razones para adoptar ETL en la organización:
- Ayuda a las empresas a analizar sus datos comerciales para tomar decisiones comerciales críticas.
- Las bases de datos de transacciones no pueden responder preguntas comerciales complejas que un ejemplo de ETL puede responder.
- El almacén de datos proporciona una base de datos común
- ETL proporciona un método para transferir los datos de varias fuentes a un almacén de datos.
- A medida que cambian las fuentes de datos, el almacén de datos se actualizará automáticamente.
- Un sistema ETL bien diseñado y documentado es casi esencial para el éxito de un proyecto de almacenamiento de datos.
- Permitir la verificación de reglas para la transformación, agregación y cálculos de datos.
- El proceso ETL permite la comparación de muestras de datos entre el sistema de origen y el de destino.
- El proceso ETL puede realizar transformaciones complejas y requiere un área adicional para almacenar los datos.
- ETL ayuda a transferir datos a un almacén de datos. Convierta a diferentes formatos y tipos para adherirse a un sistema consistente.
- ETL es un proceso predefinido para acceder y manipular datos de origen en la base de datos de destino.
- ETL en un almacén de datos proporciona un contexto histórico profundo para el negocio.
- Ayuda a mejorar la productividad porque codifica y reutiliza sin necesidad de conocimientos técnicos.
Proceso ETL en almacenes de datos
ETL es un proceso de 3 pasos
Paso 1) Extracción
En esta fase de la arquitectura ETL, los datos del sistema de origen se extraen en el área del escenario. Las transformaciones, si se realizan en el área del escenario, se realizan para que el rendimiento del sistema fuente no se degrade. Además, si los datos corruptos se copian directamente desde la fuente a una base de datos de almacenamiento de datos, la reincorporación será un desafío. El área del escenario permite la validación de los datos extraídos antes de ingresar al Data warehouse.
Un almacén de datos necesita integrar diferentes sistemas
DBMS, hardware, sistemas operativos y protocolos de comunicación. Las fuentes pueden incluir aplicaciones heredadas como Mainframes, aplicaciones personalizadas, dispositivos de punto de contacto como cajeros automáticos, conmutadores de llamadas, archivos de texto, hojas de cálculo, ERP, datos de proveedores, socios, entre otros.
Por lo tanto, se requiere un mapa lógico de datos antes de que los datos se puedan extraer y cargar físicamente. Este mapa de datos describe la relación entre las fuentes y los datos de destino.
Tres métodos de extracción de datos:
- Extracción total
- Extracción parcial: sin notificación de actualización.
- Extracción parcial: con notificación actualizada
Independientemente del método utilizado, la extracción no debería afectar el rendimiento y el tiempo de respuesta de los sistemas fuente. Estos sistemas de origen son bases de datos de producción en vivo. Cualquier desaceleración o bloqueo podría afectar la línea de base de la empresa.
Algunas validaciones se realizan durante la extracción:
- Conciliar registros con los datos de origen
- Asegúrese de que no se carguen spam / datos no deseados
- Verifique el tipo de datos
- Eliminar todo tipo de datos duplicados / fragmentados
- Verifique si todas las llaves están en su lugar o no
Paso 2) Transformación
Los datos extraídos del servidor de origen están sin procesar y no se pueden utilizar en su forma original. Por lo tanto, debe limpiarse, mapearse y transformarse. De hecho, esta es la etapa clave en la que el proceso ETL agrega valor a los datos y los convierte para que se puedan generar informes de BI comprensibles.
Es uno de los conceptos ETL importantes en el que aplica un conjunto de funciones a los datos extraídos. Se dan detalles que no requieren ninguna transformación. sólo muévete o pasar a través de datos.
En la fase de transformación, puede realizar operaciones personalizadas en los datos. Por ejemplo, si el usuario desea ingresos de ventas que no están en la base de datos. O si el nombre y apellido en una tabla están en columnas diferentes. Se pueden comparar entre sí antes de cargarlos.
Los problemas de integridad de los datos son los siguientes:
- Ortografía diferente de la misma persona que Jon, John, etc.
- Hay varias formas de nombrar una empresa como Google, Google Inc.
- Use diferentes nombres como Cleaveland, Cleveland.
- Puede darse el caso de que se generen diferentes números de cuenta con diferentes aplicaciones para el mismo cliente.
- En algunos datos, los archivos requeridos permanecen en blanco
- El producto no válido recolectado por POS como una entrada manual puede resultar en errores.
La validación tiene lugar durante esta etapa.
- Filtrado: seleccione solo determinadas columnas para cargar
- Use reglas y tablas de búsqueda para la estandarización de datos
- Conversión de series de caracteres y manejo codificado
- Unidades de medida de conversión, como conversión de fecha, conversión de moneda, conversiones numéricas, etc.
- Verifique la validación del portal de datos. Por ejemplo, la edad no puede tener más de dos dígitos.
- La validación de los flujos de datos desde el área del escenario a las tablas intermedias.
- Los campos obligatorios no deben dejarse en blanco.
- Limpieza (por ejemplo, asignar NULL a 0 o género masculino a «M» y mujeres a «F», etc.)
- Divida una columna en múltiplos y combine varias columnas en una sola.
- Transponer filas y columnas,
- Utilice la búsqueda para fusionar datos
- Usando cualquier validación de datos compleja (por ejemplo, si las dos primeras columnas consecutivas están vacías, automáticamente rechaza el procesamiento de la fila)
Paso 3) Cargando
El paso final del proceso ETL es cargar datos en la base de datos de datos de destino. En un almacén de datos típico, es necesario cargar una gran cantidad de datos en un período de tiempo relativamente corto (noches). En consecuencia, el proceso de carga debe optimizarse para el rendimiento.
En caso de falla de carga, los mecanismos de recuperación deben configurarse para reiniciarse desde el punto de falla sin pérdida de integridad de los datos. Los receptores de Data Warehouse deben monitorear, reanudar y cancelar cargas de acuerdo con el desempeño del servidor predominante.
Tipos de carga:
- Carga inicial – incluir todas las tablas del almacén de datos
- Carga incremental – implementar cambios continuos según sea necesario periódicamente.
- Renovación completa – elimine uno o más contenidos de la tabla y vuelva a cargar con datos nuevos.
Verificación de carga
- Asegúrese de que los datos del campo clave no falten o sean nulos.
- Pruebe las pruebas de modelado basadas en las tablas de destino.
- Compruebe que los valores estén combinados y las medidas estén calculadas.
- Comprueba los datos de la tabla de dimensiones y la tabla de historial.
- Consulte los informes de BI en la tabla de hechos y dimensión de carga.
Herramientas ETL
Hay muchas herramientas de almacenamiento de datos disponibles en el mercado. Éstos son algunos de los más notables:
1. MarkLogic:
MarkLogic es una solución de almacenamiento de datos que facilita y agiliza la integración de datos mediante el uso de una variedad de funciones empresariales. Puede consultar diferentes tipos de datos como documentos, relaciones y metadatos.
https://www.marklogic.com/product/getting-started/
2. Oracle:
Oracle es la base de datos líder en la industria. Ofrece una amplia gama de soluciones de almacenamiento de datos locales y en la nube. Ayuda a optimizar las experiencias de los clientes aumentando la eficiencia operativa.
https://www.oracle.com/index.html
3. Amazon RedShift:
Amazon Redshift es una herramienta de Datawarehouse. Es una herramienta simple y rentable para analizar todo tipo de datos utilizando SQL estándar y herramientas de BI existentes. También permite que las consultas complejas se ejecuten contra el petróleo de datos estructurados.
https://aws.amazon.com/redshift/?nc2=h_m1
Aquí hay una lista útil completa Herramientas de almacenamiento de datos.
Proceso ETL de mejores prácticas
Las siguientes son las mejores prácticas para los pasos del proceso ETL:
Nunca intente borrar todos los datos:
Todas las organizaciones quieren que todos los datos estén limpios, pero la mayoría no está lista para pagar por quedarse o no está lista para esperar. Limpiarlo solo tomaría demasiado tiempo, por lo que es mejor no intentar limpiar todos los datos.
Nunca limpie nada:
Siempre planifique limpiar algo porque la razón principal para construir el almacén de datos es ofrecer datos más limpios y confiables.
Descubra el costo de borrar los datos:
Antes de limpiar todos los datos sucios, es importante que determine el costo de limpieza para cada elemento de datos sucios.
Para acelerar el procesamiento de una consulta, tenga comentarios e índices útiles:
Para reducir los costos de almacenamiento, almacene los datos resumidos en cintas de disco. Además, se requiere la mitigación entre la cantidad de datos a almacenar y su uso detallado. Cambie el nivel de granularidad de los datos para reducir los costos de almacenamiento.
Resumen:
- ETL significa Extracción, Transformación y Carga.
- ETL proporciona un método para transferir los datos de múltiples fuentes a almacén de datos.
- En el primer paso de extracción, los datos del sistema fuente se extraen en el área del escenario.
- En la fase de transformación, los datos extraídos de la fuente se limpian y transforman.
- El paso final del proceso ETL es cargar datos en el destino de datos.