¿Qué es ETL?
ETL es un proceso que extrae los datos de diferentes sistemas de origen, luego transforma los datos (como aplicar cálculos, concatenaciones, etc.) y finalmente carga los datos en el sistema de almacenamiento de datos. La forma completa de ETL es Extraer, Transformar y Cargar.
Es tentador pensar que la creación de un almacén de datos es simplemente extraer datos de varias fuentes y cargarlos en la base de datos de un almacén de datos. Esto está lejos de la verdad y requiere un proceso ETL complejo. El proceso ETL requiere aportaciones activas de varias partes interesadas, incluidos desarrolladores, analistas, probadores, altos ejecutivos y es técnicamente desafiante.
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á:
- ¿Qué es ETL?
- ¿Por qué necesita ETL?
- Proceso ETL en almacenes de datos
- Paso 1) Extracción
- Paso 2) Transformación
- Paso 3) Cargando
- Herramientas ETL
- Proceso ETL de mejores prácticas
¿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 transaccionales no pueden responder preguntas comerciales complejas que pueden responderse con el ejemplo de ETL.
- Un almacén de datos proporciona un repositorio de datos común
- ETL proporciona un método para mover 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 las reglas de transformación, agregación y cálculo de datos.
- El proceso ETL permite la comparación de datos de muestra 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 migrar datos a un almacén de datos. Convierta a varios 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 el almacén de datos ofrece 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 este paso de la arquitectura ETL, los datos se extraen del sistema de origen al área de preparación. Las transformaciones, si las hay, se realizan en el área de preparación para que el rendimiento del sistema fuente no se degrade. Además, si los datos dañados se copian directamente desde la fuente a la base de datos del almacén de datos, la reversión será un desafío. El área de preparación brinda la oportunidad de validar los datos extraídos antes de que se muevan al almacén de datos.
El almacén de datos necesita integrar sistemas que tienen diferentes
DBMS, hardware, sistemas operativos y protocolos de comunicación. Las fuentes podrían 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 necesita un mapa de datos lógico antes de que los datos se extraigan y carguen 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 completa
- Extracción parcial: sin notificación de actualización.
- Extracción parcial: con notificación de actualización
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 los resultados 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
- Verificación del 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, este es el paso clave en el que el proceso ETL agrega valor y cambia los datos de manera que se puedan generar informes de BI detallados.
Es uno de los conceptos ETL importantes donde aplica un conjunto de funciones en datos extraídos. Los datos que no requieren ninguna transformación se denominan datos de transferencia directa o transferencia .
En el paso de transformación, puede realizar operaciones personalizadas en los datos. Por ejemplo, si el usuario desea ingresos por suma de ventas que no se encuentran en la base de datos. O si el nombre y el apellido en una tabla están en columnas diferentes. Es posible concatenarlos antes de cargarlos.
Los siguientes son problemas de integridad de los datos:
- Diferente ortografía de la misma persona como Jon, John, etc.
- Hay varias formas de denotar el nombre de una empresa como Google, Google Inc.
- Uso de diferentes nombres como Cleaveland, Cleveland.
- Puede darse el caso de que varias aplicaciones generen diferentes números de cuenta para el mismo cliente.
- En algunos datos, los archivos requeridos permanecen en blanco
- El producto no válido recogido en el punto de venta como entrada manual puede provocar errores.
Las validaciones se realizan durante esta etapa.
- Filtrado: seleccione solo determinadas columnas para cargar
- Usar reglas y tablas de búsqueda para la estandarización de datos
- Conversión de juegos de caracteres y manejo de codificación
- Conversión de unidades de medida como conversión de fecha y hora, conversiones de moneda, conversiones numéricas, etc.
- Comprobación de la validación del umbral de datos. Por ejemplo, la edad no puede tener más de dos dígitos.
- Validación del flujo de datos desde el área de ensayo hasta las mesas intermedias.
- Los campos obligatorios no deben dejarse en blanco.
- Limpieza (por ejemplo, asignar NULL a 0 o Sexo masculino a "M" y femenino a "F", etc.)
- Divida una columna en múltiplos y combine varias columnas en una sola columna.
- Transposición de filas y columnas,
- Utilice búsquedas para fusionar datos
- Usar cualquier validación de datos compleja (p. Ej., Si las dos primeras columnas de una fila están vacías, automáticamente se rechaza el procesamiento de la fila)
Paso 3) Cargando
La carga de datos en la base de datos del almacén de datos de destino es el último paso del proceso ETL. En un almacén de datos típico, es necesario cargar un gran volumen de datos en un período relativamente corto (noches). Por lo tanto, 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 administradores del almacén de datos deben monitorear, reanudar y cancelar cargas según el rendimiento del servidor prevaleciente.
Tipos de carga:
- Carga inicial : completando todas las tablas del almacén de datos
- Carga incremental : aplicar cambios continuos cuando sea necesario periódicamente.
- Actualización completa: borra el contenido de una o más tablas y vuelve a cargar con datos nuevos.
Verificación de carga
- Asegúrese de que los datos del campo clave no falten ni sean nulos.
- Pruebe las vistas de modelado basadas en las tablas de destino.
- Compruebe que los valores combinados y las medidas calculadas.
- Verificaciones de datos en la tabla de dimensiones y en la tabla de historial.
- Consulte los informes de BI en la tabla de hechos y dimensiones cargada.
Herramientas ETL
Hay muchas herramientas de almacenamiento de datos disponibles en el mercado. A continuación, se muestran algunos de los más destacados:
1. MarkLogic:
MarkLogic es una solución de almacenamiento de datos que hace que la integración de datos sea más fácil y rápida utilizando 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 opciones de soluciones de almacenamiento de datos tanto en las instalaciones como 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 ejecutar consultas complejas contra petabytes de datos estructurados.
https://aws.amazon.com/redshift/?nc2=h_m1
Aquí hay una lista completa de herramientas útiles 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 limpiar todos los datos:
A todas las organizaciones les gustaría tener todos los datos limpios, pero la mayoría de ellos no están listos para pagar para esperar o no están listos para esperar. Limpiarlo todo simplemente llevaría demasiado tiempo, por lo que es mejor no intentar limpiar todos los datos.
Nunca limpie nada:
Siempre planifique limpiar algo porque la principal razón para construir el almacén de datos es ofrecer datos más limpios y confiables.
Determine el costo de limpiar los datos:
Antes de limpiar todos los datos sucios, es importante que determine el costo de limpieza de cada elemento de datos sucios.
Para acelerar el procesamiento de consultas, tenga vistas e índices auxiliares:
Para reducir los costos de almacenamiento, almacene los datos resumidos en cintas de disco. Además, se requiere el compromiso entre el volumen de datos que se almacenarán y su uso detallado. Compensación en el nivel de granularidad de los datos para disminuir los costos de almacenamiento.
Resumen:
- ETL significa Extraer, Transformar y Cargar.
- ETL proporciona un método para mover los datos de varias fuentes a un almacén de datos.
- En el primer paso, la extracción, los datos se extraen del sistema fuente al área de preparación.
- En el paso de transformación, los datos extraídos de la fuente se limpian y transforman.
- La carga de datos en el almacén de datos de destino es el último paso del proceso ETL.