Pentaho vs Jasper
Embed Size (px)
Transcript of Pentaho vs Jasper
-
Facultad de Ingeniera
Ingeniera en Sistemas
BI-FLOSS
Proyecto de Grado
de Almeida, Rodrigo Heredia, Mariano
Tutor: Garca Matto, Mariano Alberto
-
Ttulo del Proyecto Business Intelligence - Free/Libre Open Source Software (BI-FLOSS)
-
INSTITUTO UNIVERSITARIO AERONAUTICO FACULTAD DE INGENIERIA
Aprobado por el Departamento Sistemas en cumplimiento de los
requisitos exigidos para otorgar el Ttulo de Ingeniero en Sistemas al Seor de Almeida, Rodrigo Guillermo DNI 30900773
Revisado por:
.............................................................. Ing. Garca Matto, Mariano Alberto
Tutor de Trabajo
.............................................................. Mag. Chiodi, Gustavo
Director Departamento Sistemas
..............................................................
Ing. Picco, Juan Eduardo Director Dpto. Desarrollo Profesional
Tribunal Examinador:
.............................................................. Mag. Chiodi, Gustavo
Presidente del Tribunal Examinador
..............................................................
Ing. Toledo, Lus Vocal del Tribunal Examinador
Crdoba, 25 de Abril de 2008
-
INSTITUTO UNIVERSITARIO AERONAUTICO FACULTAD DE INGENIERIA
Aprobado por el Departamento Sistemas en cumplimiento de los
requisitos exigidos para otorgar el Ttulo de Ingeniero en Sistemas al Seor Heredia, Mariano Martn DNI 30222058
Revisado por:
.............................................................. Ing. Garca Matto, Mariano Alberto
Tutor de Trabajo
.............................................................. Mag. Chiodi, Gustavo
Director Departamento Sistemas
..............................................................
Ing. Picco, Juan Eduardo Director Dpto. Desarrollo Profesional
Tribunal Examinador:
.............................................................. Mag. Chiodi, Gustavo
Presidente del Tribunal Examinador
..............................................................
Ing. Toledo, Lus Vocal del Tribunal Examinador
Crdoba, 25 de Abril de 2008
-
Dedicado especialmente a nuestros familiares, sin ellos estas lneas nunca hubieran sido escritas; a MAGM, instructor, gua y amigo.
-
Agradecemos a cada una de las personas que a lo largo de estos 6 aos ayudaron a que hoy nos encontremos en esta instancia. Para todos ellos Gracias por apoyarnos y motivarnos.
-
Ttulo del Proyecto ..................................................................3
Introduccin..........................................................................17
Contenido del Libro ...............................................................19
Primera Parte: Inteligencia de Negocios - Conceptos Previos..... 19
Segunda Parte: Desarrollo BI-FLOSS .......................................... 19
Tercera Parte: Anexos ................................................................ 19 Licencias de Software ........................................................................... 19 Carga de datos OLTP ............................................................................ 20
Estructura del libro ..................................................................... 20
Formato del libro ........................................................................ 20 Fragmentos de cdigo fuente................................................................. 20 Ejecucin desde lnea de comando ......................................................... 20 Notas................................................................................................. 21 Expresiones ........................................................................................ 21
Referencias y recursos................................................................ 21
Palabras Clave.......................................................................23
Abreviaturas..........................................................................25
Objetivo BI-FLOSS.................................................................27
Destinatarios .........................................................................29
Beneficios..............................................................................31
Estudio Tcnico .....................................................................33
Primera Parte: Inteligencia de Negocios - Conceptos Previos37
Inteligencia De Negocios ............................................................ 39 Definicin de Inteligencia de Negocios (Business Intelligence) .................... 39 Beneficios ........................................................................................... 39
Data Warehouse ......................................................................... 40 Introduccin........................................................................................ 40 Definicin ........................................................................................... 40 Arquitectura del Data Warehouse ........................................................... 40 Referencias y recursos.......................................................................... 50
Segunda Parte: Desarrollo BI-FLOSS .....................................51
Captulo I: Modelo Multidimensional........................................... 53 Planteo del caso .................................................................................. 55 Estructura del OLTP.............................................................................. 56
Productos ........................................................................................ 59 Sucursales....................................................................................... 62 Clientes........................................................................................... 64
Indicadores del Negocio (KPIs) .............................................................. 65 Dimensiones de la Base de Datos Multidimensional ................................... 65 Tablas de la Base de Datos Multidimensional............................................ 65 Atributos de las Tablas de la Base de Datos Multidimensional ..................... 65 Definicin de la tabla de hechos y atributos ............................................. 69 Definicin del esquema estrella para el modelo multidimensional ................ 70 Definicin de los cubos multidimensionales necesarios .............................. 71
-
Referencias y Recursos ......................................................................... 74
Captulo II: BigPicture ................................................................ 75 Referencias y recursos.......................................................................... 78
Captulo III: Integracin de Datos[1] .......................................... 79 Introduccin........................................................................................ 82 Trabajando con Kettle .......................................................................... 83
Licencia........................................................................................... 85 Versin Utilizada .............................................................................. 85 Descripcin general .......................................................................... 85 Spoon............................................................................................. 85 Pan ................................................................................................ 89 Kitchen ........................................................................................... 90 Diseando Transformaciones.............................................................. 90 Diseando un Trabajo ......................................................................117 Referencias y recursos .....................................................................121
Trabajando con JasperETL....................................................................123 Introduccin ...................................................................................125 Licencia..........................................................................................125 Versin Utilizada .............................................................................125 Descripcin general .........................................................................125 GUI: Perspectivas y Vistas ................................................................125 Diseando un Modelo de Negocio.......................................................132 Diseando un Trabajo ......................................................................133 Referencias y recursos .....................................................................177
Mtodo Alternativo Para Generar la Tabla de Hechos................................179 Consideraciones previas ...................................................................181 Consecuencias de excluir los no hechos ..............................................184 Creando la tabla de hechos con Talend ...............................................184 Creando la tabla de hechos con Spoon................................................188 Resultados Obtenidos.......................................................................191
Comparativa Kettle-JasperETL ..............................................................193 Conclusin Data Integration .................................................................201 Referencias y recursos.........................................................................204
Captulo IV: OLAP ..................................................................... 205 Trabajando con Mondrian.....................................................................209
Introduccin ...................................................................................211 Licencia..........................................................................................211 Versin utilizada..............................................................................211 Arquitectura de Mondrian..................................................................211 API................................................................................................214 Diseando un Esquema Mondrian.......................................................215 Esquema definido para GONBI...........................................................222 Conexin con el esquema y ejecucin de consultas MDX .......................229 Mondrian como Servidor XMLA ..........................................................234 Ejecucin de consultas MDX ..............................................................237 Referencias y recursos .....................................................................238
Conclusin OLAP.................................................................................241
Captulo V: Reportes y Consultas .............................................. 245 Trabajando con Pentaho Reporting ........................................................249
Introduccin Pentaho Reporting .........................................................251 JFreeReport ....................................................................................253 Report Design Wizard.......................................................................257 Report Designer ..............................................................................271 Adhoc Reporting..............................................................................279 Pentaho Design Studio .....................................................................281
-
Trabajando con Jasper Reporting ..........................................................287 Introduccin a Jasper Reporting.........................................................289 JasperReports .................................................................................291 IReport ..........................................................................................297
Comparativa Pentaho Reporting-Jasper Reporting....................................317 Tabla Comparativa...........................................................................319
Conclusin Reporting...........................................................................321
Captulo VI: Plataformas de Inteligencia de Negocios .............. 325 JPivot................................................................................................329 Trabajando con Pentaho BI-Server ........................................................331
Introduccin ...................................................................................333 Licencia..........................................................................................333 Versin utilizada..............................................................................333 Configuracin del Servidor con MySQL y Tomcat ..................................333 Probando que la configuracin funcione ..............................................346 Referencias y recursos .....................................................................351
JasperServer......................................................................................353 Introduccin ...................................................................................355 Licencia..........................................................................................355 Versin utilizada..............................................................................355 Instalacin .....................................................................................355 Tareas Administrativas .....................................................................356 Acceso a reportes y vistas de anlisis .................................................371 Referencias y recursos .....................................................................374
Comparativa Pentaho BI-Server JasperServer .........................................375 Conclusin BI Platforms .......................................................................381
Tercera Parte: Anexos .........................................................385
Anexo I : Licencias De Software ............................................... 387 Clasificacin de licencias de software .....................................................389
Licencias Propietarias .......................................................................389 Licencias Libres (de cdigo abierto)....................................................389
Licencias FLOSS .................................................................................390 Licencias de software permisivas .......................................................391 Copyleft .........................................................................................391
Licencias BI-FLOSS .............................................................................392 Referencias y recursos.........................................................................392
Anexo II: Data generator (Carga inicial de datos OLTP) ........... 393 Data Generator ..................................................................................395
GenerateData.com...........................................................................395 GONDataGenerator..........................................................................397
Referencias y recursos.........................................................................399
Anexo III: Contenido del DVD BI-FLOSS................................... 401
Viabilidad Comercial ............................................................405
Conclusin BI-FLOSS ................................................................ 407 Respecto a las Herramientas BI-FLOSS en General ..................................407 Respecto a las Herramientas Pentaho y JasperSoft ..................................407 Respecto a las licencias y las estrategias ................................................408
Bibliografa ............................................................................... 409
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Introduccin
17
Introduccin La Gestin de Conocimiento constituye un factor esencial para las organizaciones y la mejora de sus procesos. Estas organizaciones generan grandes volmenes de informacin producto de su operar diario, la cual correctamente procesada puede ser de vital importancia para la Direccin.
En un principio se desarrollaban Sistemas destinados a convertir los datos operacionales en indicadores (casi siempre econmicos-financieros). Este proceder fue lentamente reemplazado por el concepto de Inteligencia de Negocio (Business Intelligence, BI), el cual ha ido evolucionando a pasos agigantados, siempre acompaado de la Tecnologa de la Informacin (Information Technology, IT) que lo hace posible.
Desde la perspectiva puramente de las IT, Ibermtica[1] define a Business Intelligence como:
"Conjunto de metodologas, aplicaciones y tecnologas que permiten reunir, depurar y transformar datos de los sistemas transaccionales e informacin desestructurada (interna y externa de la compaa) en informacin estructurada, para su explotacin directa (reporting, anlisis OLAP) o para su anlisis y conversin en conocimiento soporte para la toma de decisiones sobre el negocio."
Dentro de la IT las herramientas Software desempean un rol fundamental, es as que las principales compaas del mercado (IBM, Oracle, Microsfot) han sostenido un desarrollo continuo de Suites de BI que abarcan cada aspecto propuesto en la definicin anterior.
Desde hace un tiempo a esta parte, han emergido una serie de herramientas Software con licencias no restrictivas ni privativas provenientes de desarrollos FLOSS (Free/Libre/Open-Source Software). Estas han ido ganando terreno en diferentes mbitos y disciplinas, y la Inteligencia de Negocios no es la excepcin. Pentaho Project[2] y JasperSoft BI[3] son un claro ejemplo de esto y se presentan como unos de los principales complementos o sustitutos de los productos comerciales ofrecidos y/o patrocinados por grandes firmas tecnolgicas.
El presente trabajo consiste en la documentacin de un desarrollo de Business Intelligence en el cul fueron utilizadas las herramientas brindadas por los proyectos Pentaho y JasperSoft BI. La documentacin incluye:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Introduccin
18
1. Conceptos previos de Inteligencia de Negocio. 2. Traduccin de fragmentos claves de documentacin oficial de
JasperSoft y Pentaho (definiciones, arquitectura, etc.). 3. Documentacin adicional, obtenida y plasmada luego del uso de
las herramientas. 4. Procedimiento paso a paso para llevar a cabo las principales
tareas que ofrecen las herramientas. 5. En aquellas reas en las cuales existen herramientas
equivalentes entre los JasperSoft y Pentaho, se ofrece una comparativa de los aspectos ms relevantes.
6. Conclusiones referentes a las herramientas utilizadas.
La estructura del libro es la descripta a continuacin:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Contenido del Libro
19
Contenido del Libro Primera Parte: Inteligencia de Negocios - Conceptos Previos
En esta parte se brinda una introduccin a conceptos de Inteligencia de Negocios cuyo entendimiento ser asumido para la lectura de la segunda parte. Esta parte consiste en contenidos extrados del libro DATA WAREHOUSING: Investigacin y Sistematizacin de Conceptos[4].
Segunda Parte: Desarrollo BI-FLOSS
Esta parte representa el desarrollo principal del libro, en donde se documenta la implementacin de una solucin de Business Intelligence, evaluando y comprando las herramientas de JasperSoft y Pentaho utilizadas.
Los captulos involucrados son los siguientes:
1. Modelo multidimensional: Definicin de la base de datos y cubos multidimensionales.
2. Big Picture: Un panorama general de las etapas includas en el desarrollo junto a las herramientas utilizadas.
3. Data Integration (Load Manager): En este captulo se lleva a cabo el diseo y ejecucin de los procesos ETL necesarios para construir la base de datos multidimensional.
4. Servidor OLAP: Este captulo est dedicado a la construccin del cubo multidimensional definido.
5. Reportes y Consultas: En este captulo se realizar el diseo de los reportes OLAP.
6. Servidores de Busienss Intelligence: Captulo dedicado a la configuracin y despliegue de portales Web de Business Intelligence. Estos ofrecen acceso centralizado a reportes y vistas de anlisis OLAP.
Tercera Parte: Anexos
Licencias de Software
En este anexo se realiza un panorama general del mundo de las Licencias de Software, puntualizando los aspectos de las licencias Free/Libre/Open-Source.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Contenido del Libro
20
Carga de datos OLTP
Este anexo documenta las tareas efectuadas y software utilizado para la carga de la base de datos operacional la cual actuar como fuente de datos para la construccin del Data Warehouse.
Estructura del libro
Los captulos que componen la segunda parte, estn estructurados de la siguiente forma:
Descripcin de las herramienta o Versin utilizada o Licencia brindada o Introduccin o descripcin general o Descripcin de funcionalidad o Uso y descripcin paso a paso de las principales tareas
con la herramienta o Referencias y recursos
Conclusin obtenida de las secciones anteriores, junto a una calificacin en diferentes aspectos[5]
Formato del libro
En el libro se utilizan un conjunto de reglas para mostrar diferentes contenidos de manera que sean resaltados:
Fragmentos de cdigo fuente
Cdigo: Cdigo Java de Ejemplo public static void main(String []args){ System.out.println("Hola BI-FLOSS"); }
Cdigo: Cdigo Bash de Ejemplo #!/bin/sh HOLA_MUNDO="HOLA MUNDO" echo "$HOLA_MUNDO" | sed s/"MUNDO"/"BI-FLOSS"/
Ejecucin desde lnea de comando
$ ./spoon.sh
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Contenido del Libro
21
Notas
Nota: Esto es una nota
Expresiones
Expresin: 1/x
Referencias y recursos
1. Definicin de Business Intelligence: http://www.ibermatica.com/ibermatica/businessintelligence2
2. Sitio oficial de Pentaho Project: http://www.pentaho.com 3. Sitio oficial de JasperSoft BI Project:
http://www.jaspersoft.com 4. DATA WAREHOUSING: Investigacin y Sistematizacin
de Conceptos HEFESTO: Metodologa propia para la Construccin de un Data Warehouse Ing. Bernabeu, Ricardo Daro -Instituto Universitario Aeronutico- Noviembre de 2007
5. Se brinda una calificacin de 1 a 5 puntos en aspectos tales como:
o Funcionalidad: En que medida cumple con las funciones requeridas para llevar a cabo la tarea en cuestin.
o Usabilidad: El grado de simplicidad con el cual la herramienta permite utilizar las funcionalidad brindadas.
o Flexibilidad: Relacionado con la extensibilidad, configuracin y personalizacin de las funciones.
o Interoperabilidad: En que medida permite intercomunicarse o trabajar en cooperacin con otras herramientas
o Fiabilidad: Grado en que la herramienta responde de manera aceptable a la interaccin con el usuario.
o Eficiencia: Recursos necesarios para llevar a cabos las tareas.
o Documentacin: Cantidad, calidad y centralizacin de documentos instructivos sobre el uso de la herramienta.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Palabras Clave
23
Palabras Clave Inteligencia de Negocios Business Intelligence Free Software Open Source Software Libre JasperSoft Pentaho Integracin de Datos Data Integration Integracin de Datos Data Warehouse Talend JasperETL OLAP Mondrian Reportes y anlisis OLAP JasperReports JFreeReport iReport Pentaho Design Studio Pentaho Designer Pentaho Design Wizard Business Intelligence Platforms JasperServer Pentaho BI Platform JasperAnalysis Pentaho Analysis
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Abreviaturas
25
Abreviaturas BI: Business Intelligence F/LOSS: Free/Libre Open-Source Software ETTL: Extraccin, Transformacin, Transporte y Carga (Load)
de datos. OLAP: On-Line analytic processing OLTP: On-Line transactional processing I18N: Internacionalizacin L10N: Localizacin DW: Data Warehouse
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Objetivo BIFLOSS
27
Objetivo BI-FLOSS De acuerdo a lo expuesto en la introduccin del proyecto, se ha optado por llevar a cabo una evaluacin de las herramientas ofrecidas por los proyectos Pentaho y JasperSoft, mediante la realizacin de un Data Warehouse basado en el Proyecto de Pre-Grado (Gua Online de Negocios) desarrollado por los integrantes del grupo.
Los objetivos primarios del proyecto son:
1. Realizar el modelado multidimensional, correspondiente a la perspectiva de negocio elegida para llevar a cabo el Data Warehouse
2. Implementar el modelo anterior con las herramientas ofrecidas por Pentaho Project y JasperSoft en las reas de:
o Data Integration o OLAP Analysis o Reporting o BI-Server (BI-Platform)
3. Documentar el proceso llevado para completar los dos primeros objetivos, obteniendo como resultado final el desarrollo y las conclusiones plasmados en el Libro de Trabajo Final.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Destinatarios
29
Destinatarios Debido al objetivo y las caractersticas del proyecto, no se espera entregar los resultados obtenidos a alguna organizacin, sino que estos puedan servir para otros desarrollos relacionados.
Se espera generar gran cantidad de documentacin sobre como realizar un desarrollo de B.I. con estas herramientas. Como consecuencia, la documentacin generada servir para futuros desarrollos (propios o de terceros) de este tipo, ya que no hay gran cantidad de informacin sobre como utilizar estas herramientas (especialmente, hay muy poca documentacin en espaol).
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Beneficios
31
Beneficios Al tratarse de un proyecto sin una organizacin destino especfica, no se espera que alguna se beneficie del trabajo realizado. Se ha recolectado gran cantidad de informacin sobre el desarrollo de soluciones BI, incluyendo informacin sobre modelado y herramientas utilizadas.
Debido a la falta de documentacin de desarrollos BI sobre estas herramientas, se espera que los principales beneficiarios del estudio realizado, sean la comunidad de desarrolladores que utiliza este tipo de herramientas. Adems se espera beneficiar a los proyectos encargados del desarrollo y mantenimiento de las herramientas, ya que se genera documentacin para que mayor cantidad de usuarios pueda acceder y conocer estas tecnologas.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Estudio Tcnico
33
Estudio Tcnico Para la eleccin de las tecnologas, se definen una serie de atributos que deberan poseer:
Grado en que se adapta la tecnologa para el desarrollo del sistema
o Estabilidad o Performance o Licenciamiento o Precio
Los atributos se encuentran en orden decreciente de importancia, es decir se priorizan aspectos relacionados con la productividad y no al costo monetario o libertades y restricciones impuestos por la licencia.
Dentro de las tecnologas se distingue:
Plataforma Software: o Sistema Operativo: En este aspecto, se elige como la
mejor solucin un sistema operativo estilo Unix por mejor prestaciones en los tres primeros atributos. Teniendo en cuenta los ltimos dos, es que se decide por un SO GNU/Linux.
o Servidores Web: Por razones idnticas a las expuestas para SO, se eligen servidores con licencia Apache (Tomcat).
o Sistema de Gestin de Base de Datos: Las opciones que mejor se adaptan a los atributos descriptos y herramientas utilizadas en el desarrollo, son los motores de base de datos PostgreSQL 8.1 y MySQL 5.0.
Tecnologas BI: o De acuerdo a estos atributos, es que se elige para el
desarrollo del trabajo las tecnologas BI Open Source provistas por Pentaho y JasperSoft.
Recursos tecnolgicos necesarios para el desarrollo del proyecto:
Requerimientos Mnimos de hardware para el desarrollo del sistema:
o 1 PC: CPU Intel Pentium IV 2.4 Mhz o similar 512 MB RAM Disco Duro con al menos 10 GB libre CD-RW y DVD-RW Monitor SVGA 1024x768 de Resolucin
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Estudio Tcnico
34
Requerimientos Mnimos de Software: o GNU/Linux con kernel 2.6.*, Windows 2000 o superior o Java(tm) JDK o OpenOffice 2.0
Requerimientos Mnimos de hardware para servidor o 1 PC o CPU Intel Pentium IV 2.6 Mhz o similar o 1 GB RAM o Disco Duro con al menos 60 GB libre o CD-RW y DVD-RW
Requerimientos Mnimos de Software para el servidor: o GNU/Linux con kernel 2.6.*, Windows 2000 server o
superior o Java(tm) JDK o Web Server o CVS server o Application Server o Proxy y Firewall o SGBD
Recursos tecnolgicos (infraestructura) necesarios para ejecutar el sistema de informacin:
Debido a que las herramientas BI utilizadas utilizan tecnologas WEB, se especifican las caractersticas necesarias tanto de un cliente como un servidor.
Requerimientos Mnimos de hardware para el lado del servidor: dem a las caractersticas para el desarrollo. Adicionalmente se necesitar una conexin estable que brinde disponibilidad y tiempos de respuestas rpidos de acuerdo a la concurrencia y peticiones de usuarios.
Requerimientos Mnimos de hardware para el lado del cliente:
Cualquier plataforma capaz de soportar el software descrito a continuacin
Requerimientos Mnimos de Software: o Conexin a Internet o Cualquier navegador con: o JavaScript habilitado o Capacidad de conexiones sobre SSL/TLS o Gestin de Certificados X.509
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Estudio Tcnico
35
Recursos tecnolgicos disponibles para el desarrollo del sistema:
o Hardware disponible para el desarrollo: PC Pentium IV, CPU de 3,2 Ghz HT
Memoria 1 GB RAM Disco Duro de 80GB Disco Duro de 160GB CD/DVD-ROM Monitor 22 SVGA 1680x1050 de Resolucin 2 Placa de red (NIC) de 10/100 Mbps
PC Pentium IV, CPU de 3,2 Ghz HT Memoria 1 GB RAM 2 Disco Duro de 80GB CD/DVD-ROM Monitor 17 SVGA 1024x768 de Resolucin 2 Placa de red (NIC) de 10/100 Mbps
Software disponible para desarrolladores: o SO GNU/Linux Ubuntu 7.04 - Gentoo 2007.0 o JDK 1.5.0_09 o PostgreSQL 8.1 o PGAdmin o MySQL Query Browser o DBVisualizer 5.0 o MySQL 5.0 o Eclipse Platform 3.3 o Spoon 3.0 (Pentaho Data Integration 3.0) o Talend Open Studio 2.2.0GA o iReport 2.0.4 o Pentaho Report Design Wizard 1.6 o Pentaho Report Designer 1.6 o Pentaho Design Studio 1.6 o Mondrian 2.4.2 o Mondrian Schema Workbench 2.3.2.9247
Hardware disponible para servidores: o PC Pentium IV, CPU de 3,2 Ghz HT o Memoria 1 GB RAM o Disco Duro de 80GB o Disco Duro de 160GB o CD/DVD-ROM o Monitor 22 SVGA 1680x1050 de Resolucin o 2 Placa de red (NIC) de 10/100 Mbps
Software disponible para servidores: o GNU/Linux Debian 3.1 o JDK 1.5.12 o Apache Tomcat
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Estudio Tcnico
36
o Apache Web Server o PostgreSQL 8.1 o MySQL 5.0 o Mondrian 2.4.2 o JasperServer 2.1.0 o Pentaho BI Platform 1.6 o CVS Server o Samba Server o Proxy Server: Squid o Firewall: Shorewall (Iptables)
Hardware Lan y Wan: o Cisco 677 ADSL Router o Linksys WRT300N - Wireless-N Broadband Router
-
Primera Parte: Inteligencia de Negocios - Conceptos Previos
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
39
Inteligencia De Negocios
En esta seccin se brindar la introduccin a algunos conceptos referentes a Inteligencia de Negocios que se asumen comprendidos a lo largo de las secciones posteriores. El contenido de esta seccin, corresponde a extractos del libro DATA WAREHOUSING: Investigacin y Sistematizacin de Conceptos[1]
Definicin de Inteligencia de Negocios (Business Intelligence)
Se puede describir BI, como un concepto que integra por un lado el almacenamiento y por el otro el procesamiento de grandes cantidades de datos, con el principal objetivo de transformarlos en conocimiento y en decisiones en tiempo real, a travs de un sencillo anlisis y exploracin. La definicin antes expuesta puede representarse a travs de la siguiente frmula:
Datos+Analisis=Conocimiento
Beneficios
Entre los beneficios ms importantes que BI proporciona a las organizaciones, vale la pena destacar los siguientes:
Reduce el tiempo mnimo que se requiere para recoger toda la informacin relevante del negocio, ya que la misma se encontrar integrada en una fuente nica de fcil acceso.
Automatiza la asimilacin de la informacin, debido a que la extraccin y carga de los datos necesarios se realizar a travs de procesos predefinidos.
Proporciona herramientas de anlisis para establecer comparaciones y tomar decisiones.
Cierra el crculo que hace pasar de la decisin a la accin. Permite a los usuarios no depender de reportes o informes
programados, porque los mismos sern generados de manera dinmica.
Posibilita la formulacin y respuesta de preguntas que son claves para el desempeo de la empresa.
Permite acceder y analizar directamente los indicadores de xito.
Se pueden identificar cules son los factores que inciden en el buen o mal funcionamiento de la empresa.
Se podrn detectar situaciones fuera de lo normal. Se encontrarn y/o descubrirn cules son los factores que
maximizarn el beneficio.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
40
Permitir predecir el comportamiento futuro con un alto porcentaje de certeza, basado en el entendimiento del pasado.
El usuario podr consultar y analizar los datos de manera sencilla.
Data Warehouse
Introduccin
Debido a que para llevar a cabo BI, es necesario gestionar datos guardados en diversos formatos, fuentes y tipos, para luego depurarlos e integrarlos, adems de almacenarlos en un solo destino, depsito o base de datos que permita su posterior anlisis y exploracin, es imperativo y de vital importancia contar con una herramienta que satisfaga todas estas necesidades. Esta herramienta es el Data Warehouse (DW), que bsicamente se encarga de consolidar, integrar y centralizar los datos que la empresa genera en todos los mbitos de una actividad de negocios (Compras, Ventas, Produccin, etc), para luego ser almacenados mediante una estructura que permite el acceso y exploracin de la informacin requerida con buena performance, facilitando posteriormente, una amplia gama de posibilidad de anlisis multivariables, que permitir la toma de decisiones estratgicas y tcticas.
Definicin
El DW posibilita la extraccin de datos de sistemas operacionales y fuentes externas, permite la integracin y homogeneizacin de los datos de toda la empresa, provee informacin que ha sido transformada y sumarizada, para que ayude en el proceso de toma de decisiones estratgicas y tcticas. El DW, convertir entonces los datos operacionales de la empresa en una herramienta competitiva, debido a que pondr a disposicin de los usuarios indicados la informacin pertinente, correcta e integrada, en el momento que se necesita. Una de las definiciones ms famosas sobre DW, es la de W. H. Inmon, quien define: Un Data Warehouse es una coleccin de datos orientada al negocio, integrada, variante en el tiempo y no voltil para el soporte del proceso de toma de decisiones de la gerencia.
Arquitectura del Data Warehouse
Introduccin
A travs del siguiente grfico se explicitar la estructura del depsito de datos
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
41
Data Warehouse, arquitectura
Tal y como se puede apreciar, el ambiente del depsito de datos esta formado por diversos elementos que interactan entre s y que cumplen una funcin especfica dentro del sistema. Por ello es que al abordar la exposicin de cada elemento se lo har en forma ordenada y teniendo en cuenta su relacin con las dems partes.
Bsicamente, la forma de operar del esquema superior se resume de la siguiente manera:
Los datos son extrados desde aplicaciones, bases de datos, archivos, etc. Esta informacin generalmente reside en diferentes tipos de sistemas y arquitecturas y tienen formatos muy variados.
Los datos son integrados, transformados y limpiados, para luego ser cargados en el DW.
La informacin del DW se estructura en cubos multidimensionales, los cuales preparan esta informacin para responder a consultas dinmicas con una buena performance. Los cubos pueden ser explotados tanto por un usuario no experto como por usuarios avanzados.
Los usuarios acceden al DW utilizando diversas herramientas de consulta, exploracin, anlisis, reportes, etc.
A continuacin se detallar cada uno de los componentes de la arquitectura del DW, teniendo como referencia siempre el grfico antes expuesto, pero resaltando el tema que se tratar.
OLTP (On Line Transaction Processing)
Representa toda aquella informacin transaccional que genera la empresa en su accionar diario, adems, de las fuentes externas con las que puede llegar a disponer. Como ya se ha mencionado, estas fuentes de informacin, son de caractersticas muy dismiles entre s, en formato, procedencia, funcin, etc. Entre los OLTP ms habituales que pueden existir en cualquier organizacin se encuentran:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
42
Archivos de textos. Hipertextos. Hojas de clculos. Informes semanales, mensuales, anuales, etc. Bases de datos transaccionales.
Load Manager (ETL)
Para poder extraer los datos desde los OLTP, para luego manipularlos, integrarlos y transformarlos, para posteriormente cargar los resultados obtenidos en el DW, es necesario contar con algn sistema que se encargue de ello. Precisamente los ETL (Extraccin, Transformacin y Carga) son los que cumplirn con tal fin. Tal y como sus siglas lo indican, los ETL, extraen datos de las diversas fuentes que se requieran, los transforman para resolver posibles problemas de inconsistencias entre los mismos y finalmente, despus de haberlos depurado se procede a su carga en el depsito de datos.
En sntesis, las funciones especficas de los ETL son tres:
Extraccin. Transformacin. Carga.
Puede agregarse una T (Transporte) resultando en ETTL.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
43
Data Warehouse Manager
Data Warehouse, DW Manager
El DW Manager presenta las siguientes caractersticas y funciones: Transforma e integra los datos fuentes y del almacenamiento intermedio en un modelo adecuado para la toma de decisiones.
Gestiona el depsito de datos y lo organiza en torno a una base de datos multidimensional, que tal y como lo indica su nombre almacena los datos en diversas dimensiones, que conforman un cubo multidimensional, en donde el cruce de los valores de los atributos de cada dimensin a lo largo de las abscisas, determinan un hecho especfico. Los clculos que se aplican sobre las dimensiones son matriciales, los cuales se procesan dando como resultado reportes tabulares.
Gestiona y mantiene metadatos.
Base de datos multidimensional
Las bases de datos multidimensionales, proveen una estructura que permite tener acceso flexible a los datos, para explorar y analizar sus relaciones, y resultados consiguientes. Estas se pueden visualizar como un cubo multidimensional, en donde las variables asociadas existen a lo largo de varios ejes o dimensiones, y la interseccin de las mismas representa la medida, indicador o el hecho que se esta evaluando. En la siguiente representacin matricial se puede ver ms claramente lo que se acaba de decir.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
44
Cubo multidimensional
Las bases de datos multidimensionales implican tres variantes posibles de modelado, que permiten realizar consultas de soporte de decisin:
Esquema en estrella (Star Scheme). Esquema copo de nieve (Snowflake Scheme). Esquema constelacin o copo de estrellas (Starflake Scheme).
Los mencionados esquemas pueden ser implementados de diversas maneras, que, independientemente al tipo de arquitectura, requieren que toda la estructura de datos este desnormalizada o semi desnormalizada, para evitar desarrollar uniones (Join) complejas para acceder a la informacin, con el fin de agilizar la ejecucin de consultas. Los diferentes tipos de implementacin son los siguientes:
Relacional ROLAP Multidimensional MOLAP Hbrido HOLAP
Tabla de dimensiones
Las tablas de dimensiones definen como estn los datos organizados lgicamente y proveen el medio para analizar el contexto del negocio. Representan los ejes del cubo, y los aspectos de inters, mediante los cuales el usuario podr filtrar y manipular la informacin almacenada en la tabla de hechos. En la siguiente figura se pueden apreciar algunos ejemplos:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
45
Tablas de dimensiones
Como se puede observar, cada tabla posee un identificador nico y al menos un atributo que describe los criterios de anlisis relevantes de la organizacin, estos son por lo general de tipo texto. Usualmente la cantidad de tablas de dimensiones, aplicadas a un tema de inters en particular, varan entre tres y quince. As mismo, dentro de estas tablas pueden existir jerarquas11 de datos, adems, de acuerdo a las dimensiones del negocio, estar dada la granularidad que adoptar el modelo. Los datos dentro de estas tablas, que proveen informacin del negocio o que describen alguna de sus caractersticas, son llamados datos de referencia. Entonces, se puede afirmar que una tabla de dimensin posee una clave primaria y uno o ms datos de referencia.
Dimensin Tiempo
En un DW, la dimensin Tiempo es obligatoria, y la definicin de granularidad y jerarqua de la misma depende de la dinmica del negocio que se este analizando, toda la informacin dentro de la bodega, como ya se ha explicado, posee su propio sello de tiempo que determina la ocurrencia y ubicacin con elementos en iguales condiciones, representando de esta manera diferentes versiones de una misma situacin. Es importante tener en cuenta que el tiempo no es solo una secuencia cronolgica representada de forma numrica, sino que posee fechas especiales que inciden notablemente en las actividades de la organizacin. Esto se debe a que los usuarios podrn por ejemplo analizar las ventas realizadas teniendo en cuenta el da de la semana en que se produjeron, quincena, mes, trimestre, semestre, ao, etc. Existen muchas maneras de disear esta tabla, y en adicin a ello no es una tarea sencilla de llevar a cabo. Por estas razones se considera una buena prctica evaluar con cuidado la temporalidad de los datos, la forma en que trabaja la organizacin, los resultados que se esperan obtener del almacn de datos relacionados con una unidad de tiempo y la flexibilidad que se desea obtener de dicha tabla. Si bien, el lenguaje SQL ofrece funciones del tipo DATE, en la dimensin Tiempo, se modelan y presentan atributos temporales que no pueden calcularse en SQL, lo cual le aade una ventaja ms.
Jerarquas
Una jerarqua representa una relacin12 lgica entre dos o ms atributos dentro de una misma dimensin. Las jerarquas poseen las siguientes caractersticas
Pueden existir varias en una misma dimensin.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
46
Estn compuestas por dos o ms niveles. Se tiene una relacin 1-n entre atributos consecutivos de un
nivel superior y uno inferior.
Tablas de Hechos
Las tablas de hechos contienen los hechos, medidas o indicadores que sern utilizados por los analistas de negocio para apoyar el proceso de toma de decisiones.
Los hechos son datos instantneos en el tiempo, que son filtrados, agrupados y explorados a travs de condiciones definidas en las tablas de dimensiones.
Los datos presentes en las tablas de hechos constituyen el volumen de la bodega, y pueden estar compuestos por millones de registros dependiendo de su granularidad y de los intervalos de tiempo de los mismos. Los ms importantes son los de tipo numrico.
El registro del hecho posee una clave primaria que est compuesta por las claves primarias de las tablas de dimensiones relacionadas a este.
Query Manager
Query Manager
Este componente realiza las operaciones necesarias para soportar los procesos de gestin y ejecucin de consultas relacionales, tales como Join y agregaciones, y de consultas propias del anlisis de datos, como drill-up y drill-down. Query Manager recibe las consultas del usuario, las aplica a las tablas correspondientes y devuelve los resultados obtenidos. Cabe aclarar que una consulta a un DW, generalmente consiste en la obtencin de medidas o indicadores a partir de datos de una tabla de hechos, restringidas por las propiedades o condiciones de las dimensiones seleccionadas. Las
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
47
operaciones que se pueden realizar sobre modelos multidimensionales y que son las que verdaderamente les permitirn a los usuarios explorar y desmenuzar los datos en busca de respuestas, son:
Drill-down: Permite apreciar los datos en un mayor detalle, bajando por la jerarqua de una dimensin. Esto brinda la posibilidad de introducir un nuevo nivel o criterio de agregacin en el anlisis, disgregando los grupos actuales.
Drill-up: Permite apreciar los datos en menor nivel de detalle, subiendo por la jerarqua de una dimensin. Esto brinda la posibilidad de quitar un nivel o criterio de agregacin en el anlisis, agregando los grupos actuales.
Drill-across: Es muy similar al funcionamiento de drill-down, con la diferencia de que drill-across no se realiza sobre jerarquas de una dimensin, sino que su forma de ir de lo general a lo especfico es agregar como nuevo criterio de anlisis una nueva dimensin.
Roll-across: Es muy similar al funcionamiento de drill-up, con la diferencia de que roll-across no se hace sobre jerarquas de una dimensin, sino que su forma de ir de lo especfico a lo general es quitar un criterio de anlisis eliminando de la consulta una dimensin.
Pivot: Permite seleccionar el orden de visualizacin de las dimensiones, con el objetivo de analizar la informacin desde diferentes perspectivas.
Page-Slice: Presenta el cubo dividido en secciones, a travs de los valores de una dimensin, como si se tratase de pginas de un libro.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
48
Herramientas de Consulta y Anlisis
Herramientas de Consulta y Anlisis
Las herramientas de consulta y anlisis son sistemas que permiten al usuario realizar la exploracin de datos del DW. Bsicamente constituyen el nexo entre el depsito de datos y los usuarios. A travs de una amigable interfaz grfica y una serie de simples pasos, el usuario genera consultas que son enviadas desde la herramienta de consulta y anlisis al Query Manager, este a su vez realiza la extraccin de informacin al DW Manager y devuelve los resultados obtenidos a la herramienta que se los solicit. Luego, estos resultados son expuestos ante el usuario en formatos que le son familiares. Este proceso se puede comprender mejor al observar la siguiente figura:
El mismo, se lleva a cabo a travs de seis pasos sucesivos:
1. El usuario selecciona o establece que datos desea obtener del DW, mediante las interfaces de la herramienta que utilice.
2. La herramienta recibe el pedido del usuario, construye la consulta y la enva al Query Manager.
3. El Query Manager ejecuta la consulta en las tablas del DW. 4. El Query Manager obtiene los resultados de la consulta. 5. El Query Manager enva los datos a las herramientas de
consulta y anlisis. 6. Las herramientas presentan al usuario la informacin requerida.
Una de las principales ventajas de utilizar estas herramientas, es que los usuarios no se tienen que preocupar por conocer cual es la estructura de los datos, solo se deben enfocar en el anlisis. Existen diferentes tipos de herramientas de consulta y anlisis, y de acuerdo a la necesidad, tipos de usuarios y requerimientos del negocio, se debern seleccionar las ms propicias al caso. Entre ellas se destacan las siguientes:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
49
Reportes y Consultas OLAP Data Mining EIS
Reportes y Consultas
Se han desarrollado varias herramientas para la produccin de consultas y reportes, que ofrecen a los usuarios, a travs de pantallas grficas intuitivas, la posibilidad de generar informes avanzados y detallados del rea de inters del negocio que se este analizando. El usuario solo debe seguir una serie de simples pasos, como por ejemplo seleccionar opciones de un men, presionar tal o cual botn para especificar los elementos de datos, sus condiciones, criterios de agrupacin y dems atributos que se consideren significativos.
OLAP
El procesamiento analtico en lnea OLAP (On Line Analytic Processing), es la componente ms poderosa de los DW, ya que es el motor de consultas especializado de la bodega.
Las herramientas OLAP, son una tecnologa de software para anlisis en lnea, administracin y ejecucin de consultas, que permiten inferir informacin del comportamiento del negocio.
Su principal objetivo es el de brindar rpidas respuestas a complejas preguntas, para interpretar la situacin del negocio y tomar decisiones. Cabe destacar que lo que es realmente interesante en OLAP, no es la ejecucin de simples consultas tradicionales, sino la posibilidad de utilizar operadores tales como drill-up, drill-down, etc, para explotar profundamente la informacin.
Adems, a travs de este tipo de herramientas, se puede analizar el negocio desde diferentes escenarios histricos, y proyectar como se ha venido comportando y evolucionando en un ambiente multidimensional, o sea, mediante la combinacin de diferentes perspectivas, temas de inters o dimensiones. Esto permite deducir tendencias, por medio del descubrimiento de relaciones entre las perspectivas que a simple vista no se podran encontrar sencillamente.
Usuarios
Los usuarios que posee el DW son aquellos que se encargan de tomar decisiones y de planificar las actividades del negocio, es por ello que
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Conceptos Previos Sobre Business Intelligence
50
se hace tanto nfasis en la integracin, limpieza de datos, etc, para poder conseguir que la informacin posea toda la calidad posible.
Es a travs de las herramientas de consulta y anlisis, que los usuarios exploran los datos en busca de respuestas para poder tomar decisiones proactivas.
Referencias y recursos
1. DATA WAREHOUSING: Investigacin y Sistematizacin de Conceptos HEFESTO: Metodologa propia para la Construccin de un Data Warehouse Ing. Bernabeu, Ricardo Daro -Instituto Universitario Aeronutico- Noviembre de 2007
-
Segunda Parte: Desarrollo BI-FLOSS
-
Captulo I: Modelo Multidimensional
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
55
Planteo del caso
El Sistema GON agrupa mltiples negocios, correspondientes a diferentes rubros, con sus correspondientes sucursales en diferentes zonas geogrficas. Los dueos o administradores de negocios tienen la capacidad de registrar los productos y promociones ofrecidas. Un Usuario Externo ingresa al sistema y realiza bsquedas de negocios o productos; los negocios son consultados por el UE quien en determinados casos efecta rdenes de productos. Para obtener una definicin ms amplia de la estructura y funcionamiento de GON, puede consultarse la seccin Inicio de la documentacin del proyecto[1].
GON es un Sistema que posee cualidades que lo convierten en una fuente potencial de informacin estratgica para diferentes niveles de usuarios. Entre estos usuarios encontramos:
1. Nivel dirigencial GON: para aquellos directivos involucrados en la explotacin del Sistema, resulta de vital importancia mantener una visin de cmo evoluciona y crece el conjunto de Negocios Adheridos desde diferentes perspectivas tales como:
o Zona geogrfica de los negocios que se adhieren. o Rubros o rama comercial de los negocios. o Perodo temporal en que se adhieren los negocios.
2. Nivel dirigencial de Negocios Adheridos: estos encuentran esencial obtener una nocin detallada acerca del funcionamiento de sus negocios a partir del momento en que se han convertido en parte del compendio de negocios que comprende GON. La informacin ser referente a cmo variaron los productos vendidos desde diversas perspectivas, entre ellas:
o Clientes que realizan pedidos o Perodo temporal o Tipos o marcas de los productos pedidos o Sucursal que recibe el pedido.
3. Nivel directivo de grandes marcas y productos: la informacin relevante estar relacionada con la forma con que sus productos son pedidos, teniendo en cuenta perspectivas significativas como:
o Zona geogrfica o Informacin del consumidor o comprador o Detalle y descripcin de productos o Perodo temporal en que los productos son pedidos
Para desarrollar el caso prctico, se seleccion el nivel dirigencial de Negocios Adheridos. Los directivos de negocios adheridos necesitan responder a preguntas tales como:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
56
Que cantidad de productos han sido vendidos por una sucursal?
Por qu monto un negocio ha efectuado ventas en un lapso determinado?
En que medida influye la ubicacin geogrfica de las sucursales en las ventas?
Cmo han evolucionado las ventas de una sucursal en diferentes perodos?
Cmo influye la edad, el sexo y la ubicacin de los clientes en adquisicin de diferentes productos?
Estructura del OLTP Se observa a continuacin el Diagrama Entidad Relacin del OLTP GON.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
57
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
58
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
59
Diagrama Entidad-Relacin de GON
En la imagen anterior observamos resaltadas el diagrama completo de entidades. A continuacin se ofrecen secciones del mismo diagrma, dnde se pueden apreciar entidades referentes a productos, sucursales y clientes:
Productos
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
60
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
61
Entidades propias de productos
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
62
Sucursales
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
63
Entidades relacionadas a sucursales
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
64
Clientes
1 Entidades referentes a clientes
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
65
Indicadores del Negocio (KPIs)
Monto total de las ventas Cantidad de productos vendidos
Dimensiones de la Base de Datos Multidimensional
1. Sucursales: Los productos ordenados por los clientes varan en funcin de las distintas sucursales de los Negocios Adheridos.
2. Clientes: Los productos ordenados varan en funcin de los distintos clientes.
3. Tiempo: Los pedidos de un producto varan en funcin de los distintos espacios temporales.
4. Productos: La orden de un producto vara en funcin de sus caractersticas.
5. Estado de orden: Las rdenes pueden presentar dos estados opuestos: Concretada/Finalizada o Cancelada. Lo cual afecta el anlisis final de los indicadores.
Tablas de la Base de Datos Multidimensional
lookup_branches lookup_clients lookup_products lookup_time
Atributos de las Tablas de la Base de Datos Multidimensional lookup_branches
branch_id name legal_name legal_id category heading since_date continent country state city zone
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
66
street street_number floor_number apartment_number zipcode email phonenumber fax
Dimensin Sucursales lookup_clients
cliente_id username name last_name registration_date gender birthdate continent country state city zone street street_number
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
67
floor_number apartment_number email phonenumber
Dimensin Clientes lookup_products
product_id name category heading product_type product_type_description general_description particular_description busiens_description branch_seller_id brand brand_nationality
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
68
Dimensin Productos lookup_time
year quarter month month_name week weekday weekday_name
Dimensin Tiempo lookup_orderstate
state
Esta ltima dimensin ser implementada como una dimensin degenerada[2]; al no presentar demasiada complejidad jerrquica, y slo contar con dos miembros en su nivel raz, se aadir como campo a la tabla de hechos.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
69
Definicin de la tabla de hechos y atributos
Nombre: orders_fact Medidas:
1. Nmero de pedidos 2. Monto en dinero total de pedidos
Tabla de hechos
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
70
Definicin del esquema estrella para el modelo multidimensional
Esquema Estrella
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
71
Definicin de los cubos multidimensionales necesarios
Se define el cubo rdenes cuya tabla de hechos es orders_fact, y sus dimensiones junto a jerarquas, niveles y propiedades se listan a continuacin:
Dimensin tiempo
Dimensin y jerarquas tiempo Dimensin sucursales
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
72
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
73
Dimensin y jerarquas de sucursales Dimensin cliente
Dimensin y jerarquas de clientes Dimensin producto
Dimensin y jerarquas de productos Dimensin estado de orden
Dimensin y jerarquas de estado de orden
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Modelo Multidimensional
74
Referencias y Recursos
1. Seccin inicio del libro Gua de Negocios Online. Trabajo Final de Pre-Grado de Almeida, Rodrigo - Heredia, Mariano. Abril de 2008
2. Ver Seccin Servidor OLAP de la parte Desarrollo
-
Captulo II: BigPicture
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Big Picture
77
Antes de dar inicio al desarrollo del presente trabajo se ilustrarn las etapas involucradas[1], junto a las herramientas utilizadas en cada una de ellas. En el diagrama las etapas son ubicadas desde abajo hacia arriba de acuerdo a los productos obtenidos; en un nivel dado sern utilizadas como inputs o entradas las salidas o outputs de niveles inferiores.
BigPicture - Un panorama general
Modelo de Negocio: se obtendrn los lineamientos generales para llevar a cabo los pasos posteriores junto a su secuencia. Representa slo un modelo conceptual como gua a lo largo del desarrollo.
Load Manager (E.T.L.): se generar la base de datos del Data Warehouse y en ella se depositarn lo datos integrados provenientes de fuentes OLTP.
Servidor OLAP: en base a las tablas dimensionales y de hechos, se construirn los cubos multidimensionales que podrn ser consultados mediante sentencias MDX.
Reportes y consultas: utilizando la fuente de datos OLAP y consultas MDX se crearn los reportes pertinentes.
Servidor de Business Intelligence: los reportes generados sern alojados en un servidor centralizado accesible para los usuarios involucrados. Desde estos servidores se podrn crear anlisis olap descriptos mediante sentencias MDX.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Big Picture
78
Servidores de Anlisis Olap: Desde estos se podr ejecutar los anlisis generados anteriormente. La ejecucin de estos anlisis permiten la interaccin por parte del usuario, realizando operaciones de Query Manager como drill-down, pivot, slice, page, etc.
Referencias y recursos
Ver Parte Conceptos Previos de Inteligencia de Negocios
-
Captulo III: Integracin de Datos[1]
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Integracin de Datos
81
El diagrama general del desarrollo de BI-FLOSS servir para tener una idea de los temas a desarrollar:
Temas a desarrollar
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Integracin de Datos
82
Introduccin
En la siguiente seccin se llevarn a cabo las transformaciones necesarias para poblar el Data Warehouse y se brinda una descripcin de las herramientas y pasos involucrados en el proceso. Como mtodo para el diseo conceptual, se utiliza el Modelado Dimensional de la seccin anterior[2], mientras que para el diseo lgico y fsico se utilizan las herramientas brindadas por las Suite Pentaho BI Project[3] y JasperSoft [4] (Talend[5]). Con cada herramienta se llevarn a cabo las actividades necesarias para obtener la misma Base de Datos del Data Warehouse, documentando los principales pasos involucrados. Al final de esta seccin se ofrece una tabla comparativa de las caractersticas ms importantes de ambas herramientas.
-
Trabajando con Kettle
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
85
Licencia
Kettle (Pentaho Data Integration) se licencia bajo Pentaho Public Licence[1].
Versin Utilizada
Pentaho Data Integration 3.0 RC1
Descripcin general
Kettle (Kettle E.T.T.L. Environment) es una herramienta de Extraccin, Transformacin, Transporte y Carga (Load) de datos, orientada a metadatos de la suite de Business Intelligence Pentaho. En simples palabras, es la herramienta utilizada para la carga de un Data Warehouse. Kettle, esta compuesto por un conjunto de herramientas que le permiten manipular datos provenientes de diversas fuentes de datos. Estas son:
Spoon: Herramienta grfica destinada a disear transformaciones y trabajos. La herramienta permite al usuario describir que es lo que se quiere hacer y no como hacerlo (diseo de SW de 4ta generacin).
Pan: Interpreta y ejecuta transformaciones diseadas con Spoon.
Kitchen: Interpreta y ejecuta trabajos diseados con Spoon.
Spoon
Spoon es la herramienta grfica que permite disear transformaciones (transformations) y trabajos (jobs). Esta facilita en gran medida el desarrollo de los procesos ETTL, ya que mediante un conjunto de pasos se puede fcilmente definir como se quieren realizar las transformaciones y ejecutarlas mediante trabajos.
Antes de introducirse en las caractersticas de Spoon, es menester resaltar la diferencia entre transformaciones y trabajos:
Transformaciones: Estn relacionadas con el movimiento y modificacin de datos desde una fuente origen, a un destino de datos.
Trabajos: Representan tareas de alto nivel. Cada entrada del trabajo puede ser, por ejemplo, ejecutar una transformacin, enviar un correo electrnico, subir un archivo va ftp, etc.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
86
Spoon est destinado a la creacin de transformaciones y trabajos los cuales sern almacenados en formato XML o en un repositorio Kettle. El repositorio no es ms que una base de datos relacional, por lo que, para almacenar u obtener una transformacin se debe previamente establecer una conexin con el mismo.
Definiciones
Como paso previo para disear transformaciones y trabajos, es preciso introducir las definiciones de los elementos que involucran:
Transformaciones
Valor (Value): un valor es parte de una fila, y puede ser cualquier tipo de dato.
Fila (Row): en una fila existen 1 o ms valores. Flujo de Salida (Output Stream): una coleccin de filas
como producto de un paso dado. Flujo de Entrada (Input Stream): una coleccin de filas que
ingresa en un paso dado. Salto (Hop): es una representacin grfica del flujo de datos
entre dos pasos. Siempre representa un flujo de salida de un paso y un flujo de entrada en otro paso.
Nota (Note): informacin adicional de una transformacin.
Trabajos
Entrada del trabajo (Job Entry): es una parte del trabajo y lleva a cabo una transformacin.
Salto (Hop): representacin grfica de uno o ms flujos de datos entre dos pasos. Representa el enlace entre dos entradas del trabajo y puede ser asignado (dependiendo del tipo de trabajo origen) para ejecutar la prxima entrada del trabajo de forma incondicional, despus de una ejecucin exitosa o fallida.
Nota (Note): informacin adicional del trabajo.
Nota: Para informacin detallada de Spoon, u otro componente de Kettle o Pentaho, leer el manual correspondiente que acompaa a cada producto.
GUI: Descripcin general
En la siguiente imagen se observan los principales componentes que se encuentran en la herramienta Spoon.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
87
Vista general de Spoon
A continuacin se observa con mayor detalle los elementos principales que componen la transformacin o trabajo que se estn editando (en este caso una transformacin). Los elementos principales de este rbol son:
Las distintas conexiones a bases de datos que se usan en la transformacin.
Los distintos pasos que conforman la transformacin. Los distintos saltos que unen los pasos de la transformacin.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
88
rbol principal
Esta imagen muestra los distintos pasos que pueden seleccionarse para incluirse en la transformacin. Spoon organiza estos pasos en base a la funcin que cumplen. Por ejemplo los pasos relacionados con lectura de datos de alguna fuente son agrupados bajo la categora Input. En la ultima parte de la imagen puede apreciarse la seccin Favorite steps en donde se agrupan los pasos mas usados, esto permite al usuario ahorrar tiempo al seleccionar los pasos que desea incluir en una transformacin.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
89
Objetos
Pan
Como ya se menciona anteriormente, permite ejecutar transformaciones diseadas por Spoon desde un repositorio o un archivo XML. Pan no posee una interfaz grfica que permita al usuario ejecutar las transformaciones, sino que deben ejecutarse mediante una lnea de comandos. Spoon facilita el trabajo ya que una vez definida una transformacin, puede ser ejecutada directamente desde all. Adems de ejecutar transformaciones, Pan, permite planificarlas para que se ejecuten segn las necesidades del usuario. Las transformaciones pueden ser ejecutadas desde un archivo o un repositorio:
Ejemplo desde un archivo:
pan.sh -file="/gon/branchesTransformation.ktr" -level=Minimal
Ejemplo desde un repositorio:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
90
pan.sh -rep="SpoonRep" -trans="branchesTransformation" -dir="/dimensions/" -user="username" -pass="somepassword" level="Minimal"
Kitchen
Kitchen permite ejecutar trabajos diseados por Spoon desde un repositorio o un archivo XML. Al igual que Pan, Kitchen no posee una interfaz grfica que permita ejecutar trabajos, sino que deben ejecutarse desde una lnea de comandos. Spoon facilita esta tarea permitiendo ejecutar los trabajos que estn siendo diseados desde la GUI. Kitchen tambin posee la capacidad de planificar la ejecucin de trabajos, para ello por ejemplo (en Unix), puede crearse un Script que ejecute el trabajo y planificar su ejecucin con Cron[2]. Un trabajo puede ser ejecutado desde un archivo o un repositorio, por ejemplo:
Desde un archivo:
kitchen.sh -file=/gon/generateDimensions.kjb -level=Minimal
Desde un repositorio:
kitchen.sh -rep="SpoonRep" -job="generateDimensions" -dir="/" user="username" pass="somepassword" -level="Minimal"
Diseando Transformaciones
Introduccin
Las transformaciones son diseadas con el objetivo de generar y poblar un Data Warehouse. Para ello se deben obtener los datos de las fuentes OLTP para transformarlos y cargarlos en el DW.
Spoon provee una serie de pasos que permiten obtener los datos a transformar (por ejemplo desde archivos de texto, tablas de bases de datos), cmo procesarlos y a dnde desean ser colocados. Una vez que los pasos son seleccionados, estos pueden ser relacionados entre s creando una secuencia de acciones que representan los pasos a seguir en la transformacin. A continuacin se presenta como llevar a cabo estas tareas con Spoon.
Creando el repositorio Spoon
Antes de que se puedan realizar transformaciones o trabajos en kettle es necesario definir como se quieren almacenar. Kettle provee
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
91
dos formas; una mediante archivos XML donde se definen las transformaciones y trabajos; la otra mediante la creacin de un repositorio en una base de datos donde se encuentran los metadatos de las transformaciones y trabajos. Para el presente trabajo se utiliz un repositorio, al ser considerada la forma ms adecuada, pues facilita el trabajo en equipo y adems brinda la seguridad y estabilidad de un motor de base de datos relacional.
La primera vez que se ingresa a Spoon debe definirse que repositorio ser utilizado (en caso de no existir uno, debe ser creado). Para ello, primero se debe crear una base de datos para usar como repositorio (en este trabajo se utiliz una base de datos PostgreSQL). Una vez creada, se define una conexin con la base de datos (remota o local) en donde sern almacenados los metadatos. Por ltimo, una vez definida la conexin, se debe indicar a Spoon que cree la estructura en la base de datos para poder almacenar los metadatos.
En la imagen se aprecia la pantalla de Spoon donde se ingresa el repositorio al que se desea conectar.
Conexin a un repositorio kettle
Creando una transformacin
Como ejemplo, se describir la secuencia de pasos para crear la transformacin para generar la tabla representativa de la Dimensin Tiempo: Time Transformation.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
92
Una vez creado y conectado al repositorio, se puede comenzar a disear una transformacin o un trabajo. Lo primero que se debe hacer antes de comenzar el diseo, es definir y elegir los pasos (steps) que estarn involucrados y como van a interactuar entre s mediante saltos (hops). Por ltimo se debe especificar, para cada uno de los pasos, las opciones y comandos necesarios para llevar a cabo la transformacin.
La dimensin que se disear ser la de Tiempo. Esta es una dimensin que debe estar en todo data warehouse. Su estructura es la siguiente:
lookup_time o year o quarter o month o month_name o week o weekday o weekday_name
Con seguridad, existen diversos modos de generar una tabla que represente la dimensin tiempo, en este caso el proceso fue elaborado integralmente por el grupo, sin saber hasta el momento si existe forma predefinida o ms eficiente. Se asume la existencia de un proyecto configurado. Se procede con la creacin en el repositorio de una nueva transformacin.
En la imagen se observan los pasos involucrados en la transformacin, en la cual se crea la dimensin tiempo del Data Warehouse.
Transformacin tiempo
A continuacin se explica con mayor detalle cada uno de los pasos involucrados en la transformacin.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
93
Generate Rows: Generador de filas
Este paso genera como salida un nmero determinado de filas, adems permite especificar los datos que componen la fila, y opcionalmente asignarle un valor. En el caso de esta transformacin se generan 3660 filas que equivalen a la cantidad de das en 10 aos. Cada una de estas filas generadas posee dos valores.
initial_date: Especifica la fecha a partir de la cual se desea empezar a generar das hasta llegar a 10 aos. Este valor ser utilizado mas adelante por el paso Modified Java Script Value.
localeParam: Es un parmetro que indica la localidad de la fecha que se esta generando, esto, por ejemplo, brinda mayor flexibilidad a la hora de volver a generar la dimensin tiempo en otro idioma. Este valor ser utilizado mas adelante por el paso Modified Java Script Value.
A continuacin se observa como realizar lo descrito anteriormente en Spoon (Para ello se debe editar el paso):
Configuracin Generate Rows
Unin de componentes: Hops
Cuando se definen transformaciones, se debe definir la secuencia de pasos que sern ejecutados. Para ello, se definen Hops, que representan la unin de un componente con otro permitiendo relacionarlos. Cuando dos componentes se relacionan mediante Hops, el componente destino recibe los datos del componente previo, lo que permite transformar los datos a medida que se ejecutan distintos pasos de la transformacin.
Para crear un Hop entre dos pasos se pueden seleccionar los dos componentes que se quieren unir y desde su men contextual seleccionar la opcin New hop. Otra posibilidad es crearlo directamente del rbol de componentes, para ello se debe desplegar
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
94
el men contextual de la rama Hops y seleccionar New Hop. A continuacin se observa el asistente de esta configuracin.
Creacin de un nuevo Hop
En la imagen se observa como se realiza la unin entre el paso Generate Rows (origen) y Add sequence (destino).
Add Sequence: Secuencia
Este paso permite generar una serie de enteros definiendo un valor de inicio y el incremento. Los pasos que requieran el uso de una secuencia, utilizarn como entrada un paso add sequence. Adems permite obtener secuencias almacenadas en una base de datos o auto generarlas. Para este caso se especifica que la secuencia comience en 1, se incremente de a 1 y que Kettle la genere (cada valor de la secuencia representa un da). La secuencia se incrementara hasta la cantidad de filas generadas por el paso anterior, por lo que tendr como mximo 3660 valores.
A continuacin se observa como configurar estos valores con Spoon:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
95
Configuracin Add Sequence
Modified Java Script Value: Java y Java Script
Este paso permite utilizar cdigo Java Script en una transformacin. Kettle utiliza el motor de Java Script Rhino[3] el cual permite el uso de clases Java en el cdigo Java Script. Esto representa una gran ventaja ya que se puede aprovechar la potencia de un lenguaje como Java en las transformaciones. El Cdigo contenido en este paso ser ejecutado para cada una de las filas generadas por el paso anterior. Dentro del Cdigo se puede hacer referencia a los valores que vienen de los pasos anteriores, procesarlos y generar una nueva salida para los pasos siguientes.
A continuacin se observa el cdigo para generar los distintos datos necesarios para la dimensin tiempo:
Se crea una variable de tipo Locale[4], la cual se inicializa con el parmetro obtenido del paso 1, luego se crea un objeto de tipo calendario gregoriano (GregorianCalendar[5]) que se inicializa con la variable de localidad definida anteriormente. Una vez inicializado el calendario, se asigna la fecha de inicio (obtenida en el paso 1); Luego se debe incrementar de uno en uno el da para generar las distintas fechas que se requieren. Para ello se agregan al calendario das, los cuales se irn incrementando en base a la secuencia definida en el paso 2.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
96
Cdigo: Datos dimensin tiempo var locale = new java.util.Locale(localeParam.getString()); var calendar = new java.util.GregorianCalendar(locale); calendar.setTime(initial_date.getDate()); calendar.add(calendar.DAY_OF_MONTH,DaySequence.getInteger() - 1);
Cuando se tiene definido el calendario, se obtiene la fecha, para luego asignarla a una variable de tipo Date[6], luego se define una variable de tipo SimpleDateFormat[7], la cual se usar para obtener los distintos datos necesarios de la fecha. En base a lo definido en la estructura de la dimensin tiempo, se utiliza la variable SimpleDateFormat[7] para obtener los distintos valores.
Cdigo: Datos dimensin tiempo var date = new java.util.Date(calendar.getTimeInMillis()); var simpleDateFormat = java.text.SimpleDateFormat("y",locale); var year = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("MMMM",locale); var month = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("MM",locale); var monthNumber = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("w",locale); var weekInYear = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("W",locale); var weekInMonth = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("d",locale); var dayInMonth = simpleDateFormat.format(date); simpleDateFormat = java.text.SimpleDateFormat("EEEE",locale); var dayInWeek = simpleDateFormat.format(date); var dayInWeekNumber = calendar.get(calendar.DAY_OF_WEEK);
Por ltimo se debe identificar los diferentes trimestres del ao. Para ellos se comprueban los nmeros de cada mes; segn cual sea el nmero se aade a la variable quarter_name el nmero de trimestre. Esto se realiz de esta manera ya que la clase de Java SimpleDateFormat[7] no posee una forma de manejar los distintos trimestres del ao.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
97
Cdigo: Datos dimensin tiempo var quarter_name = "Q"; var quarter_number; switch(parseInt(monthNumber)){ case 1: case 2: case 3: quarter_number = "1"; break; case 4: case 5: case 6: quarter_number = "2"; break; case 7: case 8: case 9: quarter_number = "3"; break; case 10: case 11: case 12: quarter_number = "4"; break; } quarter_name += quarter_number;
Cada una de las variables definidas en el cdigo pueden ser utilizadas como entrada para los pasos siguientes, obviamente muchas de las variables no son necesarias, por lo cual, no sern incluidas en el paso siguiente. A continuacin se observa en la imagen como seleccionar en Spoon las variables que se desean usar en los pasos siguientes.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
98
Configuracin Modified Java Script Value
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
99
Select Values: Seleccin de valores
Este paso recibe como entrada un flujo de datos sobre el cual pueden realizarse las siguientes acciones:
Seleccionar los campos que se desea que estn disponibles para los siguientes pasos.
Renombrar campos. Especificar el largo o la precisin de los campos.
Para esta transformacin, el paso se utiliza para seleccionar que valores deben continuar al paso siguiente. A continuacin se observa en la imagen como realizar estas acciones con Spoon.
Configuracin Select Values
Table Output: Creacin de la tabla Lookup_Time
Este paso permite almacenar datos en una tabla de una base de datos. Si la tabla no existe, Kettle brinda la posibilidad de crearla. Se configura el paso para que Kettle cree la tabla y la cargue con los valores recibidos de los pasos anteriores; adems, se especifica que, cada vez que se ejecute la transformacin se borren los datos existentes.
A continuacin se observa como realizar esta configuracin con Spoon.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
100
Configuracin Table Output
Ejecutando la Transformacin
Una vez que se han configurado todos estos pasos, la transformacin se encuentra en condiciones de ser ejecutada. Para ello se debe indicar a Spoon que ejecute la transformacin. A continuacin se observa como se ejecuta la transformacin en Spoon.
Antes de comenzar con la ejecucin de la transformacin, pueden ser definidos ciertos valores de configuracin (en el caso de este trabajo se opta por dejar los valores por defecto). En la imagen se observa como llevarlo a cabo:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
101
Configuracin de la ejecucin de la transformacin
Una vez que comienza la ejecucin de la transformacin, Spoon brinda informacin detallada de la ejecucin de cada uno de los pasos y sus resultados. A continuacin se aprecia la pantalla de Spoon:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
102
Informacin de ejecucin
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
103
Creando la tabla de hechos: Orders Fact
Consideraciones previas
Antes de que se realice la transformacin que cree la tabla de hechos, se deben desarrollar las transformaciones que generen las dimensiones restantes (definidas en el modelo multidimensional). A continuacin se observan los diagramas de las transformaciones diseadas para obtener las tablas que representan estas dimensiones. Por cuestiones de alcance no se explican en detalle todos los pasos y configuraciones necesarias para realizar cada una de estas transformaciones.
Transformacin que genera la dimensin Clientes
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
104
Transformacin que genera la dimensin Sucursales
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
105
Transformacin que genera la dimensin Productos
Definicin del modelo y pasos realizados
A continuacin se presentan las imgenes de las transformaciones llevadas a cabo para crear y cargar la tabla de hechos. Se decidi dividir la transformacin en dos ya que se encontraron ciertas dificultades y restricciones para generar la tabla de hechos con los pasos provistos por Kettle. Se considera que existen otras formas ms eficientes de realizar esta transformacin pero por la razn antes mencionada se opta por la siguiente solucin:
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
106
Transformacin que genera la tabla auxiliar de rdenes
Transformacin que carga la tabla de hechos
La primera imagen muestra la transformacin que se encarga de desnormalizar las rdenes de compra que se produjeron, agrupando las rdenes que realiz un cliente en un mismo da almacenndolas en una tabla. La segunda, ejecuta una sentencia SQL que cruza las dimensiones del modelo multidimensional con las rdenes desnormalizadas y agrupadas, para luego cargar estos datos en la tabla de hechos. A continuacin se explican los pasos involucrados en las transformaciones y como llevarlos a cabo en Spoon.
Transformacin Orders Aux
A continuacin se explica la transformacin encargada de generar la tabla auxiliar de rdenes.
Table Input
Este paso permite leer informacin desde una base de datos, para ello se debe especificar una conexin para que Kettle sepa de donde extraer los datos. Para obtener la informacin se debe especificar una sentencia sql o generar una mediante Spoon (consultas simples).
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
107
A continuacin se observa como configurar este paso para obtener los datos de los negocios cargados en GON.
Table input de negocios
En este paso se ejecuta una sentencia SQL que obtiene los datos de los negocios cargados en GON. Una vez obtenidos, el flujo de datos puede ser utilizado como entrada para otro paso del proceso. En este caso se utilizan para cruzar la informacin de los negocios con el resto de las entidades involucradas.
El resto de los pasos de este tipo utilizados en esta transformacin se encargan de obtener la informacin de las otras entidades involucradas. La configuracin utilizada en cada uno de estos pasos es similar a lo explicado anteriormente, con la diferencia de la sentencia SQL ejecutada.
Join Rows (Cartesian Product)
Este paso crea una combinacin (producto cartesiano) de todas las filas del flujo de datos entrante, en este caso se utiliza para combinar los datos de las distintas entidades de la transformacin; para limitar el nmero de filas resultantes, Kettle permite especificar condiciones que formarn el predicado de la sentencia sql.
A continuacin se observa en la imagen como realizar este paso en Spoon.
-
IUA - Facultad de Ingeniera - Proyectoto de Grado: BIFLOSS Trabajando con Kettle
108
Producto cartesiano de datos relacionados con rdenes de compra
Esta imagen