Está en la página 1de 47

Extraccin, Transformacin y Carga

Mapa del Curso


Inteligencia de Negocios

Metodologa Kimball

Planeamiento del Proyecto

Modelo del Negocio

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

ETL Problemas potenciales


Mltiples tecnologas Reportes obsoletos. No exista Metadata. Diferentes algoritmos de calculo. Diferentes niveles de extraccin. Diferentes niveles de detalle (granularidad). Diferentes nombres de campos de datos. Diferentes significados de campos de datos. Perdida de informacin. No exista reglas de correccin de datos. No exista capacidad de Drill Down.

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

Bases de datos operacionales

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

Bases de datos operacionales Fuentes Externas

Transformacin Almacn de datos

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

Pentaho Data Integration

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

Bases de datos operacionales

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

Bases de datos operacionales

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.

Aplicacin A: M y F Aplicacin B: 1 y 0 Aplicacin C: Masculino y Femenino

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.

Aplicacin A: litros Aplicacin B: cm3 Aplicacin C: Hectolitros

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.

Aplicacin A: yyyy/mm/dd Aplicacin B: mm/dd/yyyy Aplicacin C: dd/mm/yyyy

dd/mm/yyyy

Varias columnas en una


Los datos de una persona, como direccin pueden almacenarse en diferentes campos de la misma tabla (Calle, Nmero, Piso y Departamento). En un sistema DW, es posible que los almacenemos en una nica columna. Lo mismo puede suceder con el Nombre y Apellido.

Una columna en varias


Los sistemas antiguos solan colocar el tipo y nmero de documento en el mismo campo de la tabla. En un DW, es posible que necesitemos colocar el tipo de documento en un campo y el nmero de documento en otro.

Claves con estructura


Claves con estructura: descomponer en valores atmicos

Cdigo de producto = 12M65431345

cdigo zona de del pas ventas

nmero de producto

cdigo de vendedor

Estndares
Unificar estndares Unidades de medida, unidades de tiempo, moneda,...

cm cm inches DD/MM/YY DD-Mon-YY MM/DD/YY 1,000 GBP USD 600 FF 9,990

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

Devolucin 1/2/98 Venta 1/2/98

Claves sin significado


#dw1 Venta #dw2 Venta #dw3 Venta 1/2/98 1/2/98 1/2/98 12:00:01 Ham Pizza 12:00:02 Cheese Pizza $10.00 $15.00

12:00:04 Sausage Pizza $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.

Base de datos operacional

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

Base de datos operacional

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.

Obtencin de valores agregados


Determinar en qu momento se generan los valores agregados. Durante la extraccin. Despus de la carga (transporte).

Extraccin

Transporte

Base de datos operacional

Almacenamiento intermedio

Almacn de datos

EJEMPLO
Sistemas Fuente Area de trabajo Sistema de Presentacin

Extraccin

Regla de transformacin gramatical en oraciones simples

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

Dueo del Software

Plataforma

Localizacin

Descri`cin de los datos

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

Descripcin de la Longi- columna destino tud

Sistem a Fuente

Tabla / File Origen

Col / Field Origen

Notas del fomato de datos

Transformaciones
Transformar las tablas de dimensiones Transformar las tablas de hechos

Transformacin

Transformacin Tablas Dimensionales


Generar claves alternas en una tabla de claves alternas y hacer estos permanentes. Inserte la clave alterna en las tablas dimensionales de trabajo. Ejecutar operaciones de limpieza de datos que sea necesarios (usualmente en la mesa de trabajo) Generar algn atributo derivado que se necesite. Generar y conversar el log del proceso.

Transformacin Tablas de Hechos


Unir todas las dimensiones en la tabla de hechos (usualmente la clave primaria original. Insertar las claves alternas Generar los hechos derivados Generar indicadores de tipo bandera.

PREGUNTAS

También podría gustarte