Download (OnLine Analytical Processing) - Bases de Datos

Document related concepts

OLAP wikipedia , lookup

Cubo OLAP wikipedia , lookup

Esquema en copo de nieve wikipedia , lookup

Data mart wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Transcript
OLAP
(OnLine Analytical Processing)
I.S.C. Zoraya Catalina Flores Juárez
Bases de Datos
Otoño, 2012.
OLAP(OnLine Analytical Processing)
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.
ISC. Zoraya C. Flores Juárez
Página 2
OLAP(OnLine Analytical Processing)
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.
ISC. Zoraya C. Flores Juárez
Página 3
OLAP(OnLine Analytical Processing)
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.
ISC. Zoraya C. Flores Juárez
Página 4
OLAP(OnLine Analytical Processing)

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.
ISC. Zoraya C. Flores Juárez
Página 5
OLAP(OnLine Analytical Processing)
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
ISC. Zoraya C. Flores Juárez
Página 6
OLAP(OnLine Analytical Processing)
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
ISC. Zoraya C. Flores Juárez
Página 7
OLAP(OnLine Analytical Processing)
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
ISC. Zoraya C. Flores Juárez
Página 8
OLAP(OnLine Analytical Processing)
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.
ISC. Zoraya C. Flores Juárez
Página 9
OLAP(OnLine Analytical Processing)
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.
ISC. Zoraya C. Flores Juárez
Página 10
OLAP(OnLine Analytical Processing)

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:
ISC. Zoraya C. Flores Juárez
Página 11
OLAP(OnLine Analytical Processing)
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.
ISC. Zoraya C. Flores Juárez
Página 12
OLAP(OnLine Analytical Processing)

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.
ISC. Zoraya C. Flores Juárez
Página 13
OLAP(OnLine Analytical Processing)
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
ISC. Zoraya C. Flores Juárez
Página 14