Unidad 3 tsbd olap

921 views
866 views

Published on

Published in: Education, Technology, Travel
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
921
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Unidad 3 tsbd olap

  1. 1. 3.- OLAP OLAP es el acrónimo en inglés de procesamiento analítico en línea (On-LineAnalytical Processing). Es una solución utilizada en el campo de la llamada Inteligenciaempresarial (o Business Intelligence) cuyo objetivo es agilizar la consulta de grandescantidades de datos. Para ello utiliza estructuras multidimensionales (o Cubos OLAP)que contienen datos resumidos de grandes Bases de datos o Sistemas Transaccionales(OLTP). Se usa en informes de negocios de ventas, marketing, informes de dirección,minería de datos y áreas similares. La razón de usar OLAP para las consultas es la velocidad de respuesta. Una basede datos relacional almacena entidades en tablas discretas si han sido normalizadas. Estaestructura es buena en un sistema OLTP pero para las complejas consultas multitabla esrelativamente lenta. Un modelo mejor para búsquedas, aunque peor desde el punto devista operativo, es una base de datos multidimensional. La principal característica que potencia a OLAP, es que es lo más rápido a lahora de ejecutar sentencias SQL de tipo SELECT, en contraposición con OLTP que esla mejor opción para operaciones de tipo INSERT, UPDATE Y DELETE. Funcionalidad En la base de cualquier sistema OLAP se encuentra el concepto de cubo OLAP(también llamado cubo multidimensional o hipercubo). Se compone de hechosnuméricos llamados medidas que se clasifican por dimensiones. El cubo de metadatoses típicamente creado a partir de un esquema en estrella o copo de nieve, esquema de lastablas en una base de datos relacional. Las medidas se obtienen de los registros de unatabla de hechos y las dimensiones se derivan de la dimensión de los cuadros. Tipos de sistemas OLAP Tradicionalmente, los sistemas OLAP se clasifican según las siguientescategorías: • ROLAP Implementación OLAP que almacena los datos en un motor relacional.Típicamente, los datos son detallados, evitando las agregaciones y las tablas seencuentran normalizadas. Los esquemas más comunes sobre los que se trabaja sonestrella ó copo de nieve, aunque es posible trabajar sobre cualquier base de datosrelacional. La arquitectura está compuesta por un servidor de banco de datos relacionaly el motor OLAP se encuentra en un servidor dedicado. La principal ventaja de estaarquitectura es que permite el análisis de una enorme cantidad de datos. • MOLAP
  2. 2. Esta implementación OLAP almacena los datos en una base de datosmultidimensional. Para optimizar los tiempos de respuesta, el resumen de lainformación es usualmente calculado por adelantado. Estos valores precalculados oagregaciones son la base de las ganancias de desempeño de este sistema. Algunossistemas utilizan técnicas de compresión de datos para disminuir el espacio dealmacenamiento en disco debido a los valores precalculados. • HOLAP (Hybrid OLAP) Almacena algunos datos en un motor relacional y otros en una base de datosmultidimensional. Comparación Cada sistema OLAP tiene ciertos beneficios (aunque existe desacuerdo acerca delas características específicas de los beneficios entre los proveedores). Algunas implementaciones MOLAP son propensas a la "explosión" de la basede datos; este fenómeno provoca la necesidad de grandes cantidades de espacio dealmacenamiento para el uso de una base de datos MOLAP cuando se dan ciertascondiciones: elevado número de dimensiones, resultados precalculados y escasos datosmultidimensionales. Las técnicas habituales de atenuación de la explosión de la base dedatos no son todo lo eficientes que sería deseable. Por lo general MOLAP ofrece mejor rendimiento debido a la especializadaindexación y a las optimizaciones de almacenamiento. MOLAP también necesita menosespacio de almacenamiento en comparación con los especializados ROLAP porque sualmacenamiento especializado normalmente incluye técnicas de compresión. ROLAP es generalmente más escalable. Sin embargo, el gran volumen dereprocesamiento es difícil de implementar eficientemente por lo que con frecuencia seomiten; por tanto, el rendimiento de una consulta ROLAP puede verse afectado. Desde la aparición de ROLAP van apareciendo nuevas versiones de bases dedatos preparadas para realizar cálculos, las funciones especializadas que se puedenutilizar tienen máas limitaciones. HOLAP (OLAP Híbrido) engloba un conjunto de técnicas que tratan decombinar MOLAP y ROLAP de la mejor forma posible. Generalmente puede pre-procesar rápidamente, escala bien, y proporciona una buena función de apoyo. 3.1 Procesamiento Analítico en Línea En un almacén de datos, a diferencia de un OLTP, se realizan operaciones deprocesamiento analítico en línea (“OLAP - On-Line Analytical Processing”), cuyaoperación consiste principalmente de consultas sobre grandes volúmenes de datos y de
  3. 3. proveer una interfaz en línea que ofrece reportes y gráficos. El procesamiento analíticoen línea es una tecnología que permite a los analistas y administradores visualizar ynavegar los datos accediendo a una amplia variedad de vistas posibles de la informaciónde manera interactiva, rápida y eficiente. Como parte de los servicios de explotación de una arquitectura de análisis deinformación, los datos tienen que ser modelados multidimensionalmente para satisfacerlos requerimientos de desempeño de este tipo de consultas en línea. En este curso sehace una diferencia entre el concepto de almacén de datos y los modelos de datosmultidimensionales o cubos puesto que en la arquitectura propuesta los cubos segeneran a partir de datos que ya se encuentran en el almacén de datos, creandoredundancia en algunos casos pero ofreciendo al usuario la posibilidad de hacerconsultas al almacén de datos sin necesidad de conocer sobre cubos y su manipulación.Otra opción arquitectural es que los cubos estén almacenados en un repositorio de datosseparado denominado un servidor de procesamiento analítico en línea y el almacén dedatos incluya los datos de detalle almacenados en forma de tablas. En las siguientes secciones se describirán los conceptos sobre cubos, servidoresde procesamiento analítico en línea y la visualización y navegación interactiva demodelos dimensionales. Modelos multidimensionales Los modelos de datos multidimensionales se han estudiado exhaustivamente, enesta sección se mencionarán las definiciones más importantes para estar en contexto. Un modelo de datos es una representación de los datos y sus relaciones con otrosdatos que se utiliza para conocer como se organizarán los datos en bases de datos u otromedio de almacenaje y administración de datos. Por ejemplo en el modelo de datosentidad relación (ER) uno puede conceptualizar cada entidad de datos, sus atributos ysus relaciones. En la figura 4.2.1 se tiene un modelo o diagrama ER de un sistemaoperacional para registro de pagos de impuestos de autos.
  4. 4. Ejemplo de diagrama ER Esquemas relacionales para modelado multidimensional Un modelo de datos multidimensional o cubo es una colección de medidas lascuales dependen de un conjunto de dimensiones, es una representación de los datos quepermite organizarlos en la forma de hechos, dimensiones y agregados, los hechoscontienen medidas, es decir, la información a nivel transacción que vamos a analizar,por ejemplo: compras, ventas, prestamos, etc. Las dimensiones contienen informacióndescriptiva de esas transacciones por ejemplo: fecha, cliente, producto, etc. Un modelomultidimensional se utiliza para el análisis de información. Los conceptos de dimensión y hechos La figura muestra el concepto de modelo multidimensional del tema “compras”; a la izquierda se muestran datos
  5. 5. transaccionales fuente de ejemplo, a la derecha y abajo se tiene un diagrama de cubodonde hay 2 medidas a analizar: la cantidad y el costo, esos atributos o camposformaran la tabla de hechos del cubo, y se analizarán por 3 dimensiones: La dimensión “producto” que contiene los atributos del producto que se compró.La dimensión “proveedor” que contiene los atributos del proveedor a quien se lecompró ese producto y finalmente la dimensión “tiempo” que contiene la fecha en laque se realizó esa transacción de compra. Se tienen diferentes esquemas relacionales para hacer el modeladomultidimensional, a continuación se describe cada uno de ellos. Esquemas para representar modelos multidimensionales a) Modelo o esquema de estrella (“star schema”) tradicional: El esquema de estrella es una técnica de modelado de datos usada para hacercorresponder un modelo multidimensional a una base de datos relacional, debe sunombre debido a que gráficamente parece una estrella. El esquema de estrella tienecuatro componentes: hechos, dimensiones, atributos y jerarquías de atributos. Loshechos y dimensiones son representados por tablas físicas en el almacén de datos, latabla de hechos está relacionada a cada dimensión en una relación uno a muchos. Lastablas de hechos y dimensiones están relacionadas por llaves foráneas y están sujetas alas restricciones de las llaves foráneas y primarias.
  6. 6. Modelo de estrella con 3 dimensiones y una tabla de hechos Para calcular el total de compras realizadas a proveedores de Internet el esquemade estrella tendría que realizar estos pasos: 1. De la dimensión Proveedor, seleccionar todos los proveedores donde el canales Internet. 2. De la tabla de hechos, seleccionar y calcular la suma de todas las cantidades ycostos de las transacciones de compra a los proveedores del paso 1. b) Modelo de copo de nieve (“snow flake schema”) El esquema de copo de nieve es una variación de la estrella tradicional, lo que sehace es que en cada dimensión se almacenan jerarquías de atributos o bien simplementese separan atributos en otra entidad por razones de desempeño y mejor utilización delespacio. En la figura 4.2.5 la dimensión producto se ha modificado separando sus datosgenerales de sus otras características. Modelo de copo de nieve b) Modelo de constelaciones El modelo de constelaciones nuevamente es una variación del esquema deestrella tradicional, en este modelo algunos atributos de las dimensiones se separan
  7. 7. formando una nueva entidad que puede ser compartida con otros cubos, es decir puedenser dimensiones de otros cubos (ver la figura 4.2.6). La utilidad principal de este modeloes que al tener dimensiones que puede ser compartidas por diferentes cubos se tendrá unmejor uso del espacio de almacenamiento evitando la redundancia. Esquema de constelaciones Operaciones con cubos Una vez que se tienen los cubos se puede realizar diferentes operaciones sobreellos para visualizar y analizar la información, las operaciones son: a) Generalizar y especializar, o como en la bibliografía se conoce: abstracción yconcreción. (generalizar y especializar). b) Corte y corte de cubos (“Slice & Dice”). c) Filtrar d) Pivotear Estas operaciones se realizan sobre los cubos (“cubing”) y generan comoresultados sub-cubos llamados “cuboides”. La especialización y la generalización son operaciones que sirven para navegarun cubo sobre sus dimensiones. Las dimensiones que ofrecen diferentes niveles deabstracción podrán ser navegables, por ejemplo supongamos que tenemos la dimensióntiempo que tiene los nivel de abstracción año, semestre, mes, semana y día, unaoperación de especialización nos permitirá interactivamente visualizar los hechos desdeel agregado total por año e ir descendiendo hasta el detalle por día, la operacióngeneralizar permitirá lo contrario desde cualquier nivel podrá generalizar a un nivelsuperior por ejemplo de semana a mes. En resumen las operaciones especializar ygeneralizar realizan el proceso siguiente: Detalle z GENERALIZACION r Alto nivel - generalizar
  8. 8. Alto nivel ESPECIALIZACION C Detalle - especializar Operaciones sobre cubos: especializar y generalizar Las operaciones de corte y corte de cubo sirven para ver subconjuntos de cubos,es más, se dice que como resultado generan “subcubos” o “cuboides”. La operación“corte” como la palabra lo indica es una operación que genera una rebanada del cubo,por ejemplo, si de una dimensión tiempo de un cubo únicamente tomamos el mes de“Marzo” y dejamos ver el resto de las dimensiones entonces tendremos la rebanada ocorte que corresponde al mes de “Marzo”. Si además de eso condicionamos ladimensión “proveedor”, seleccionando el proveedor “X” de un cubo de “compras”,entonces estaremos obteniendo un “subcubo”, este último es el resultado de unaoperación de corte de cubo. 3.1.1 Servidores de Procesamiento Analítico en Línea El servidor de procesamiento analítico en línea permite definir y navegar unmodelo multidimensional. El servidor de procesamiento analítico en línea es unadministrador de base de datos especializado en el almacenamiento de cubos y enresponder de manera optima a las operaciones sobre ellos. El servidor de procesamientoanalítico en línea puede ser implementado sobre un DBMS relacional (RDBMS), encuyo caso se denomina servidor de procesamiento analítico en línea relacional (servidorROLAP). Este servidor de procesamiento analítico en línea almacena los cubos entablas relacionales y las operaciones sobre ellos se realizan con SQL o con un SQLextendido para manejar cubos. Además el RDBMS proporciona lagunasfuncionalidades para implementar tanto los cubos como las operaciones sobre ellos, porejemplo: las vistas materializadas o los índices “bitmap”. Cuando se utiliza un servidorespecializado para almacenar modelos de datos multidimensionales el servidor seconoce como servidor de procesamiento analítico en línea multidimensional (“Servidor
  9. 9. MOLAP”), el cual almacena los datos multidimensionales directamente en estructurasde datos especiales (arreglos) e implementa las operaciones de procesamiento analíticoen línea sobre esas estructuras. Existe también un tipo híbrido de procesamiento analítico llamado servidor deprocesamiento analítico en línea híbrido (HOLAP) que implementa las ventajas deROLAP y MOLAP utilizando cubos en MOLAP y cuando se quiere ir al detalle de lainformación utiliza la que se encuentran en tablas de relaciones. En cualquiera de los tres casos es necesario almacenar tres tipos de datos: datosde tabla de hechos (las transacciones), los agregados y las dimensiones. En un servidor ROLAP cada fila en una tabla de hechos tiene una columna paracada dimensión y medida. Las bases de datos MOLAP almacenan los datos de hechosen un formato multidimensional, pero si hay muchas dimensiones, estos datos estarándispersos y el formato multidimensional no tendrá buen desempeño. Un sistemaHOLAP resuelve este problema dejando los datos de mayor granularidad en la base dedatos relacional, pero almacena los datos en un formato multidimensional. 3.1.2 Utilización de las Herramientas OLAP Se dice que las herramientas de procesamiento analítico en línea son denaturaleza reactiva puesto que el trabajador de conocimiento o analista la utilizará paraver lo que ha pasado e identificará indicadores que le permitan corregir el rumbo, porejemplo, si al darse cuenta que la tendencia ha sido comprar en “internet”probablemente debería revisar si está recibiendo los descuentos que podría obtener enlibrerías o valdría la pena revisar cuanto está pagando por gastos de envío para saber sirealmente está ahorrando. El procesamiento analítico en línea nos ofrece reportes y gráficos interactivosque si tuvieran que hacer a partir de las fuentes operacionales seria un proceso complejode integración de datos que generaría resultados de poca precisión y por lo tanto pocaconfiabilidad, además de que se invertiría mucho tiempo en completar la construcciónde los reportes, tiempo que sería más valioso si se empleara para analizar y tomardecisiones. 3.2 Oracle OLAP Las herramientas de generación de informes y consultas adhoc generalmente sedespliegan utilizando datawarehouses y herramientas basadas en SQL, mientras queaplicaciones más sofisticadas de análisis y planificación se despliegan utilizando otrasbases de datos y herramientas.
  10. 10. Esta separación entre data warehouses y bases de datos analíticas es, sinembargo, costosa. El coste de mantenimiento de bases de datos separadas suponerecursos adicionales hardware y administradores. Oracle elimina estas barreras proporcionando una base de datos preparada parael análisis. Oracle OLAP, parte de la base de datos Oracle, proporciona la funcionalidadanalítica de una base de datos especializada a la vez que elimina la necesidad degestionar bases de datos separadas. Oracle cambia el planteamiento tradicional ofreciendo una base de datosintegrada relacional-multidimensional. Oracle RDBMS-MDDS elimina la decisiónentre gestionabilidad y rendimiento-poder analítico. Oracle simplifica el proceso yreduce el coste de mantenimiento de los datos, a la vez que se mantiene la habilidad dehacer complejas consultas analíticas y proporciona un rendimiento excelente. Arquitectura con base de datos Oracle integrada. Oracle OLAP es parte de una plataforma integrada de data warehousing ybusiness intelligence que contiene funcionalidad ETL, OLAP y data mining en la basede datos. Hay muchos beneficios derivados de tener una base de datos RDBMS-MDDScompletamente integrada en comparación con bases de datos multidimensionales yseparados: • Gestión más simple • Alta disponibilidad • Seguridad mejorada • Acceso abierto desde clientes SQL y OLAP API • Ciclo de información reducido • Mayor fiabilidad de la información La base de datos relacional-multidimensional Oracle se compone de trestecnologías: • La tecnología relacional gestiona los objetos de base de datos y proporciona una interfaz SQL a los datos. • La tecnología de objetos permite a la base de datos gestionar datos no relacionales
  11. 11. • La tecnología OLAP proporciona funcionalidad analítica avanzada en el contexto de un modelo multidimensional. Componentes Oracle Database OLAP SQL puede acceder a datos multidimensionales a través de funciones de tabla ovistas relacionales. Usando aplicaciones PL/SQL, SQL pueden interactuar directamentecon el motor multidimensional. Todas las tecnologías — relacional, objetos y OLAP — están contenidas en unsolo proceso; la base de datos se trata como una sola instancia integrada. Como la tecnología OLAP es parte de un solo proceso de base de datos,proporciona la misma escalabilidad y fiabilidad que el proceso de base de datos Oracle. En Oracle todos los datos — relacional y multidimensional — se almacenan enlos ficheros de datos Oracle. No hay ficheros multidimensionales separados quedebamos gestionar. Los tipos de datos relacional y multidimensional pueden coexistiren los mismos ficheros de datos. Los datos multidimensionales se almacenan en la basede datos en lo que se llaman analytic workspaces. Oracle OLAP esta basado en un modelo de datos multidimensional,. Éste sepresenta como un modelo lógico a través de las OLAP API y OLAP DML. MODELO LÓGICO EN LA OLAP API El modelo multidimensional proporciona algunos beneficios al usuario de lasaplicaciones analíticas. Los más importantes son: o Es fácilmente entendible por los usuarios no expertos o Proporciona el contexto para la selección de datos
  12. 12. o Simplifica el proceso de definición de cáluclos hasta que usuarios no expertos pueden usar el lenguaje de cálculo. El modelo multidimensional lógico se presenta a través de las OLAP API yOLAP DML con los siguientes elementos: • Medidas • Dimensiones • Niveles • Jerarquías • Atributos Una medida representa hechos. Ventas en euros y ventas unitarias son ejemplosde medidas. Una medida es análoga a una columna de hechos en una tabla de hechos,pero el catálogo OLAP proporciona meta datos más completos para describirlo. Lasdimensiones proporcionan la estructura a los datos organizándolos en niveles yjerarquías, y proporcionándoles atributos. Algunos ejemplos de dimensiones sonProducto, Geografía, Tiempo, etc. Como los analytic workspaces almacenan datos, se necesita un modelo físico debase de datos para organizarlos datos. Oracle OLAP usa un modelo multidimensionalcomo base para el modelo físico en los analytic workspaces. Este modelo proporcionabeneficios importantes: o El modelo fuerza la integridad referencial. Por ejemplo, no es posible que las medidas contengan claves que no referencien valores válidos en una dimensión. o El modelo favorece la consistencia de datos al facilitar la reutilización de dimensiones con múltiples medidas. o El orden de los miembros de las dimensiones se mantiene. Esto simplifica los cálculos como por ejemplo el análisis de series temporales. Cuando el orden de los miembros de las dimensiones se mantiene, las funciones pueden usar la posición de un miembro de una dimensión, por lo que se simplifica la definición de los cálculos y se reduce la necesidad de atributos dimensionales. o Toda la base de datos se presenta como precalculada, sin tener en cuenta si los datos se han precalculado o se calculan en tiempo ejecución. Las aplicaciones no necesitan especificar reglas de agregación o joins cuando consultan la base de datos. Las aplicaciones SQL no se preocupan de cómo los datos están precalculados, simplemente consultan los datos.
  13. 13. Oracle OLAP representa un cambio fundamental en la tecnología OLAP. Lasbases de datos relacionales y multidimensionales se han unido para proporcionarcapacidades analíticas propias de una base de datos multidimensional en el contexto dela base de datos Oracle. Todas estas ventajas se obtienen a la vez que se mantiene la potencia de unservidor OLAP dedicado. Oracle OLAP proporciona un conjunto de funcionesanalíticas a través de la OLAP API, un motor multidimensional y un lenguaje demanipulación de datos OLAP. El resultado es un sistema de menor coste, más seguro yfiable, que da soporte a aplicaciones analíticas, de consulta y de generación de informes. 3.3 Ejercicio con OLAP Para realizar la practica de OLAP utilizaremos el software Pentaho lo primeroque realizaremos será. Descargaremos un archivo desde internet llamandopentaho_demo_mysql Ya que trabajaremos con la base de datos de la unidad pasada. Elarchivo descargado es una carpeta comprimida en la que vienen todos los archivosnecesarios para que el portal funcione, lo único que hay que hacer es descomprimir elarchivo en el lugar en que mejor nos parezca. Una vez descomprimida la carpeta, se debe establecer la contraseña depublicación en el portal. Esto se hace entrando en el archivo C:ProgramFilespentaho_demo_mysql5-1.6.0.GA.863pentaho-demopentaho-solutionssystempublisher_config.xml. Y escribir la contraseña en medio de lasetiquetas como se muestra en la figura.
  14. 14. Este password se usara en el momento de publicar el cubo en el portal dePentaho. Una vez realizado descomprimimos la carpeta proporcionada por la profesora ysimplemente extraemos los archivos esta es una carpeta comprimida que no necesitaproceso de instalación sino que solo es necesario descomprimirla en el lugar que unoprefiera. En este caso se hizo en c:Program Files Nota: Antes de empezar, el servicio de la base de datos debe estar activo. Lo primero que debe hacerse es subir el portal de Pentaho, lo que se hacecorriendo el archivo start-pentaho.bat que está en la carpeta descomprimida.
  15. 15. Una vez esté listo Pentaho, se inicia el cube designer dando doble click sobra elicono de la carpeta que descomprimimos anteriormente. El primer paso es especificar el origen de los datos, dándole un nombre,seleccionando el driver, según el motor que se esté usando, en este caso es mySql, y elusuario y el password que se usara en la conexión.
  16. 16. El siguiente paso es seleccionar los campos de la base de datos que serán usadosen el cubo. Arrastrando las tablas que aparecen en la parte inferior izquierda ypalomeando los atributos de cada tabla deseada. A continuación, seleccionaremos el campo de la base de datos que contiene launidad de medida que va a ser analizada en el cubo:
  17. 17. Seguido de esto viene la creación de las dimensiones del cubo:Seleccionando el campo, y dando clic en "Add new dimension".
  18. 18. Por último, podemos ver el código del cubo en XML, publicarlo en el portal, yfinalmente, verlo: Al momento de publicarlo, nos pide un usuario y un password del portal, elusuario del portal el Joe, y la contraseña es "password". La contraseña de publicaciónfue la misma que se configuro en el archivo XML, en este caso es 123456.
  19. 19. Si es exitosa la publicación debe salir: Ahora si podemos entrar a ver el cubo en el portal de Pentaho, para entrar,ingresamos por el browser a http://localhost:8080/ y elegimos cualquiera de los usuariospredeterminados, por ejemplo Joe:
  20. 20. Y se ingresa en Navigate/Soluciones.Una vez allí entramos en Ejemplos de Análisis:
  21. 21. Y buscamos el cubo por el nombre que le pusimos en el primer paso del CubeDesigner. Una vez ingresemos veremos la página del cubo, en donde podemosmanipular las dimensiones y los gráficos como mejor nos parezca para analizar lainformación de la base de datos: El software cuenta con diferentes herramientas que nos mostraran lainformación de manera mas ordenada y grafica de acuerdo a nuestras necesidades pararealizar nuestras presentaciones de información con esto finalizamos la unidad numero3 utilizando la herramienta Penthao que trabaja en conjunto con el programa OLAP parael diseño de cubos de información.

×