OLAP - Bases de Datos - Otoño 2012 · PDF fileOLAP(OnLine Analytical Processing) ISC....

14
OLAP (OnLine Analytical Processing) I.S.C. Zoraya Catalina Flores Juárez Bases de Datos Otoño, 2012.

Transcript of OLAP - Bases de Datos - Otoño 2012 · PDF fileOLAP(OnLine Analytical Processing) ISC....

OLAP

(OnLine Analytical Processing)

I.S.C. Zoraya Catalina Flores Juárez Bases de Datos Otoño, 2012.

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 2

Introducción. Las empresas han comenzado a aprovechar los cada vez más numerosos datos en línea para tomar mejores decisiones sobre sus actividades, como por ejemplo los artículos que deben tener en inventario y el modo de dirigirse mejor a los clientes para aumentar las ventas. Las grandes empresas tienen varios orígenes de datos que necesitan utilizar para adoptar decisiones empresariales. Los orígenes pueden almacenar los datos según diferentes esquemas. Por motivos de rendimiento (así como por motivos de control de la organización) los orígenes de datos no suelen permitir que otras partes de la empresa recuperen datos a petición. Para ejecutar de manera eficiente las consultas sobre datos tan diferentes las empresas han creado almacenes de datos (Date Warehouse). Los almacenes de datos reúnen los datos de varios orígenes bajo un esquema unificado en un solo sitio. Por tanto, ofrecen al usuario una sola interfaz uniforme para los datos. El área de procesamiento analítico en línea (Online Analytical Processing, OLAP) trata de las herramientas y de las técnicas para el análisis de los datos que pueden dar respuestas casi instantáneas a las consultas que soliciten datos resumidos, aunque la cantidad de datos sea extremadamente grande.

Antecedentes. El término OLAP fue introducido en Agosto de 1993 por el Dr. E.F. Codd y apoyado por Arbor Software Corporation, compañía que creó ESSBASE que fue una de las primeras herramientas OLAP que aparecen en el mercado, adquirida luego por Hyperion Software. Según la definición que le dio Codd, OLAP es un tipo de procesamiento de datos que se caracteriza, entre otras cosas, por permitir el análisis multidimensional.

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 3

OLAP (On Line Analytical Processing) Es una solución utilizada en el campo de la llamada Inteligencia empresarial (o Business Intelligence) cuyo objetivo es agilizar la consulta de grandes cantidades 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.

Tipos de OLAP MOLAP (Multidimensional OnLine Analytical Processing) Dedicado a implementaciones de procesamiento analítico en línea que no dependen de bases de datos relacionales. Aunque los sistemas MOLAP no escalan con el tamaño que los sistemas de bases de datos relacionales pueden, por lo general ofrecen un mejor rendimiento y más estrechamente herramientas integradas que sus contrapartes relacionales. Imagen 1.

Ventajas

Permite generar consultas rápidas debido a la optimización del rendimiento de

almacenamiento, la indexación multidimensional y la memoria caché.

Ocupa menor tamaño en disco en comparación con los datos almacenados en base de datos

relacional debido a técnicas de compresión.

Automatización del procesamiento de los datos agregados de mayor nivel.

Muy compacto para conjuntos de datos de pocas dimensiones.

Eficaz extracción de datos lograda gracias a la pre-estructuración de los datos agregados.

Desventajas

La etapa de procesamiento (carga de datos) puede ser bastante larga, sobre todo para

grandes volúmenes de datos.

Algunas herramientas MOLAP tienen dificultades para actualizar y consultar los modelos con

hasta cierto número de dimensiones. Este límite varía en función de la complejidad y la

cardinalidad de las dimensiones de que se trate. También depende de la cantidad de hechos o

medidas almacenados. Otras herramientas MOLAP (por ejemplo, Microsoft Análisis

Services o Applix TM1) puede manejar cientos de dimensiones.

El enfoque MOLAP introduce redundancia en los datos.

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 4

ROLAP (Procesamiento Analítico OnLine Relacional).

Es una forma de procesamiento analítico en línea (OLAP) que realiza un análisis dinámico

multidimensional de los datos almacenados en una base de datos relacional en lugar de en una

base de datos multidimensional, como se muestra en la imagen 1.

En este tipo de procesamiento el usuario envía una solicitud de análisis multidimensional y el

motor ROLAP convierte la solicitud a SQL para su presentación a la base de datos. A continuación,

la operación se realiza a la inversa: el motor convierte los datos resultantes de SQL a un formato

multidimensional antes de que se devuelve al cliente para su visualización.

Ventajas.

La construcción de herramientas OLAP sobre sistemas relacionales presenta algunas ventajas

frente a los sistemas multidimensionales:

ROLAP se considera más escalable para manejar grandes volúmenes de datos, especialmente

modelos con dimensiones de gran cardinalidad (por ejemplo, con millones de miembros).

Hay disponible una gran variedad de herramientas de carga de datos para sistemas

relacionales; además, existe la posibilidad de ajustar el código ETL(Extract, Transform, Load) a

un modelo de datos particular. Con todo esto se consigue que los tiempos de carga sean

generalmente mucho menores que con las cargas MOLAP automatizadas.

Los datos se almacenan en una base de datos relacional estándar que puede ser accedida por

cualquier herramienta de generación de informes SQL. Estas herramientas no tienen que ser

necesariamente de tipo OLAP.

Desventajas.

Hay un consenso general en la industria de que las herramientas ROLAP tienen menor rendimiento

que las herramientas MOLAP.

El proceso de carga de tablas agregadas debe ser gestionado por código ETL personalizado.

Las herramientas ROLAP no disponen de mecanismos automáticos para realizar esta tarea, lo

que significa que se necesita más tiempo de desarrollo de código.

Muchos desarrolladores de modelos dimensionales ROLAP ignoran el paso de crear tablas

agregadas. En este caso el rendimiento de una consulta se ve afectado porque entonces se

necesita consultar las tablas con datos más detallados.

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 5

Los sistemas ROLAP se construyen sobre bases de datos de propósito general, por lo que hay

algunas funcionalidades especiales propias de las herramientas MOLAP que no están

disponibles en los sistemas ROLAP (tales como el indexado jerárquico especial).

HOLAP (Hybrid OnLine Analytical Process)

Es la forma de Procesamiento Analítico que combina los atributos de MOLAP y ROLAP. En el caso

de HOLAP las agregaciones se almacenen en una estructura multidimensional y los datos a nivel

detalle se realiza el almacenamiento en una base de datos relacional (no tan rápido comparado

con MOLAP) como se muestra en la magen1.

Se recomienda este tipo de procesamiento en los siguientes casos:

Cubos que requieren rápida respuesta

Cuando existen sumarizaciones basadas en una gran cantidad de datos de origen.

Fig 1. Integración de un servidor OLAP y un SGBD relacional.

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 6

Esquemas de los almacenes de datos Los almacenes de datos suelen tener esquemas diseñados para el análisis de los datos y emplean herramientas como las herramientas OLAP. Por tanto, los datos suelen ser datos multidimensionales, con atributos de dimensión y atributos de medida. Tabla de Hechos.

Una tabla de hecho es la tabla principal en un modelo dimensional donde se almacena las medidas

de rendimiento numéricos de la empresa, como se ilustra en la figura. 2.

Usamos el término hecho para representar una medida de negocio. Podemos imaginarnos en un

plaza viendo los productos vendidos y anotando la cantidad de vendida y el monto de la venta en

dólares en cada día de cada producto de la tienda. La medida se toma de la intersección de todas

las dimensiones (día, producto y tienda). Esta lista de dimensiones define la granularidad de la

tabla de hechos y el alcance de la medida que tiene.

Figura 2. Tabla de Hechos

Tabla de Dimensiones Las tablas de dimensiones son compañeros integrales de una tabla de hechos. Las tablas de dimensiones contienen las descripciones textuales de los negocios, como se ilustra en la figura 3. En un modelo dimensional bien diseñado, las tablas de dimensiones tienen muchas columnas o atributos. Estos atributos describen las columnas en la tabla de dimensiones. Nos esforzamos por incluir tantas descripciones significativas como sea posible. No es raro para una tabla de dimensiones para tener de 50 a 100 atributos. Las tablas de dimensiones tienden a ser relativamente poco profunda en términos del número de filas (a menudo mucho menos de 1 millón de filas), pero son anchas con muchas columnas grandes. Cada dimensión es definida por su sola clave primaria, designado por la notación PK en la Figura 3 que sirve como la base para la integridad referencial con cualquier tabla de hechos dada a la que está unida.

Los atributos de dimensión juegan un papel vital en el almacén de datos. Ya que son la fuente de

prácticamente todas las restricciones interesantes y etiquetas de informes, que son clave para que

el almacén de datos sea utilizable y comprensible. En muchos sentidos, el almacén de datos es

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 7

sólo tan bueno como los atributos de dimensión. El poder del almacén de datos es directamente

proporcional a la calidad y la profundidad de los atributos de dimensión.

Figura 2. Tabla de Dimensión

Ejemplo de las tablas dimensionales y hechos en un informe sencillo

Fig. 4. Ejemplo de las tablas dimensionales y hechos en un informe sencillo

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 8

Modelos de un Data Warehouse

Modelo Estrella

Consta de una tabla de hechos central y de varias tablas de dimensiones relacionadas a esta, a través de sus respectivas claves.

Este modelo debe estar totalmente desnormalizado, es por ello que por ejemplo, la tabla de dimensión “PRODUCTOS” contiene los campos “Rubro”, “Tipo” y “NombreProducto”. Si se normaliza esta tabla, se obtendrá el siguiente resultado.

Cuando se normaliza, se pretende eliminar la redundancia, la repetición de datos y que las claves sean independientes de las columnas, pero en este tipo de modelos se requiere no evitar precisamente esto.

Las ventajas que trae el proceso de desnormalizar, son las de obviar uniones (Join) entre las tablas cuando se realizan consultas, procurando así un mejor tiempo de respuesta y una mayor sencillez con respecto a su utilización. El punto en contra, es que se genera un cierto grado de redundancia, pero el ahorro de espacio no es significativo.

El esquema en estrella es el más simple de interpretar y optimiza los tiempos de respuesta ante las consultas de los usuarios. Este modelo es soportado por casi todas las herramientas de consulta y

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 9

análisis, y los metadatos son fáciles de documentar y mantener, sin embargo es el menos robusto para la carga y es el más lento de construir.

Ventajas:

Posee los mejores tiempos de respuesta. Su diseño es fácilmente modificable. Existe paralelismo entre su diseño y la forma en que los usuarios visualizan y manipulan

los datos. Simplifica el análisis. Facilita la interacción con herramientas de consulta y análisis.

Modelo Copo de Nieve

Este modelo consta una tabla de hechos central que está relacionada con una o más tablas de dimensiones, quienes a su vez pueden estar relacionadas o no con una o más tablas de dimensiones.

Este modelo es más cercano a un modelo de entidad relación, que al modelo en estrella, debido a que sus tablas de dimensiones están normalizadas.

Una de los motivos principales de utilizar este tipo de modelo, es la posibilidad de segregar los datos de las tablas de dimensiones y proveer un esquema que sustente los requerimientos de diseño. Otra razón es que es muy flexible y puede implementarse después de que se haya desarrollado un esquema en estrella.

Ventajas.

Posee mayor complejidad en su estructura.

Hace una mejor utilización del espacio.

Es muy útil en tablas de dimensiones de muchas tuplas.

Las tablas de dimensiones están normalizadas, por lo que requiere menos esfuerzo de diseño.

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 10

Desventajas.

Si se poseen múltiples tablas de dimensiones, cada una de ellas con varias jerarquías, se creará un número de tablas bastante considerable, que pueden llegar al punto de ser inmanejables.

Al existir muchas uniones y relaciones entre tablas, el desempeño puede verse reducido.

La existencia de las diferentes jerarquías de dimensiones debe estar bien fundamentada, ya que de otro modo las consultas demorarán más tiempo en devolver los resultados, debido a que se deben realizar las uniones entre las tablas.

Modelo Constelación

Este modelo está compuesto por una serie de esquemas en estrella, está formado por una tabla de hechos principal (“HECHOS_A”) y por una o más tablas de hechos auxiliares (“HECHOS_B”), las cuales pueden ser sumarizaciones de la principal. Dichas tablas yacen en el centro del modelo y están relacionadas con sus respectivas tablas de dimensiones.

No es necesario que las diferentes tablas de hechos compartan las mismas tablas de dimensiones, ya que, las tablas de hechos auxiliares pueden vincularse con solo algunas de las tablas de dimensiones asignadas a la tabla de hechos principal, y también pueden hacerlo con nuevas tablas de dimensiones.

Características

Permite tener más de una tabla de hechos, por lo cual se podrán analizar más aspectos claves del negocio con un mínimo esfuerzo adicional de diseño.

Contribuye a la reutilización de las tablas de dimensiones, ya que una misma tabla de dimensión puede utilizarse para varias tablas de hechos.

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 11

No es soportado por todas las herramientas de consulta y análisis

Jerarquías

Representa una relación lógica entre dos o más atributos pertenecientes a un cubo multidimensional; siempre y cuando posean su correspondiente relación “padre-hijo”.

Las jerarquías poseen las siguientes características:

Pueden existir varias en un mismo cubo.

Están compuestas por dos o más niveles.

Se tiene una relación “1-n” o “padre-hijo” entre atributos consecutivos de un nivel superior y uno inferior.

La principal ventaja de manejar jerarquías, reside en poder analizar los datos desde su nivel más general al más detallado y viceversa, al desplazarse por los diferentes niveles.

Operaciones

El manejo de jerarquías en los cubos de datos permite realizar operaciones que facilitan el análisis

de la información. Las operaciones que pueden realizarse son:

Slice(Corte). Es el acto de elegir un subconjunto de un cubo rectangular eligiendo un único

valor para una de sus dimensiones, la creación de un nuevo cubo con una dimensión

menos. Ejemplo:

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 12

Las cifras de ventas de todas las regiones de ventas y todas las categorías de productos de la

empresa en el año 2004 se han "cortado" del cubo de datos.

Dice. Esta operación produce un subcubo que permite al analista tomar valores específicos de

múltiples dimensiones. Ejemplo de un corte en anillos:

El nuevo cubo muestra las cifras de venta de un número limitado de categorías de productos,

las dimensiones de tiempo y región cubrir el mismo rango que antes.

Drill Down / Up. Permite al usuario navegar entre los niveles de datos que van desde el más

resumido (arriba) hasta los más detallados (abajo).

El analista pasa de la categoría de resumen "Outdoor-Schutzausrüstung" para ver las cifras de

ventas de los productos individuales.

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 13

Roll-up. Resume los datos a lo largo de una dimensión. La regla sumarización podría calcular

los totales a lo largo de una jerarquía o una aplicación de un conjunto de fórmulas como

"ganancia = ventas - gastos".

Pivot. Permite al analista rotar el cubo en el espacio para ver sus caras distintas. Por ejemplo,

las ciudades podrían estar dispuestas verticalmente y horizontalmente productos mientras ve

los datos de un trimestre determinado. Pivoteando podría reemplazar productos con períodos

de tiempo para ver los datos a través del tiempo para un solo producto.

OLAP(OnLine Analytical Processing)

ISC. Zoraya C. Flores Juárez Página 14

Bibliografía. Kimball Ralph, Ross Margy, The Data Warehouse Toolkit 2da. Edición, The Complete Guide to Dimensional Modeling, John Wiley & Sons, Inc., 2002. Thomsen Erik, OLAP Solutions Building Multidimensional Information Systems 2da. Edición, The Complete Guide to Dimensional Modeling, John Wiley & Sons, Inc., 2002. Silberschatz Abraham, F. Korth Henry, Sudarshan S., Fundamentos de Bases de Datos 4ta. Edición, Mc. Graw. Hill, 2002. Date, C. J., Introducción a los sistemas de bases de datos., Prentice Hall, 2001. http://www.dssresources.com/glossary/olaptrms.html http://searchsqlserver.techtarget.com/definition/MOLAP http://www.dataprix.com/datawarehouse-manager http://en.wikipedia.org/wiki/OLAP_cube#Hierarchy http://es.wikipedia.org/wiki/Cubo_OLAP