Está en la página 1de 63

2013

Instructor: Ing. Mauricio Murillo Rosero

Objetivos

Instrucciones SQL

Cronograma

Ejercicios Prcticos

Conceptos

Comprender los conceptos generales de Data Warehousing (DWH) e Inteligencia de Negocios (BI) Comprender y aplicar la metodologa de Kimball para construir sistemas de DWH/BI Conocer la plataforma de BI Pentaho Construir procesos ETL (extraccin, transformacin y carga) usando la herramienta PDI (Pentaho Data Integration)

http://ingmmurillo-dwh-bi.blogspot.com

Mdulo Mdulo I. Conceptos Generales

Contenido Inteligencia de Negocios (BI) Arquitecturas de BI Plataformas de BI Data Warehousing Arquitectura de Flujo de Datos Anlisis y comprensin de la naturaleza de los datos Definicin de Requerimientos

Tiempo Aprox. (h) 4

Mdulo II. Caso de Estudio

http://ingmmurillo-dwh-bi.blogspot.com

Mdulo

Contenido

Tiempo Aprox. (h) 2

Mdulo III. Tcnicas de Dimensiones Modelamiento de Tablas de Hechos Datos Modelo Dimensional Mdulo IV. Diseo del Data Warehouse para el Caso de Estudio Mdulo V. Plataforma de BI Pentaho CE Modelo Lgico de Datos Modelo Fsico de Datos Arquitectura Instalacin y Configuracin Herramientas

http://ingmmurillo-dwh-bi.blogspot.com

Mdulo

Contenido

Tiempo Aprox. (h) 14

Mdulo VI. Actividades ETL Construccin del Data Uso de Spoon Warehouse usando PDI Creacin de Transformaciones Creacin de Trabajos Calendarizacin de Trabajos de Carga con Kitchen

http://ingmmurillo-dwh-bi.blogspot.com

Inteligencia de Negocios = BI BI corresponde al conjunto de actividades de anlisis de datos histricos Permite comprender la situacin pasada, presente y futura de una compaa Apoya a la toma de decisiones estratgicas, tcticas y operativas de una compaa BI no es Data Warehousing

http://ingmmurillo-dwh-bi.blogspot.com

De acuerdo al nivel y a la complejidad de anlisis, las actividades de inteligencia de negocios pueden ser agrupadas en tres categoras:
1. Reporteo 2. Procesamiento analtico en lnea (OLAP) 3. Minera de datos

http://ingmmurillo-dwh-bi.blogspot.com

Anlisis Descriptivo
Reporteo (Reportes, Tableros) Anlisis OLAP (Cubos)

Anlisis Predictivo
Minera de Datos

Pasado

Presente

Futuro

tiempo (t)

Objetivo
Resolver rompecabezas del negocio

Objetivo
Resolver misterios

http://ingmmurillo-dwh-bi.blogspot.com

La principal fuente de datos para las actividades de anlisis de BI es la bodega de datos (DWH, Data Warehouse) El conjunto de procesos que se encargan de crear, recuperar y consolidar los datos de los sistemas fuente al DWH se conoce como Data Warehousing

http://ingmmurillo-dwh-bi.blogspot.com 10

Un DWH es un sistema que recupera y consolida datos peridicamente de los sistemas fuente a un almacn de datos dimensional o normalizado (DWH). Usualmente guarda aos de historia y es consultado para inteligencia de negocios u otras actividades analticas Un Data Mart (DM) es un DWH para un tema o aplicacin especfica (Ventas, Reclamos, etc.)

http://ingmmurillo-dwh-bi.blogspot.com 11

Datos de Entrada
Recupera Datos

Informacin de Salida

DWH
Consolida Datos Sistemas Fuente Bodega de Datos

MATERIA PRIMA

PROCESO

PRODUCTO

Inteligencia de Negocios y Actividades Analticas

http://ingmmurillo-dwh-bi.blogspot.com 12

Toda la informacin est un solo lugar (Una sla fuente de la verdad) Informacin actualizada Acceso rpido No hay lmites de espacio (Ej. Archivos XLS) Contiene toda la historia de la compaa Fcil de comprender (Modelada en trminos del negocio) Contiene definiciones claras y uniformes Datos estandarizados

http://ingmmurillo-dwh-bi.blogspot.com 13

Problemas de calidad de datos, entre ellos:


Datos Duplicados Datos Incompletos Datos Incorrectos Datos Conflictivos Datos Faltantes (Falla de Integridad Referencial) Valores nulos

Volumen de datos (1Pb) y rendimiento (Sol. ndices, ndices binarios, particiones, agregaciones, vistas materializadas)

http://ingmmurillo-dwh-bi.blogspot.com 14

Captura de Cambios de Datos (CDC)


Consiste en identificar qu datos han sido insertados, modificados o borrados Puede ser Intrusiva (Triggers) y No Intrusiva (PDI, Merge Rows)

Requerimientos Evoluciona)

cambiantes

(Un

DWH

http://ingmmurillo-dwh-bi.blogspot.com 15

Arquitectura

Sistema de Software

Monoltica, Cliente/Servidor, 3 Capas, N Capas Java, MS .NET

Plataforma

Arquitectura

Flujo de Datos SAP BusinessObjects, Oracle Hyperion, IBM Cognos, Microsoft, Pentaho

Sistema DWH/BI

Plataforma

http://ingmmurillo-dwh-bi.blogspot.com 16

http://ingmmurillo-dwh-bi.blogspot.com 17

Control y Auditoria

Fbrica de Informacin Corporativa (CIF)

METADATOS

Aplicacin BI

Data Mart 1 Aplicacin BI Sistemas Fuente ETL + Calidad de Datos DWH Data Mart N ETL

Data Marts Dependientes

rea de Almacenamiento

ETL

Enfoque TOP - DOWN


http://ingmmurillo-dwh-bi.blogspot.com 18

Control y Auditoria

Arquitectura Multidimensional (MD)


METADATOS

Data Marts Independientes

Aplicacin BI Sistemas Fuente ETL rea de Almacenamiento (STAGE) ETL + Calidad de Datos Data Mart 1

Aplicacin BI Data Mart N

Enfoque BOTTOM - UP

Data Warehouse Bus

http://ingmmurillo-dwh-bi.blogspot.com 19

Sirve para copiar nicamente los datos que se requiere tal y como se encuentran en la fuente No afecta el rendimiento de la base de datos fuente Permite trabajar en un subconjunto de datos Permite ordenar e indexar los datos para optimizar los procesos ETL

http://ingmmurillo-dwh-bi.blogspot.com 20

Metadatos: datos sobre los datos Linaje de datos (Data Lineage): informacin sobre el origen y destino de los datos Tiempo de los datos (Data Timeliness): informacin sobre cundo cambi los datos y que viejos son Modelo de Datos

http://ingmmurillo-dwh-bi.blogspot.com 21

Caracterstica

Fbrica de Informacin Corporativa - Inmon

Arquitectura Multidimensional - Kimball

Tcnica de modelamiento de datos Enfoque Vista empresarial de datos Provee datos detallados Provee datos sumarizados Tiempo de implantacin Costo de implantacin

Relacional y Dimensional

Dimensional

TOP - DOWN Total S S Alto Alto

BOTTOM UP Parcial S S Bajo Bajo

http://ingmmurillo-dwh-bi.blogspot.com 22

Planeacin del Proyecto

Diseo Tcnico de la Arquitectura

Seleccin e Instalacin del Producto

Crecimiento

Definicin de Requerimientos del Negocio

Modelamiento Dimensional

Diseo Fsico

Diseo y Desarrollo ETL

Implantacin

Especificacin de Aplicaciones de BI

Desarrollo de Aplicaciones de BI

Mantenimiento

Gestin del Proyecto

http://ingmmurillo-dwh-bi.blogspot.com 23

Conocer las fuentes de datos, alcance, preguntas del negocio a responder, formatos de entrega de informacin, etc. Por lo menos en sta fase documentar lo siguiente:
Entrada Tema Audiencia Propietario Necesidad del Usuario Descripcin rea o proceso de negocio Para quin es la solucin Quin ser el propietario de la solucin Qu necesitan los usuarios y cmo usarn la solucin

http://ingmmurillo-dwh-bi.blogspot.com 24

Entrada Preguntas a responder Beneficios del negocio Mecanismo de entrega Fuentes de informacin Fuentes de datos Estimacin

Descripcin Preguntas que sern respondidas por la solucin Qu ganar el negocio construyendo el DWH Emails, Grficos, Reportes, Tableros de Mando, Cubos de Datos, etc. A qu personas se puede preguntar sobre el negocio De qu sistemas y qu bases de datos se obtendrn los datos Estimacin de tiempo para desarrollar la solucin

http://ingmmurillo-dwh-bi.blogspot.com 25

Modelo Estrella El centro de una estrella consiste de una tabla conocida como tabla de HECHOS y los puntos de la estrella se los conoce como tablas de DIMENSIONES

http://ingmmurillo-dwh-bi.blogspot.com 26

Modelo Estrella

http://ingmmurillo-dwh-bi.blogspot.com 27

Dimensiones Una dimensin representa informacin de una entidad del negocio (Ej. Cliente, Producto, Vendedor, Local) Cualitativas Hechos Un hecho representa un evento del negocio (Ej. Valor Vendido, Comisin, Valor Flete) Cuantitativos Las filas son almacenadas al nivel ms bajo de granularidad
http://ingmmurillo-dwh-bi.blogspot.com 28

Para poder consultar un modelo estrella se usa el siguiente SQL SELECT COL1, COL2,, COLN FROM HECHOS H JOIN DIM_1 D1 ON H.FK_DIM1 = D1.PK_DIM1 JOIN DIM_2 D2 ON H.FK_DIM2 = D2.PK_DIM2

http://ingmmurillo-dwh-bi.blogspot.com 29

Matriz de Hechos y Dimensiones Sirve para identificar dimensiones y hechos. Adems, para identificar Dimensiones Conformadas / Compartidas
Tiempo rdenes de compra Inventario rdenes de clientes Devoluciones X X X X X X Cliente Producto X X X X Distribuidor X X

http://ingmmurillo-dwh-bi.blogspot.com 30

Usar claves subrogadas (SK)


1 Dimensin, 1 Clave con tipo de dato numrico) Puede ser generada por una secuencia de la base de datos o por la herramienta ETL

Usar convenciones de nombres y de tipos


Prefijo STG_ HIS_ DIM_ FACT_ AGG_ Alcance Para tablas de almacenamiento temporal Para tablas de archivos histricos Para tablas de dimensiones Para tablas de hechos Para tablas de agregaciones

http://ingmmurillo-dwh-bi.blogspot.com 31

Granularidad y Agregacin
Granularidad corresponde al nivel de detalle almacenado en el DWH Almacenar los datos al nivel ms bajo de detalle posible Las agregaciones mejoran el rendimiento

Usar columnas de auditoria


Hora y fecha de insercin Proceso de insercin Hora y fecha de actualizacin Proceso de actualizacin

http://ingmmurillo-dwh-bi.blogspot.com 32

Las 5 funciones bsicas de agregacin de SQL son: Mximo: max() Mnimo: min() Conteo: count() Suma: sum() Promedio: avg()

http://ingmmurillo-dwh-bi.blogspot.com 33

Modelar una dimensin para el tiempo y otra para la fecha


Usar claves en el formato AAAAMMDD

Tener 1 registro de DESCONOCIDO (N/D) en cada dimensin en vez de NULL


SK 0 Nombre Desconocido Telfono Desconocido DIM_CLIENTE Fecha Nacimiento 01/01/1970

http://ingmmurillo-dwh-bi.blogspot.com 34

La tcnica de Slowly Changing Dimensions permite identificar y guardar qu registros cambiaron. Existen los siguientes tipos:
Tipo SCD Tipo 1 SCD Tipo 2 SCD Tipo 3 Descripcin Sobrescribe el registro. Soportada por PDI Agrega un registro con columnas que indican su validez. Soportada por PDI Consiste en agregar una columna por cada una que se quiera registrar el cambio

http://ingmmurillo-dwh-bi.blogspot.com 35

Sobrescribe el registro de una dimensin


Situacin Actual SK 1 Identificacin 1728192211 Nombre Juan Prez Ciudad Quito

Nueva Situacin SK 1 Identificacin 1728192211 Nombre Juan Prez Ciudad Cuenca

http://ingmmurillo-dwh-bi.blogspot.com 36

Agrega un registro a la dimensin y 3 columnas: vlido desde, vlido hasta y versin


Situacin Actual
SK 1 Identificacin 1728192211 Nombre Juan Prez Ciudad Quito Vlido Desde 2013-01-01 Vlido Hasta 2099-12-31 1 Versin

Nueva Situacin
SK 1 2 Identificacin 1728192211 1728192211 Nombre Juan Prez Juan Prez Ciudad Quito Cuenca Vlido Desde 2013-01-01 2013-01-25 Vlido Hasta 2013-01-25 2099-12-31 0 1 Versin

http://ingmmurillo-dwh-bi.blogspot.com 37

Agrega una columna por cada cambio


Situacin Actual SK 1 Identificacin 1728192211 Nombre Juan Prez Ciudad Quito Ciudad Antigua Quito

Nueva Situacin SK 1 Identificacin 1728192211 Nombre Juan Prez Ciudad Cuenca Ciudad Antigua Quito

http://ingmmurillo-dwh-bi.blogspot.com 38

Dimensiones Monstruo (Particionamiento) Dimensiones Degeneradas (Nmero pliza, nmero pedido, nmero de reclamo) Copos de Nieve (Snowflake) Tablas de Hechos Consolidadas (Presupuesto + Actual) Modelo Constelacin

http://ingmmurillo-dwh-bi.blogspot.com 39

PSW PRD CDF

PDI

WEKA

http://ingmmurillo-dwh-bi.blogspot.com 40

Plataforma de BI Open Source Provee de herramientas de apoyo para todo el proceso de construccin del sistema DWH/BI Existen dos ediciones de Pentaho: Community (CE) y Enterprise (EE) La versin CE es totalmente Open Source orientada al aprendizaje y PYMES Pentaho puede ser descargado del siguiente link: http://sourceforge.net/projects/pentaho/files/

http://ingmmurillo-dwh-bi.blogspot.com 41

Herramienta Pentaho BI Server

Descripcin Servidor Central de Inteligencia de Negocios, Portal Web de Entrega de Informacin. Licencia GPLv2 Organizacin de soluciones, creacin de xaction (Acciones de Secuencias). Licencia EPL Creacin y ejecucin de procesos ETL. Licencia LGPLv2.1 Creacin y publicacin de metadatos para reportes. Licencia LGPLv2.1 Creacin y publicacin de reportes. Licencia LGPLv2.1 Creacin y publicacin de cubos para anlisis OLAP. Licencia EPL

Pentaho Design Studio (PDS)

Pentaho Data Integration (PDI) Pentaho Metadata Editor (PME) Pentaho Report Designer (PRD) Pentaho Schema Workbench (PSW)

http://ingmmurillo-dwh-bi.blogspot.com 42

http://ingmmurillo-dwh-bi.blogspot.com 43

http://ingmmurillo-dwh-bi.blogspot.com 44

Curso de Business Intelligence

Curso de Data Warehousing

45

Integracin de Datos: conjunto de actividades para llenar el DWH La integracin de datos se descompone en 3 actividades
Extraccin: Adquirir datos de 1 o ms fuentes Transformacin: Cambiar la forma y contenido de los datos Loading (Carga): cargar los datos en los repositorios y el DWH

http://ingmmurillo-dwh-bi.blogspot.com 46

Actividades de Extraccin Captura de cambio de datos (CDC) Almacenamiento temporal (Data Staging) Actividades de Transformacin Validacin de datos Limpieza de datos Decodificar y Renombrar (1->S, 0->No) Agregaciones Gestin y generacin de claves (SK)

http://ingmmurillo-dwh-bi.blogspot.com 47

Actividades de Carga (Loading) Carga de Tabla de Hechos Carga de tablas temporales Carga y mantenimiento de Dimensiones

Tablas

de

http://ingmmurillo-dwh-bi.blogspot.com 48

Las soluciones de PDI son construidas sobre 2 tipos diferentes de objetos:


Transformaciones Trabajos (Jobs)

El corazn de PDI es el motor de integracin de datos de Pentaho (Data Integration Engine) PDI contiene las siguientes herramientas
Spoon: GUI para crear transformaciones y trabajos Kitchen: Comandos para correr trabajos Pan: Comandos para correr transformaciones Karte: Ejecutar transformaciones y trabajos de forma remota
http://ingmmurillo-dwh-bi.blogspot.com 49

http://ingmmurillo-dwh-bi.blogspot.com 50

51

1. 2. 3. 4.

Crear el directorio c:\pentaho Copiar biserver-ce-X.X.X.zip Descomprimir biserver-ce-X.X.X.zip Asegurarse tener la siguiente estructura: c:\pentaho\biserver-ce-X.X.X\ administration-console (PAC) c:\pentaho\biserver-ce-X.X.X\biserver-ce (Servidor BI)
PENTAHO_HOME = c:\pentaho\biserver-ce-X.X.X

http://ingmmurillo-dwh-bi.blogspot.com 52

5.

6. 7.

Ir al directorio c:\pentaho\biserver-ceX.X.X\biserver-ce Ejecutar el archivo start-pentaho.bat Abrir un navegador e ir al siguiente URL: http://localhost:8080/pentaho/

http://ingmmurillo-dwh-bi.blogspot.com 53

1. 2.

3.

4.

Abrir la consola de comandos (cmd) Ir al directorio %PENTAHO_HOME%\ biserver-ce\tomcat\bin Ejecutar el comando: service.bat install Pentaho Ir a services.msc para verificar que se instal el servicio Apache Tomcat Pentaho

http://ingmmurillo-dwh-bi.blogspot.com 54

1.

2.

3. 4. 5. 6. 7. 8.

Crear base de datos pdi_repo, usuario pentaho_user (Todos los permisos) Copiar el archivo pdi-ce-X.X.X.zip al directorio c:\pentaho Descomprimir el archivo y ejecutar Spoon.bat Agregar un nuevo repositorio Seleccionar Kettle Database Repository Crear una nueva conexin de nombre pdi_repo Crear repositorio de metadatos (Dry Run? No) Usar usuario admin / admin

http://ingmmurillo-dwh-bi.blogspot.com 55

1. 2.

3.

4.

Abrir una consola de comandos (cmd) Ir a c:\pentaho\pdi-ce-X.X.X\dataintegration Ejecutar el siguiente comando: Kitchen.bat /rep pdi_repo /user admin /pass admin /job NOMBRE_JOB Finalmente, crear Tarea Calendarizada del SO (Ejecutar Kitchen con Argumentos Paso 3)

http://ingmmurillo-dwh-bi.blogspot.com 56

1. 2. 3.

4.

5.

En Input, arrastar Generate Rows En Limit colocar 3652 (10 aos) Crear un campo de tipo Date de nombre fecha_inicial, formato yyyyMMdd y valor 20090101 En Transform arrastrar Add Sequence para generar las SKs. Name of Value = secuencia_dias, Start at Value = 0 Ir a Transform arrastrar Calculator

http://ingmmurillo-dwh-bi.blogspot.com 57

7.

Crear los campos sk_fecha, anio, mes, da y fecha como se muestra en la siguiente tabla:

http://ingmmurillo-dwh-bi.blogspot.com 58

Campo v_fecha v_fecha_ str sk_fecha anio mes dia fecha

Calculation Date A + B Days Create a copy of field A Create a copy of field A Year of date A Month of date A Day of month of date A Create a copy of field A

Field A fecha_inicial v_fecha v_fecha_str v_fecha v_fecha v_fecha v_fecha

Field B secuencia_dias

Value Type Date String Integer Integer Integer Integer Date

Conversion Mask yyyyMMdd yyyyMMdd # # # # dd/MM/yyyy

http://ingmmurillo-dwh-bi.blogspot.com 59

8. 9.

10.

Ir a Output y arrastrar Table Output Seleccionar la tabla DIM_FECHA de la conexin al DWH, marcar Specify database fields para mapear los campos e ir a Enter Field Mapping Verificar y Ejecutar

http://ingmmurillo-dwh-bi.blogspot.com 60

7.

Hacer clic en (+) Add Database Connection


Name = dwh Driver Class = org.postgresql.Driver User Name = dwh Password = pentaho_user URL = jdbc:postgresql://localhost:5432/dwh

8.

Finalmente hacer clic en Test

NOTA: el mismo nombre se tiene que usar en todas las aplicaciones de Pentaho

http://ingmmurillo-dwh-bi.blogspot.com 61

Wiki de Pentaho CE: http://wiki.pentaho.com/display/COM/Community+Wiki+Ho me [Adrin Sergio Pulvirenti, Mara Carina Roldn] Pentaho Data Integration 4 Cookbook. Packt Publishing Ltd. 2011 [Mara Carina Roldn] Pentaho 3.2 Data Integration Beginner's Guide. Packt Publishing Ltd. 2010 [Roland Bouman, Jos van Dongen] Pentaho Solutions: Business Intelligence and Data Warehousing with Pentaho and MySQL. Wiley. 2009 [Matt Casters, Roland Bouman, Jos van Dongen] Pentaho Kettle Solutions: Building Open Source ETL Solutions with Pentaho Data Integration. Wiley. 2010

http://ingmmurillo-dwh-bi.blogspot.com 62

Ing. Mauricio Murillo Rosero


Cdigo QR mauricio2k4@gmail.com http://ingmmurillo.blogspot.com http://ingmmurillo-dwh-bi.blogspot.com @ingmmurillo

63

También podría gustarte