Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Semana 10 - ETL
Semana 10 - ETL
Metodologa Kimball
Modelado Dimensional
Modelado Fsico
ETL
Minera de Datos
Reportes
Tabla de Contenido
ETL Extraccin Transformacin Carga
Objetivos
1. Presentar los conceptos necesarios para entender el proceso de extraccin, transformacin y carga de una base de datos.
ETL
Extraer, Transformar y Cargar
El proceso ETL
Proceso para transferir, formatear, limpiar y cargar datos desde aplicaciones de produccin (ERP, CRM, BDR, archivos) a los sistemas de BI (Data Marts, BDD, OLAP). Su construccin es responsabilidad del equipo BI/DWH. Se construye para cada BI/DWH. Implica entre 40% al 60% del esfuerzo. Se utiliza herramientas y programas diseados ad hoc
El proceso ETL
El ETL se encarga de:
Extraer los datos de las fuentes Transformar y limpiar los datos Resumir los datos Detectar cambios en las fuentes Reestructurar las claves Cargar los datos en el almacn Refrescar el almacn con datos actualizados Indexar los datos Mantener los metadatos
La frecuencia de los procesos ETL puede ser: Mensual o semanal (mayormente diariarios) Tiempo casi real (cada hora, cada minutos, etc.).
El proceso ETL
Correspondencia
Almacenamiento intermedio Extraccin Carga
Transformacin
Almacn de datos
Identifica los datos que han cambiado Extrae (lectura) de datos. Obtiene los agregados Mantiene la metadata
Limpieza y transformacin de datos Estandarizacin a un solo formato. Creacin de claves Integracin de datos (clculo de datos derivados) Obtencin de agregados Mantenimiento de la metadata
Carga Indizacin Realizacin de pruebas de calidad de la carga. Gestin de errores. Obtencin de datos agregados. Mantenimiento de metadata
El proceso ETL
Correspondencia
Almacenamiento intermedio Extraccin Carga
El Almacenamiento intermedio permite: Realizar transformaciones sin paralizar las bases de datos operacionales y el almacn de datos. Almacenar metadatos. Facilitar la integracin de fuentes externas.
El proceso ETL
www.exceptionsoftware.com/etl.html
Calidad de Datos
La calidad de los datos es la clave del xito de un almacn de datos. Definir una estrategia de calidad: Actuar sobre los sistemas operacionales: modificar las reglas de integridad usar disparadores. Documentar las fuentes de datos. Definir procesos de transformacin. Nombrar un responsable de calidad de datos
Herramientas disponibles
Benetl Clover ETL
Barracuda Integrator
Ejercicio 1
Si es que al final de cuentas todos los datos (en algn nivel de agregacin) de los sistemas transaccionales (OLTP) se deben de pasar los sistemas analticos (OLAP), por que no se disean las tablas de los sistemas OLTP como si fuesen modelos dimensionales.
EXTRACCIN
Extraccin de datos
Permite extraer los datos desde los sistemas de origen. Cada organizacin puede usar software diferente con datos y formatos distintos. Los formatos de las fuentes se encuentran en:
bases de datos relacionales archivos planos bases de datos no relacionales
La extraccin convierte los datos a un formato preparado para iniciar el proceso de transformacin. Se analiza los datos extrados y se verifica si cumplen estructura esperada, si no son rechazados.
Extraccin de datos
Requerimiento importante: Que el proceso de extraccin cause mnimo impacto en el sistema origen. Si son muchos datos, el sistema origen puede reducir su desempeo o colapsar, evitando su uso cotidiano. Por esta razn: En sistemas grandes las operaciones de extraccin suelen programarse en horarios o das donde el impacto sea nulo o mnimo.
Extraccin de datos
Programas diseados para extraer datos de las fuentes. Herramientas: data migration tools, wrappers, ...
Correspondencia
Extraccin
Almacenamiento intermedio
Almacn de datos
18
Extraccin de datos
Lectura de datos del sistema OLTP: durante la carga inicial . mantenimiento del BI/DWH Ejecucin de la extraccin: DBMS. Preparar consultas SQL o rutinas programadas. Sistemas propietarios. Lectura y pre-procesamiento. Texto libre. Lectura y pre-procesamiento. Hipertextuales. Lectura, formateo y pre-procesamiento. Hojas de clculo. Lectura, formateo y preprocesamiento.
Identificacin de cambios
Identificar los cambios antes de extraerlos. Identificar los datos operacionales que se han modificado desde la fecha del ltimo mantenimiento. Mtodos
1. Carga total. cada vez se empieza de cero. 2. Comparacin de instancias de la base de datos operacional. 3. Uso de marcas de tiempo (time stamping) en los registros del sistema operacional. 4. Uso de disparadores en el sistema operacional. 5. Uso del fichero de log (gestin de transacciones) del sistema operacional. 6. Uso de tcnicas mixtas.
TRANSFORMACIN
Transformacin
Aplica reglas de negocio o funciones a los datos extrados para convertirlos en datos que sern cargados. Cleansing. Transformar los datos extrados de las fuentes operacionales: limpieza, estandarizacin. Integration. Calcular los datos derivados: aplicar las leyes de derivacin.
Correspondencia
Transformacin
Almacenamiento intermedio
Almacn de datos
1. Cleansing
En los datos operacionales de fuentes heterogeneas existen anomalas desarrolladas independientemente a lo largo del tiempo, por lo que es necesario eliminarlas: Limpieza de datos: eliminar datos, corregir y completar datos, eliminar duplicados. Estandarizacin: codificacin, formatos, unidades de medida.
12M65431 12-m-65421 12m65421 12m65421 12M65431 12-m-65421 12m65421 12m65421 12 12 12 M m m 65431 65421 65421 12 12 M M 65431 65421
12M65431
12M65431
Mltiple codificacin
Codificacin y descripcin del genero del individuo. Almacenado de diferentes maneras: M y F, 1 y 0, Hombre y Mujer Masculino y Femenino. En la transformacin, habr que elegir una convencin nica para el DW, que puede ser M y F y transformar los datos.
M-F
Unidades de medida
Las unidades pueden tener distintas unidades de medidas, segn el origen del sistema OLTP. Un ejemplo es hablar de litro, centmetros cbicos o hectolitros. Habr que elegir una nica unidad de medida que sea til para el DW y transformar los datos.
Litros
Formatos
Los formatos de fecha que encontramos en los diferentes sistemas operacionales pueden estar almacenados en multiples formatos. Las fechas pueden estar almacenadas como yyyy/mm/dd, mm/dd/yyyy dd/mm/yyyy. En el desarrollo del sistema DW, debemos elegir alguna de ellas y realizar la transformacin correspondiente.
dd/mm/yyyy
nmero de producto
cdigo de vendedor
Estndares
Unificar estndares Unidades de medida, unidades de tiempo, moneda,...
Duplicados
Valores duplicados: deben ser eliminados. SQL restricciones en el SGBDR
ACME Inc ACME Inc ACME Inc ACME Inc
Integridad referencial
Integridad referencial: debe reconstruirse.
Departamento 10 20 30 40 Emp 1099 1289 1234 6786 Nombre Smith Jones Doe Harris Departamento 10 20 50 60
Creacin de claves
Las claves primarias de las tablas no deben tener algn significado ms halla de representar un identificador nico.
#1 #2 #3 #4 #5 Venta Venta Venta 1/2/98 1/2/98 1/2/98 12:00:01 Ham Pizza 12:00:02 Cheese Pizza 12:00:02 Anchovy Pizza 12:00:03 Anchovy Pizza 12:00:04 Sausage Pizza $10.00 $15.00 $12.00 - $12.00 $11.00
CARGAR
Carga
Es el momento en el cual los datos transformados son cargados en el sistema de destino. Consiste en mover los datos desde las fuentes operacionales o el almacenamiento intermedio hasta el almacn de datos y cargar los datos en las tablas estructuras de datos. Puede consumir mucho tiempo.
Carga
Existen dos etapas del proceso de carga: Carga inicial. Mueve grandes volmenes de datos. Mantenimiento peridico. Mueve pequeos volmenes de datos. Existen dos formas de desarrollar el proceso de carga: TAL (Trunc and Load): Limpia el repositorio de datos y carga la informacin de nueva cuenta. Incremental: Se utiliza cuando se carga informacin nueva o informacin que necesita ser actualizada.
36
Frecuencia de mantenimiento
La frecuencia del mantenimiento peridico est determinada por la granularidad de las dimensiones y los requisitos de los usuarios. Se deben determinar las ventanas de carga ms convenientes para no saturar la base de datos operacional. Ocasionalmente archivar o eliminar datos obsoletos que ya no interesan para el anlisis.
T1
T2
T3
Indizacin
Determinar cmo se van ha generar los ndices: Generacin del ndice durante la carga. carga con el ndice habilitado proceso tupla a tupla. (lento) Generacin del ndice despus de la carga: carga con el ndice deshabilitado creacin del ndice (total o parcial). (rpido)
Index
Almacn de
datos
Integridad Referencial
Deshabilitar Integridad referencial. Para agilizar el proceso de transferencia de datos. Cada vez que se inserta un registro no se efectan las validaciones de integridad referencial. Al finalizar el procese se habilita la integridad referencial.
La integridad referencial garantiza que una entidad (fila o registro) siempre se relaciona con otras entidades vlidas (que existen en la BD). Dichos datos sern correctos, sin repeticiones innecesarias, datos perdidos y relaciones mal resueltas.
Extraccin
Transporte
Almacenamiento intermedio
Almacn de datos
EJEMPLO
Sistemas Fuente Area de trabajo Sistema de Presentacin
Extraccin
Carga
Ejemplo
Fuentes de datos. Registrar la ubicacin de nombre y datos que existe en las tablas. Nombres de archivo y ubicacin Formato Significado de los atributos
Fuente
Dueo de negocio
Plataforma
Localizacin
Ejemplo
Extraccin Copiar los datos especficos directamente desde las tablas origen a las tablas de trabajo en el zona de trabajo (staging area).
Extraccin
Tabla destino
Columna destino
Tipo de dato
Sistem a Fuente
Transformaciones
Transformar las tablas de dimensiones Transformar las tablas de hechos
Transformacin
PREGUNTAS