inteligencia de negocio - arquitecturas de soluciones analíticas
TRANSCRIPT
Sistemas de Información
UNIVERSIDAD CENTRAL DE VENEZUELAFACULTAD DE CIENCIAS
ESCUELA DE COMPUTACION
´
Tema 6: Inteligencia de Negocio. Arquitectura de Soluciones
Analíticas
1Prof. Wilfredo Rangel
IntroducciónOrigen y DefiniciónSoluciones Analíticas¿Qué es OLAP?Características de las Soluciones analíticas
Agenda
© 2010, Universidad Central de Venezuela. Sistemas de Información.
2
Características de las Soluciones analíticasComparando tipos de solucionesVisión general de las soluciones analíticasArquitectura conceptual básicaComponentes de la arquitecturaRDBMS vs. OLAP Server: Examinando de cercaMetodología de desarrollo de soluciones analíticas
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
© 2010, Universidad Central de Venezuela. Sistemas de Información.
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
IntroducciónOrigen y definición¿Qué es OLAP?Características de las Soluciones
Analíticas
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Analíticas
4
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)]
¿Qué es OLAP?
© 2010, Universidad Central de Venezuela. Sistemas de Información.
(1993)]Nuestra Definición:
“OLAP es una pieza del rompecabezas de inteligencia de negocio que permite a los usuarios interactuar y explorar data dimensionalmente.”
Arquitectura Conceptual Básica
Base de datos Analítica
ETLETLETLETLETLETLETLETLReposReposReposReposReposReposReposRepos
© 2010, Universidad Central de Venezuela. Sistemas de Información.
ETL
SQL
MDX
Servidor OLAP
ETLETLETLETLETLETLETLETLReposReposReposReposReposReposReposRepos
OLTP = Online Transaction ProcessingCRM, ERP, aplicaciones operacionales.Data, sin refinar, bajo nivel de transacción, desgregada, 3ra FormaNormal
OLTP: Source Data (Data Origen)
OLTP OLAPODS/Staging Data Warehouse
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Database1
Users
StagedExtractFiles
Database2
FlatFiles
OLAP ClientData
WarehouseSystems
OLAPServer
ETL
ETL = Extract Transform Load (ie, the data “munching” application)Kettle (Pentaho Data Integration), Perl, Informatica, custom codeRecolecta, relaciona, conforma, manages historyMultiple origenes ==> un solo repositorio
ETL: Desde el Origen hacia el DW
OLTP OLAPODS/Staging Data Warehouse
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Database1
Users
StagedExtractFiles
Database2
FlatFiles
OLAP ClientData
WarehouseSystems
OLAPServer
ETL
Staging = Area de trabajo(archivos, databases) para ETLArchivos de texto en proceso, archivos comprimidos,XML, scripts FTPÁrea de procesamiento temporal transitoria
Staging: Cocina para hacer ETL
OLTP OLAPODS/Staging Data Warehouse
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Database1
Users
StagedExtractFiles
Database2
FlatFiles
OLAP ClientData
WarehouseSystems
OLAPServer
ETL
ODS = operational data store (Almacen de datos operacional)Almacenamiento centralizado de datos consumido por los DW asi comotambien otros sistemas OLTP3ra Forma Normal
ODS: La mejor data OLTP
OLTP OLAPODS/Staging Data Warehouse
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Database1
Users
StagedExtractFiles
Database2
FlatFiles
OLAP ClientData
WarehouseSystems
OLAPServer
ETL
DW = Data WarehouseData Historica, localización centralizada de la organización de losdatos3NF (complicado con fechas)
Data Warehouse
OLTP OLAPODS/Staging Data Warehouse
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Database1
Users
StagedExtractFiles
Database2
FlatFiles
OLAP ClientData
WarehouseSystems
OLAPServer
ETL
OLAP = Online Analytic ProcessingCalculos analítocos agregados, sumarizados (Este Trim vs último Trim)Masivamente desnormalizada
OLAP Server: Agregado y Calculos
OLTP OLAPODS/Staging Data Warehouse
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Database1
Users
StagedExtractFiles
Database2
FlatFiles
OLAP ClientData
WarehouseSystems
OLAPServer
ETL
OLAP Client = Visualizador de DataTablas pivote, navegación, charts, drillingGenera consultas, muestra los resultadosIntercambia metada (Nombres de Dimensiones) con el servidor OLAP
Cliente OLAP : Aplicaciones para Usuarios
OLTP OLAPODS/Staging Data Warehouse
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Database1
Users
StagedExtractFiles
Database2
FlatFiles
OLAP ClientData
WarehouseSystems
OLAPServer
ETL
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
Desde el DW al OLAP
OLTP OLAPODS/Staging Data Warehouse
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Database1
Users
StagedExtractFiles
Database2
FlatFiles
OLAP ClientData
WarehouseSystems
OLAPServer
ETL
MOLAP = Multidimensional OLAPAlmacena la data del DW en un modelo multidimensional
Computariza y almacena los resultadosRequiere un periodo de actualización y almacenamiento adicional
Desde el DW al OLAP: MOLAP
© 2010, Universidad Central de Venezuela. Sistemas de Información.
DW100m / Order Line Items
10k / Product Lines4 / Regions
Periodic Refresh
SALESSales /Region/Product8319.28/Western/XYZ838.81/Eastern/XYZ
8001/93/Western/ABC
PersistentStorage
Ejemplos: Essbase, Microsoft Analysis Services, CognosCaracteristicas
Conjunto completo de entidadesGeneralmente es mas rápido una vez que se ha construido el cubo
Desde el DW al OLAP: MOLAP
© 2010, Universidad Central de Venezuela. Sistemas de Información.
DW100m / Order Line Items
10k / Product Lines4 / Regions
Periodic Refresh
SALESSales /Region/Product8319.28/Western/XYZ838.81/Eastern/XYZ
8001/93/Western/ABC
PersistentStorage
ROLAP = Relational OLAPConsultas a la basede datos (RDMS) para los resultados
Los datos son detallados, con algunas agregacionesEjemplos: Microstrategy, Oracle BI (Siebel Analytics)
Desde el DW al OLAP: ROLAP
© 2010, Universidad Central de Venezuela. Sistemas de Información.
DW100m / Order Line Items
10k / Product Lines4 / Regions
Aggregate Tablessales_region_product
sales_region
Query for Data
SALESSales/Region/Product8319.28/Western/XYZ838.81/Eastern/XYZ
8001/93/Western/ABC
RDBMS Provee:Almacenamiento de dataEjecución de consultas SQLOrdenamiento, correlación, y agregacióna gran escalaPunto de integración para las BI tools
ROLAP: RDBMS y OLAP Server
OLAP Server Provides:Vista dimensional de dataMDX parsingGeneración de SQLCachingAlto nivel de calculosReconocimiento de agregados
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Reconocimiento de agregados
DW100m / Order Line Items
10k / Product Lines4 / Regions
Aggregate Tablessales_region_product
sales_region
Query for Data
SALESSales/Region/Product8319.28/Western/XYZ838.81/Eastern/XYZ
8001/93/Western/ABC
ROLAP MOLAP
Ventajas
Escala con RDMS
Almacenamiento sencillo para administración de datos
Usa el poder del RDMS para ordenamiento
Ventajas
Especializada == optimizada
Rapido(los resultados son simple lectura)
Compresion de data
MOLAP vs ROLAP
© 2010, Universidad Central de Venezuela. Sistemas de Información.
ordenamiento
Solo resuelve lo que se necesita
Desventajas
Slower on smaller (<10 GB?) datasets
Requiere administración de agregados
Pushes requirements
Habilidad para “responder”
desventajas
Es de dificil escala
Desafio de intersecciones vacias(esparcidas)
Explosion de “espacio de solucion”
10k Products, 12 months, 4 regions
480k (all) + 40k (product by region) + 120k (product by month) + etc
¿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 deproveedor?
MOLAP vs ROLAP
© 2010, Universidad Central de Venezuela. Sistemas de Información.
proveedor?¿Cuál es la “latencia” de data tolerable? (¿Que tan actualizada debeser la data?)Cuanto tiempo es permisible de carga de una ventana batch?...
Entonces… ¿que es Mondrian?
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
© 2010, Universidad Central de Venezuela. Sistemas de Información.
• Persistently stores NONE of it; utiliza caches para mejorar elperformance
– 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
La base de datos puede ser “Star Schema” o “Snowflake”Mondrian es configurado via un “schema” para mapear OLAP a Tablasde DBMondrian traduce “OLAP” a “SQL”De izquierda a derecha: Logical --> Physical
Mapeo Multidimensional dentro de la Base de datos
Data
© 2010, Universidad Central de Venezuela. Sistemas de Información.
MONDRIAN
OLAPQuery
Data Warehouse
SQLQueries
Deployed en application serverTomcat o JBoss
JPivot ServletOLAP Client tipo web
XMLA ServletSOAP Interface
JDBC/JNDI
Arquitectura Física
Cube
J2EE Application Server
JPivot servlet XML/A servlet
XMLA clientsUsers
© 2010, Universidad Central de Venezuela. Sistemas de Información.
JDBC/JNDIUsado para conexiones de DB
Schema XMLMapea multidimensional, a archivosfisicos o URL
Cube Schema
XML
Mondrian
JDBC
RDBMS
cube cube cube
RDBMS
JDBC JDBC
Arquitectura Física
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Cliente aMONDRIANRolesSession (manejado por JPivot)Seguridad (vertical y horizontal)Por user/group
Connexión: Cliente a Mondrian
Data
© 2010, Universidad Central de Venezuela. Sistemas de Información.
MONDRIAN
OLAPQuery
Data Warehouse
SQLQueries
MONDRIAN a DATABASEConnects via JDBCJDBC Requires: URL / Driver / User / Password
jdbc:mysql://localhost/sales_mart, com.mysql.jdbc.Driver, olap, pass
Connexión: Mondrian a Database
Data
© 2010, Universidad Central de Venezuela. Sistemas de Información.
MONDRIAN
OLAPQuery
Data Warehouse
SQLQueries
Data
Paso 1: El Cliente inicia una consulta MDXPaso 2: Mondrian la traduce dentro mapeo físicoPaso3: Se Chequea caches (Memoria + Tablas Agg) para los valores solicitadosPaso 4: Desarrolla 0..N consultas a la DB (select sum() group by year, month)Paso 5: Ejecuta cálculos OLAP, retorna al cliente
Ciclo de Vida de Solicitud
© 2010, Universidad Central de Venezuela. Sistemas de Información.
MONDRIAN
OLAPQuery
Data Warehouse
SQLQueries
12 3
4
5
1
OLTP OLAPODS/Staging Data Warehouse
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 usuarios1
© 2010, Universidad Central de Venezuela. Sistemas de Información.
Database1
Users
StagedExtractFiles
Database2
FlatFiles
OLAP ClientData
WarehouseSystems
OLAPServer
OLTP OLAP
ETL
ODS/Staging Data Warehouse1
2
3
4
5
Conclusiones
• Hemos realizado un estudio de …..
• Hemos hecho una discusión sobre….
• Se han desarrollado demostraciones de
Conclusiones
© 2010, Universidad Central de Venezuela. Sistemas de Información.
29