Más contenido relacionado Similar a Inteligencia de negocio - Arquitecturas de Soluciones Analíticas (20) Inteligencia de negocio - Arquitecturas de Soluciones Analíticas1. UNIVERSIDAD CENTRAL DE VENEZUELA
FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACION
´
Sistemas de Información
Tema 6: Inteligencia de Negocio.
Arquitectura de Soluciones
Analíticas
1
Prof. Wilfredo Rangel
2. Agenda
Introducción
Origen y Definición
Soluciones Analíticas
¿Qué es OLAP?
Características de las Soluciones analíticas
Comparando tipos de soluciones
Visión general de las soluciones analíticas
Arquitectura conceptual básica
Componentes de la arquitectura
RDBMS vs. OLAP Server: Examinando de cerca
Metodología de desarrollo de soluciones analíticas
2
© 2010, Universidad Central de Venezuela. Sistemas de Información.
3. Objetivos de Aprendizaje
Al finalizar este capitulo, usted estará en capacidad de:
• Los conceptos básicos de OLAP
• Entender los aspectos relacionados al desarrollo de
soluciones analíticas basadas en OLAP (Online
Analitycal Processing)
• La arquitectura y módulos de las soluciones analíticas
• emplear metodologías de desarrollo de estándares de
la industria de BI
3
© 2010, Universidad Central de Venezuela. Sistemas de Información.
4. Introducción
Origen y definición
¿Qué es OLAP?
Características de las Soluciones
Analíticas
4
© 2010, Universidad Central de Venezuela. Sistemas de Información.
5. ¿Qué es OLAP?
Definición:
“OLAP es un enfoque para proveer rápidamente
respuestas a consultas analíticas que son de
naturaleza multidimensional” [Codd, E.F. et al
(1993)]
Nuestra Definición:
“OLAP es una pieza del rompecabezas de inteligencia
de negocio que permite a los usuarios interactuar y
explorar data dimensionalmente.”
© 2010, Universidad Central de Venezuela. Sistemas de Información.
6. Arquitectura Conceptual Básica
Base de datos Analítica
ETL
Repos
ETL
Servidor OLAP
SQL
MDX
© 2010, Universidad Central de Venezuela. Sistemas de Información.
7. OLTP: Source Data (Data Origen)
OLTP = Online Transaction Processing
CRM, ERP, aplicaciones operacionales.
Data, sin refinar, bajo nivel de transacción, desgregada, 3ra Forma
Normal
OLTP ODS/Staging Data Warehouse OLAP
Database1 OLAP OLAP
Data
Server Client
ETL Warehouse
Staged
Database2 Extract
Systems
Files
Flat
Files
Users
© 2010, Universidad Central de Venezuela. Sistemas de Información.
8. ETL: Desde el Origen hacia el DW
ETL = Extract Transform Load (ie, the data “munching” application)
Kettle (Pentaho Data Integration), Perl, Informatica, custom code
Recolecta, relaciona, conforma, manages history
Multiple origenes ==> un solo repositorio
OLTP ODS/Staging Data Warehouse OLAP
Database1 OLAP OLAP
Data
Server Client
ETL Warehouse
Database2 Staged
Extract
Systems
Files
Flat
Files
Users
© 2010, Universidad Central de Venezuela. Sistemas de Información.
9. Staging: Cocina para hacer ETL
Staging = Area de trabajo(archivos, databases) para ETL
Archivos de texto en proceso, archivos comprimidos,
XML, scripts FTP
Área de procesamiento temporal transitoria
OLTP ODS/Staging Data Warehouse OLAP
Database1 OLAP OLAP
Data
Server Client
ETL Warehouse
Database2 Staged Systems
Extract
Files
Flat
Files
Users
© 2010, Universidad Central de Venezuela. Sistemas de Información.
10. ODS: La mejor data OLTP
ODS = operational data store (Almacen de datos operacional)
Almacenamiento centralizado de datos consumido por los DW asi como
tambien otros sistemas OLTP
3ra Forma Normal
OLTP ODS/Staging Data Warehouse OLAP
Database1 OLAP OLAP
Data
Server Client
ETL Warehouse
Database2 Staged Systems
Extract
Files
Flat
Files
Users
© 2010, Universidad Central de Venezuela. Sistemas de Información.
11. Data Warehouse
DW = Data Warehouse
Data Historica, localización centralizada de la organización de los
datos
3NF (complicado con fechas)
OLTP ODS/Staging Data Warehouse OLAP
Database1 OLAP OLAP
Data
Server Client
ETL Warehouse
Database2 Staged Systems
Extract
Files
Flat
Files
Users
© 2010, Universidad Central de Venezuela. Sistemas de Información.
12. OLAP Server: Agregado y Calculos
OLAP = Online Analytic Processing
Calculos analítocos agregados, sumarizados (Este Trim vs último Trim)
Masivamente desnormalizada
OLTP ODS/Staging Data Warehouse OLAP
Database1 OLAP OLAP
Data
Server Client
ETL Warehouse
Database2 Staged Systems
Extract
Files
Flat
Files
Users
© 2010, Universidad Central de Venezuela. Sistemas de Información.
13. Cliente OLAP : Aplicaciones para Usuarios
OLAP Client = Visualizador de Data
Tablas pivote, navegación, charts, drilling
Genera consultas, muestra los resultados
Intercambia metada (Nombres de Dimensiones) con el servidor OLAP
OLTP ODS/Staging Data Warehouse OLAP
Database1 OLAP OLAP
Data
Server Client
ETL Warehouse
Database2 Staged Systems
Extract
Files
Flat
Files
Users
© 2010, Universidad Central de Venezuela. Sistemas de Información.
14. Desde el DW al OLAP
Reducción de la brecha desde el DW (preparación de la data histórica) al OLAP
(resumiendo data)
La data necesita ser agregada[sum() by Year, Month, Department]
Necesidad de cálculos [YTD() totals by Department, Region]
Múltiples formas de abordar las brechas
OLTP ODS/Staging Data Warehouse OLAP
Database1 OLAP OLAP
Data
Server Client
ETL Warehouse
Database2 Staged Systems
Extract
Files
Flat
Files
Users
© 2010, Universidad Central de Venezuela. Sistemas de Información.
15. Desde el DW al OLAP: MOLAP
MOLAP = Multidimensional OLAP
Almacena la data del DW en un modelo multidimensional
Computariza y almacena los resultados
Requiere un periodo de actualización y almacenamiento adicional
SALES
DW Sales /Region/Product
100m / Order Line Items 8319.28/Western/XYZ
Periodic Refresh 838.81/Eastern/XYZ
10k / Product Lines
4 / Regions 8001/93/Western/ABC
Persistent
Storage
© 2010, Universidad Central de Venezuela. Sistemas de Información.
16. Desde el DW al OLAP: MOLAP
Ejemplos: Essbase, Microsoft Analysis Services, Cognos
Caracteristicas
Conjunto completo de entidades
Generalmente es mas rápido una vez que se ha construido el cubo
SALES
DW Sales /Region/Product
100m / Order Line Items 8319.28/Western/XYZ
Periodic Refresh 838.81/Eastern/XYZ
10k / Product Lines
4 / Regions 8001/93/Western/ABC
Persistent
Storage
© 2010, Universidad Central de Venezuela. Sistemas de Información.
17. Desde el DW al OLAP: ROLAP
ROLAP = Relational OLAP
Consultas a la basede datos (RDMS) para los resultados
Los datos son detallados, con algunas agregaciones
Ejemplos: Microstrategy, Oracle BI (Siebel Analytics)
DW
100m / Order Line Items SALES
10k / Product Lines Sales/Region/Product
4 / Regions 8319.28/Western/XYZ
Query for Data 838.81/Eastern/XYZ
Aggregate Tables 8001/93/Western/ABC
sales_region_product
sales_region
© 2010, Universidad Central de Venezuela. Sistemas de Información.
18. ROLAP: RDBMS y OLAP Server
RDBMS Provee: OLAP Server Provides:
Almacenamiento de data Vista dimensional de data
Ejecución de consultas SQL MDX parsing
Ordenamiento, correlación, y agregación Generación de SQL
a gran escala Caching
Punto de integración para las BI tools Alto nivel de calculos
Reconocimiento de agregados
DW
100m / Order Line Items SALES
10k / Product Lines Sales/Region/Product
4 / Regions 8319.28/Western/XYZ
Query for Data 838.81/Eastern/XYZ
Aggregate Tables 8001/93/Western/ABC
sales_region_product
sales_region
© 2010, Universidad Central de Venezuela. Sistemas de Información.
19. MOLAP vs ROLAP
ROLAP MOLAP
Ventajas Ventajas
Escala con RDMS Especializada == optimizada
Almacenamiento sencillo para Rapido(los resultados son simple
administración de datos lectura)
Usa el poder del RDMS para Compresion de data
ordenamiento Habilidad para “responder”
Solo resuelve lo que se necesita
desventajas
Desventajas Es de dificil escala
Slower on smaller (<10 GB?) datasets Desafio de intersecciones vacias
Requiere administración de agregados (esparcidas)
Pushes requirements Explosion de “espacio de solucion”
10k Products, 12 months, 4 regions
480k (all) + 40k (product by region)
+ 120k (product by month) + etc
© 2010, Universidad Central de Venezuela. Sistemas de Información.
20. MOLAP vs ROLAP
¿Cual es el mejor: MOLAP o ROLAP?
Depende de varios puntos:
El proyecto requiere “write back”?
¿Cual es la expectativa de volumen de data?
Cual es el costo de los constraint, el ROI requerido y limitaciones de
proveedor?
¿Cuál es la “latencia” de data tolerable? (¿Que tan actualizada debe
ser la data?)
Cuanto tiempo es permisible de carga de una ventana batch?
...
Entonces… ¿que es Mondrian?
© 2010, Universidad Central de Venezuela. Sistemas de Información.
21. Mondrian: A Java ROLAP Engine
• Java
– Platform neutral, object-oriented language for writing just about anything
– Runs on everything (Solaris, Linux, Windows, Cell Phones, ...)
• Engine
– Creaaa vistas “multidimensional” de data en una base de datos
• Persistently stores NONE of it; utiliza caches para mejorar el
performance
– Slightly different from a “Server”
• Engine indica esta enteramente almacenada y manejada externamente
• Debe estar contenido en un servidor de aplicaciones JEE o Java
application
• Standards and Technologies
– MDX, Java, JEE, XML, OLAP4J, XMLA, SQL, JDBC, JNDI
© 2010, Universidad Central de Venezuela. Sistemas de Información.
22. Mapeo Multidimensional dentro de la Base de datos
La base de datos puede ser “Star Schema” o “Snowflake”
Mondrian es configurado via un “schema” para mapear OLAP a Tablas
de DB
Mondrian traduce “OLAP” a “SQL”
De izquierda a derecha: Logical --> Physical
Data
MONDRIAN Warehouse
OLAP SQL
Query Queries
© 2010, Universidad Central de Venezuela. Sistemas de Información.
23. Arquitectura Física
XMLA clients
Deployed en application server Users
Tomcat o JBoss
JPivot Servlet
OLAP Client tipo web
J2EE Application Server
XMLA Servlet
JPivot servlet XML/A servlet
SOAP Interface
Cube
Mondrian
JDBC/JNDI Schema
XML
Usado para conexiones de DB cube cube cube
Schema XML JDBC JDBC JDBC
Mapea multidimensional, a archivos
fisicos o URL
RDBMS RDBMS
© 2010, Universidad Central de Venezuela. Sistemas de Información.
25. Connexión: Cliente a Mondrian
Cliente aMONDRIAN
Roles
Session (manejado por JPivot)
Seguridad (vertical y horizontal)
Por user/group
Data
MONDRIAN Warehouse
OLAP SQL
Query Queries
© 2010, Universidad Central de Venezuela. Sistemas de Información.
26. Connexión: Mondrian a Database
MONDRIAN a DATABASE
Connects via JDBC
JDBC Requires: URL / Driver / User / Password
jdbc:mysql://localhost/sales_mart, com.mysql.jdbc.Driver, olap, pass
Data
MONDRIAN Warehouse
OLAP SQL
Query Queries
© 2010, Universidad Central de Venezuela. Sistemas de Información.
27. Ciclo de Vida de Solicitud
Paso 1: El Cliente inicia una consulta MDX
Paso 2: Mondrian la traduce dentro mapeo físico
Paso3: Se Chequea caches (Memoria + Tablas Agg) para los valores solicitados
Paso 4: Desarrolla 0..N consultas a la DB (select sum() group by year, month)
Paso 5: Ejecuta cálculos OLAP, retorna al cliente
Data
MONDRIAN Warehouse
1 4
OLAP 2 3 SQL
Query Queries
5
© 2010, Universidad Central de Venezuela. Sistemas de Información.
28. Ciclo de vida de data: Vida de una transacción de
ventas
Paso 1: Se genera una orden en el sistema de de ventas
Paso 2: El ETL colecta la data dentro del staging área
Paso 3: cargada dentro del Warehouse
Paso 4 (opcional): Pre calculos dentro de Agregados
Paso 5: Entregar los datos agregados a los usuarios
1
OLTP ODS/Staging Data Warehouse OLAP
5
2
Database1 OLAP OLAP
3 Data
Server Client
ETL Warehouse
Database2 Staged Systems
Extract 4
Files
Flat
Files
Users
© 2010, Universidad Central de Venezuela. Sistemas de Información.
29. Conclusiones Conclusiones
• Hemos realizado un estudio de …..
• Hemos hecho una discusión sobre….
• Se han desarrollado demostraciones de
29
© 2010, Universidad Central de Venezuela. Sistemas de Información.