DataWarehouse UNIVERSIDADES ANDALUZAS Y CONSEJERÍA DE EDUCACIÓN Y CIENCIA DE LA JUNTA DE ANDALUCÍA Sistemas OLAP INDICE INDICE ................................................................................................................................................ 2 SISTEMAS OLAP................................................................................................................................ 3 Sistemas MOLAP ................................................................................................................................ 4 Sistemas ROLAP ................................................................................................................................ 5 Sistemas HOLAP ................................................................................................................................ 6 ROLAP vs. MOLAP (Comparativa) ..................................................................................................... 7 MicroStrategy vs. Discoverer (Comparativa) .................................................................................... 10 SISTEMAS OLAP La explotación de sistemas DataWarehouse a través de datos obtenidos directamente de sistemas transaccionales, OLTP (On-line Transaction Processing), se basa fundamental y básicamente en estructuras agrupadas o información previamente pre-calculada y procesada. La información reportada está compuesta y gestionada desde conceptos basados en datos agregados y coeficientes de gestión, que los cuadros directivos de la organización pueden definir y consultar según las dimensiones de negocio que se definan o el área a la que pertenezca. Implementar un sistema de business intelligence significa encontrar el punto de equilibrio entre dos extremos: implementación independiente de las unidades de la organización y la arquitectura de almacenamiento de datos definida por los IT departamentales. Por un lado los IT departamentales deben aceptar que el hecho de que ellos no puedan suministrar las visiones del usuario final con la premura requerida sin incorporar tecnología OLAP. Por otro lado los directivos deben aprender a reconocer el valor de tener un ‘repositorio común’ del que leer todos los indicadores y toda la terminología que cruza todos los datos de todos los departamentos. Únicamente un DataWarehouse puede proveer esta consistencia. La información es gestionada y procesada en grandes bloques organizativos, como puede ser la estructura geográfica o académica, llamados dimensiones. Dichas dimensiones de negocio se estructuran a su vez en distintos niveles de detalle (por ejemplo, la dimensión geográfica puede constar de los niveles país, comunidad autónoma, provincia, población y código postal). Este tipo de sistemas ha existido desde hace tiempo, en el mundo de la informática, bajo distintas denominaciones: cuadros de mando, MIS, EIS, etc. Aunque su implementación, al margen del entorno DataWarehouse, puede repercutir sobre estos sistemas en una mayor rigidez, dificultad de actualización y mantenimiento, tiempos de respuesta inaceptables, incoherencias de la información, falta del dato agregado, etc. Los sistemas de soporte a la decisión usando tecnologías de DataWarehouse, se llaman sistemas OLAP (On Line Analytical Processing). En general, estos sistemas OLAP deben: • Soportar requerimientos complejos de análisis • Analizar datos desde diferentes perspectivas • Soportar análisis complejos contra un volumen ingente de datos La principal características de los sistemas OLAP es que son entornos especialmente diseñados para la ejecución de análisis multidimensionales de los datos corporativos, que soportan amigablemente los análisis de cualquier usuario así como las posibilidades de navegación, seleccionando la información a obtener, permitiendo el análisis de datos segmentados y que permiten ir reduciendo el conjunto de datos reportados. Este tipo de selecciones se refleja en la visualización de la estructura multidimensional, mediante unos campos de selección que nos permitan elegir el nivel de agregación (jerarquía) de la dimensión, y/o la elección de un dato en concreto, pudiendo con ello realizar, entre otras, las acciones de rotar, bajar atributos, navegar, expandir o colapsar los datos mostrados. Sistemas MOLAP La arquitectura de sistemas MOLAP se fundamenta, para proporcionar el análisis, en bases de datos multidimensionales. Su principal premisa es que se trata del entorno OLAP mejor implantado y adaptado para el almacenamiento y gestión de datos multidimensionalmente. Por el contrario, la arquitectura y gestión de entornos ROLAP presupone que las capacidades OLAP están perfectamente implantadas y reflejadas sobre bases de datos relacionales. Un sistema MOLAP usa una base de datos multidimensional, en la que la información se almacena multidimensionalmente, para ser visualizada multidimensionalmente (valga la redundancia). El sistema MOLAP utiliza una arquitectura de dos niveles: La bases de datos multidimensionales y el motor analítico. • La base de datos multidimensional es la encargada del manejo, acceso y obtención del dato. • El nivel de aplicación es el responsable de la ejecución de los requerimientos OLAP. El nivel de presentación se integra con el de aplicación y proporciona un interfaz a través del cual los usuarios finales visualizan los análisis OLAP. Una arquitectura cliente/servidor permite a varios usuarios acceder a la misma base de datos multidimensional. La información procedente de los sistemas transaccionales, se carga en el sistema MOLAP, mediante una serie de rutinas o procedimientos batch. Una vez cargado el dato elemental en la Base de Datos multidimensional (MDDB), se realizan una serie de cálculos en batch, para obtener los datos agregados, a través de las dimensiones de negocio, rellenando la estructura MDDB y generando los cubos multidimensionales que darán cobertura a los informes implementados en el nivel de aplicación. Tras cargar esta estructura, se generan unos índices y algoritmos de tablas hash para mejorar los tiempos de acceso a las consultas. Una vez que el proceso de compilación ha finalizado, la MDDB está lista para su uso. Los usuarios solicitan informes a través del interface, y la lógica de aplicación de la MDDB obtiene el dato. La arquitectura MOLAP requiere unos cálculos intensivos de compilación. Lee de datos precompilados, y tiene capacidades limitadas de crear agregaciones dinámicamente o de hallar ratios que no se hayan precalculados y almacenados previamente. Sistemas ROLAP En una arquitectura ROLAP, el sistema accede directamente a los datos almacenados en un DataWarehouse para proporcionar los análisis OLAP solicitados. La premisa de estos sistemas es que las capacidades OLAP se soportan mejor contra las bases de datos relacionales, más que tenerlas directamente implementadas en la base de datos (como en entornos MOLAP). La esencia de estos entornos es las acciones de filtrado y agregación es equivalente a la inclusión de una cláusula “WHERE" en una sentencia SQL. El sistema ROLAP utiliza una arquitectura de tres niveles. La base de datos relacional maneja los requerimientos de almacenamiento de datos, y el motor ROLAP proporciona la funcionalidad analítica. • El nivel de base de datos usa bases de datos relacionales para el manejo, acceso y obtención del dato. • El nivel de aplicación es el motor que ejecuta las consultas multidimensionales de los usuarios. • El motor ROLAP se integra con niveles de presentación, a través de los cuales los usuarios realizan los análisis OLAP. Después de que el modelo de datos para el DataWarehouse se ha definido, los datos se cargan desde el sistema transaccional. Se ejecutan rutinas de bases de datos para agregar el dato, si así es requerido por los modelos de datos. Se crean entonces los índices para optimizar los tiempos de acceso a las consultas. Los usuarios finales ejecutan sus análisis multidimensionales, a través del motor ROLAP, que transforma dinámicamente sus consultas a consultas SQL. Se ejecutan estas consultas SQL en las bases de datos relacionales, y sus resultados se relacionan mediante tablas cruzadas y conjuntos multidimensionales para devolver los resultados a los usuarios. La arquitectura ROLAP es capaz de usar datos precalculados si estos están disponibles, o de generar dinámicamente los resultados desde los datos elementales si es preciso. Esta arquitectura accede directamente a los datos del DataWarehouse, y soporta técnicas de optimización de accesos para acelerar las consultas. Estas optimizaciones son, entre otras, particionado de los datos a nivel de aplicación, soporte a la desnormalización y múltiples joins entre tablas. Sistemas HOLAP OLAP Hibrido (HOLAP) se refiere a tecnologías que combinan MOLAP y ROLAP. La tecnología HOLAP intenta combinar las ventajas de MOLAP y ROLAP implementando tecnologías basadas en cubos para obtener rendimientos lo más rápidos posible y cuando se necesita detalle de la información, HOLAP puede realizar "drill through" desde los cubos a la capa de datos relacional ROLAP vs. MOLAP (Comparativa) Cuando se comparan las dos arquitecturas, se pueden realizar las siguientes observaciones: • El ROLAP delega la negociación entre tiempo de respuesta y el proceso batch al diseño del sistema. Mientras el MOLAP suele requerir que sus bases de datos se precompilen para conseguir un rendimiento aceptable en las consultas, incrementando, por tanto los requerimientos batch. • Los sistemas con alta volatilidad de los datos (aquellos en los que cambian las reglas de agregación y consolidación), requieren una arquitectura que pueda realizar esta consolidación ad-hoc. Los sistemas ROLAP soportan bien esta consolidación dinámica, mientras que los MOLAP están más orientados hacia consolidaciones batch. • Los ROLAP soportan análisis OLAP contra grandes volúmenes de datos elementales, mientras que los MOLAP se comportan razonablemente en volúmenes de datos controlados. El volumen de datos con los que se trabaja son los que están implementados en el cubo de análisis, mientras que en los entornos ROLAP en todo momento se dispone de la totalidad de la base de datos. • Los entorno MOLAP almacenan los datos en estructuras con formato de matrices multidimensionales, mientras que los ROLAP gestionan la información mediante metadatos que mapean esquemas de base de datos, en estrella, en vistas multidimensionales. • Igual que las organizaciones usan variedad de herramientas, para el trabajo cotidiano, pueden ser requeridos diferentes tipos de herramientas OLAP dependiendo del nivel o área de análisis. Entornos de planificación tales como ‘forecasting’, análisis financieros y localización de recursos pueden requerir entornos MDDB. Mientras entornos de análisis de ventas o campañas de marketing que requieren datos con millones de continuos cambios, tanto de productos como de clientes o atributos requieren entornos ROLAP. • El rendimiento puede ser mas lento, pues cada informe ROLAP, fundamentalmente, es una sentencia SQL (o múltiples sentencias SQL) en la base de datos relacional, por lo que el tiempo de respuesta puede ser grande si la cantidad de datos a manejar es grande. En entornos MOLAP el rendimiento es excelente pues los cubos que dan respuesta a los informes están previamente generados y realizar las consultas de filtrado de manera inmediata. • En sistemas ROLAP las consultas están limitadas por el propio SQL, por lo que la resolución de informes mediante sentencias SQL puede ser de mayor o menor complejidad, esta limitación se ha intentado mitigar con la inclusión de funciones más o menos complejas o mediante ejecuciones multipaso. Se pueden realizar cálculos todo lo complejos que estimemos oportunos pues se pre-generan cuando se crea el cubo. Universidad Campus Centro Universidad Campus Centro A l u m n o P l a z a s Nº PAS TC Nº Doctores Notas Nº PDI ROLAP Matriculas Créditos MOLAP Alum. Tit. Plazas Matricula centro Asig. CCAA Colec. Campus Univ CCE Notas Créditos Hombre Mujer 100 100 400 350 50 65 90 98 100 110 320 295 400 430 120 125 100 105 Matriculas Universidad sexo Cádiz Sevilla Pablo Olavide Jaén Almería Málaga Granada Córdoba Huelva Créditos Un entorno MOLAP, como se aprecia en el dibujo anterior genera previamente los cubos multidimensionales que le permitirán los análisis que se estimen necesarios. Esto significa que p.e. al realizar análisis de créditos, matrícula o notas, por cualquier atributo organizativo (universidad, campus, centro) sobre un atributo característico del alumno (sexo, edad, provincia) el sistema accederá al primer cubo y resolverá la consulta agregando lo datos directamente de dicho cubo multidimensional: Universidad Campus Centro A l u m n o Como el dato está previamente agregado los tiempos de respuesta son prácticamente inmediatos. Un entorno ROLAP, como se aprecia en el dibujo anterior se basa directamente en esquemas en estrella típicos de bases de datos relacionales, esto significa que al realizar análisis de créditos, matrícula o notas, por cualquier atributo organizativo (universidad, campus, centro) sobre un atributo característico del alumno (sexo, edad, provincia) el sistema generará la sentencia SQL que de respuesta al informe solicitado: Alum. Universidad sexo Cádiz Sevilla Pablo Olavide Jaén Almería Málaga Granada Córdoba Huelva Créditos Hombre Mujer 100 100 400 350 50 65 90 98 100 110 320 295 400 430 120 125 100 105 Tit. Select Universidad,sexo, sum(creditos) From matriculas, alumno Where matricula.dni=alumno.dni group by Universidad, sexo Univ Campus Matricula CCAA Asig. centro Como la consulta se calcula y ejecuta en tiempo real el dato NO está previamente agregado y el tiempo de respuesta dependerá de la complejidad, volumen de datos y número de tablas involucradas en la consulta. Situación diferente nos encontramos cuando la consulta solicitada aglutina datos de áreas de análisis diferentes: Hombre Créditos Nº PDI 100 11 400 31 50 6 90 12 100 11 320 15 400 30 120 17 100 10 Universidad sexo Cádiz Sevilla Pablo Olavide Jaén Almería Málaga Granada Córdoba Huelva Mujer Créditos Nº PDI 100 10 400 35 50 7 90 14 100 10 320 16 400 34 120 15 100 10 Nº PAS TC Nº Doctores Nº PDI Notas Créditos Universidad Campus Centro Matriculas El entornos MOLAP, debe disponer de la información agregada en el cubo correspondiente: Universidad Campus Centro A l u m n o Nº PDI Créditos P l a z a s Universidad Sexo El entornos ROLAP, no se debe realizar ninguna modificación en el modelo de datos implementado, el motor de consultas de la herramienta resuelve la consulta directamente, mediante una resolución SQL: Alum. Tit. Univ Asig. Create table TT1 as Select Universidad, sexo, sum(dni) as PDI From Plazas, empleado Where matricula.dni= empleado.dni and tipo=’3’ group by Universidad, sexo Plazas Matricula CCAA Colec. Campus centro CCE Create table TT2 as Select Universidad, sexo, sum(creditos) as creditos From matriculas, alumno Where matricula.dni=alumno.dni group by Universidad, sexo Select Universidad, sexo, sexo, PDI, creditos From TT1, TT2 Where TT1.universidad = TT2.universidad and TT1.sexo = TT2.sexo group by Universidad, sexo MicroStrategy vs. Discoverer (Comparativa) MicroStrategy es un entorno fundamentalmente ROLAP, aunque en las últimas versiones han incorporado funcionalidades MOLAP utilizando los informes guardados en la caché a la hora de ejecutar un informe, es decir cualquiera de los informes que se ejecutan, mediante el sistema ROLAP, es guardado en forma de cubo multidimensional y se puede utilizar en consultas posteriores si la información a suministrar está incluida directamente en uno de estos cubos generados de forma dinámica en el transcurso del tiempo. Discoverer es un entorno que se podría considerar HOLAP puesto que en el momento de suministrar datos su filosofía es fundamentalmente MOLAP aunque se basa en un Gestor de Base de Datos Relacional, es decir desde el nivel de usuario el sistema el Multidimensional, por lo que cuando se solicita un informe se genera ‘dinámicamente’ el cubo dimensional con el que va a trabajar, este cubo se debe gestionar mediante una sentencia SQL, a semejanza de un entorno ROLAP, (esta es una diferencia con los entornos puramente MOLAP, en los que el cubo debe estar previamente generado). Esto permite generar informes con información dinámica pero tiene la limitación que el motor que genera las sentencias SQL se limita a proporcionar sentencias basadas en tablas previamente agregadas y que el cruce de datos con diferentes niveles de agregación dimensional deben ser previamente implementados en tablas independientes que unifique el espacio dimensional de análisis. Es decir se trata de un entorno con las ventajas y limitaciones de los dos sistemas. Nº PAS TC Nº Doctores Nº PDI Notas Matriculas Universidad Campus Centro Créditos Esto significa que al basarte en filosofía MOLAP, para dar soporte a la mayoría de los informes analíticos solicitados por los diferentes organismos externos, se requieren cruces de información entre áreas de gestión diversas, para lo que, como se ha visto anteriormente se deben generar cubos que agreguen dicha información y que en nuestro caso se han implementado tablas agregadas que dan dicha cobertura. Esto significa que es inviable generar la totalidad de cruces entre el conjunto de atributos de todos los Datamart con la totalidad de indicadores implementados, por lo que siempre pueden encontrarse cruces que en la actualidad no estén contemplados (aunque su inclusión en el sistema es sumamente sencilla y directa). Universidad Campus Centro A l u m n o Universidad Sexo Nº PDI Créditos P l a z a s Universidad sexo Cádiz Sevilla Pablo Olavide Jaén Almería Málaga Granada Córdoba Huelva Hombre Créditos Nº PDI 100 11 400 31 50 6 90 12 100 11 320 15 400 30 120 17 100 10 Mujer Créditos Nº PDI 100 10 400 35 50 7 90 14 100 10 320 16 400 34 120 15 100 10 Al tratarse de una herramienta MOLAP sobre un Gestor de Base de Datos Relacional nos encontramos con otra limitación adicional, se trata de la implementación dinámica de los cubos de análisis. Los atributos se administran en carpetas desde las cuales, en el interfase de usuario, se utilizan para su incorporación en los informes dinámicos, dado que la herramienta de análisis debería ser capaz de trabajar con cualquiera de los atributos de la dimensión incluida en el informe el motor de base de datos genera un SQL para obtener un cubo con todos los atributos incluidos en la carpeta de análisis independientemente de los atributos realmente utilizados en el informe, circunstancia que penaliza los tiempos de respuesta al generarse sentencias SQL sumamente complejas. Alumno Sexo Edad Provincia Pais Organización Universidad Centro Campus Docencia Titulación Asignatura Area Departamento Tipo Crédito Créditos Universidad sexo Tipo Crédito Cádiz Teóricos Prácticos Laboratorio Sevilla Teóricos Prácticos Laboratorio Hombre Mujer 100 400 100 100 400 100 200 1200 230 230 1400 310 Select sexo, edad, provincia, pais, universidad, centro, campus, titulación, asignatura, area, departamento, tipo credito, sum(creditos) From lk_alumno. lk_sexo, lk_provincia, lk_pais, lk_universidad, lk_centro, lk_campus, lk_departamento, lk_tipo_credito, dt_matriculas, Where dt_matriculas.dni=lk_alumno.dni and : : Group by sexo, edad, provincia, pais, universidad, centro, campus, titulación, asignatura, area, departamento, tipo credito Para solventar esta problemática se generan unas tablas desnormalizadas con todas la información plana, es decir con se trata de tablas de hechos con la incorporación de toda la información descriptiva de los atributos incluidos en la misma así como de todas las ramas jerárquicas de las que proceden. Con esta estrategia se dispone de tablas que incorporan toda la información analítica necesaria a partir de la cual poder generar las sentencias SQL que dan cobertura a los informes solicitados. Tras la introducción expuesta, las diferencias entre los dos entornos se pueden resumir en los siguientes puntos: • Si se trabaja y realizan informes sobre el mismo espacio dimensional y sobre la misma área de gestión, como puede ser Recursos Humanos, Discoverer suministra el mismo nivel de análisis que MicroStrategy, con el mejor rendimiento teórico y un mismo nivel de profundidad. • Al cruzar en un mismo informe datos, previamente tipificados, de ámbitos de análisis diferentes (como puede ser Recursos Humanos y Gestión Económica), tanto Discoverer como MicroStrategy suministraría el mismo nivel de análisis, con la diferencia de que Discoverer, al trabajar con tablas agregadas, proporcionaría un mayor rendimiento en los tiempos de respuesta que MicroStrategy. • Al cruzar en un mismo informe datos de ámbitos de análisis diferentes, sin que hayan sido previamente definidos, Discoverer no podría generar la sentencia SQL requerida para la resolución de dicho informe, y únicamente herramientas como MicroStrategy (herramientas que son capaces de generar sentencias SQL multipaso) sería capaz de resolver consultas de este estilo. Si se genera la tabla de agregación correspondiente y se registra en el entorno de análisis, Discoverer suministrará resultados inmediatamente.