Son bases de datos ideadas
para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se
diferencian demasiado de las bases de datos relacionales (una tabla en una base
de datos relacional podría serlo también en una base de datos
multidimensional), la diferencia está más bien a nivel conceptual; en las bases
de datos multidimensionales los campos o atributos de una tabla pueden ser de
dos tipos, o bien representan dimensiones de la tabla, o bien representan
métricas que se desean estudiar. es aquella que almacena sus datos con varias
dimensiones, es decir que en vez de un valor, encontramos varios dependiendo de
los "ejes" definidos o una base de datos de estructura basada en
dimensiones orientada a consultas complejas y alto rendimiento. Puede utilizar
un SGBDR en estrella (Base de datos Multidimensional a nivel lógico) o SGBDM
(Base de datos Multidimensional a niveles lógico y físico o Base de datos
Multidimensional Pura).
En una base de datos multidimensional, la información se representa como matrices multidimensionales, cuadros de múltiples entradas o funciones de varias variables sobre conjuntos finitos. Cada una de estas matrices se denomina cubo.
La estructura básica es un hipercubo compuesto por dos elementos: un conjunto de dimensiones y una función que mapea coordenadas formadas por valores de cada una de las dimensiones en tuplas o booleanos. Una dimensión es un nombre con un dominio asociado.
Los cubos de información o cubos OLAP funcionan como los cubos de rompecabezas en los juegos, en el juego se trata de armar los colores y en el data warehouse se trata de organizar los datos por tablas o relaciones; los primeros (el juego) tienen 3 dimensiones, los cubos OLAP tienen un número indefinido de dimensiones, razón por la cual también reciben el nombre de hipercubos.
Eso facilita el manejo de grandes cantidades de datos dentro de empresas, dándole a esto una amplia aplicación dentro de varias áreas y diferentes campos del conocimiento humano.
El uso de varias dimensiones es una forma de mostrar y a veces almacenar, datos muy útiles en sistemas con grandes cantidades de información. Las dimensiones son ejes de análisis o criterios de clasificación de la información que ofrecen un índice a los datos mediante una lista de valores. Por ejemplo son dimensiones de tiempo, geografía y producto.
En una base de datos multidimensional, la información se representa como matrices multidimensionales, cuadros de múltiples entradas o funciones de varias variables sobre conjuntos finitos. Cada una de estas matrices se denomina cubo.
La estructura básica es un hipercubo compuesto por dos elementos: un conjunto de dimensiones y una función que mapea coordenadas formadas por valores de cada una de las dimensiones en tuplas o booleanos. Una dimensión es un nombre con un dominio asociado.
Los cubos de información o cubos OLAP funcionan como los cubos de rompecabezas en los juegos, en el juego se trata de armar los colores y en el data warehouse se trata de organizar los datos por tablas o relaciones; los primeros (el juego) tienen 3 dimensiones, los cubos OLAP tienen un número indefinido de dimensiones, razón por la cual también reciben el nombre de hipercubos.
Eso facilita el manejo de grandes cantidades de datos dentro de empresas, dándole a esto una amplia aplicación dentro de varias áreas y diferentes campos del conocimiento humano.
El uso de varias dimensiones es una forma de mostrar y a veces almacenar, datos muy útiles en sistemas con grandes cantidades de información. Las dimensiones son ejes de análisis o criterios de clasificación de la información que ofrecen un índice a los datos mediante una lista de valores. Por ejemplo son dimensiones de tiempo, geografía y producto.
En el mundo de las soluciones para Business
Intelligence, una de las herramientas más utilizadas por las empresas son las
aplicaciones OLAP, ya que las misma han sido creadas en función a bases de
datos multidimensionales, que permiten
procesar grandes volúmenes de información, en campos bien definidos, y con un
acceso inmediato a los datos para su consulta y posterior análisis.
Como hemos mencionado en un artículo anterior, las herramientas OLAP proporcionan a las compañías un sistema confiable para procesar datos que luego serán utilizados para llevar a cabo análisis e informes que permitan mejorar las operaciones productivas, tomar decisiones inteligentes y optimizar la competitividad en el mercado.
Como hemos mencionado en un artículo anterior, las herramientas OLAP proporcionan a las compañías un sistema confiable para procesar datos que luego serán utilizados para llevar a cabo análisis e informes que permitan mejorar las operaciones productivas, tomar decisiones inteligentes y optimizar la competitividad en el mercado.
Para funcionar, las aplicaciones OLAP utilizan un tipo de base de datos que posee la peculiaridad de ser multidimensional, denominada comúnmente Cubo OLAP.
Básicamente, el Cubo OLAP, que acuña su nombre por su característica multidimensional, es una base de datos que posee diversas dimensiones, ampliando las posibilidades que hasta el momento ofrecían las conocidas hojas de cálculo.
Hasta la llegada del término Cubo OLAP, que nació de la mano de Edgar F. Codd, de la compañía EF Codd & Associates, sólo se utilizaban bases de datos relacionales para el proceso de la información, con sistemas tales como el ROLAP.
Gracias a la incorporación de las bases de datos de
tipo multidimensional, y el nacimiento del nuevo concepto Cubo OLAP, las
herramientas de soluciones para sistemas Business Intelligence han avanzado
notablemente en cuanto a las prestaciones que estas aplicaciones brindan a las
empresas, donde la información
confiable, precisa y en el momento oportuno, son uno de los bienes más
preciados.
Cabe destacar que los Cubos OLAP son vectores en los cuales se dispone la información, y gracias a esta ordenada jerarquía es posible llevar a cabo un análisis rápido de los datos.
Mediante la incorporación de estos vectores o cubos, se han ampliado las posibilidades de las bases de datos relacionales, permitiendo el procesamiento de importantes volúmenes de información, que de lo contrario sería imposible realizar.
Cada una de las dimensiones que posee la base de datos incorpora un campo determinado para un tipo de dato específico, que luego podrá ser comparado con la información contenida en el resto de dimensiones, para hacer posible la evaluación y posteriores informes de la información realmente relevante para una compañía.
Una base de datos multidimensional puede contener varios cubos o vectores que extenderán las posibilidades del sistema OLAP con el cual se trabaja.
Por ello, si bien en general los sistemas OLAP suelen estar compuestos por tres dimensiones, lo cierto es que existe la posibilidad de que el sistema OLAP albergue más de tres dimensiones mediante la utilización de estos Cubos OLAP.
A pesar de las grandes ventajas que presenta este tipo de base de datos multidimensional que incluye Cubos OLAP, la cual permite obtener mayor rapidez en las consultas y en el procesamiento de la información, lo cierto es que su gran falla reside en la imposibilidad de realizar cambios en su estructura.
Debido a su forma de funcionamiento y almacenamiento de la información, cuando los usuarios requieren realizar modificaciones en la estructura de este tipo de base de datos, deben rediseñar el Cubo OLAP, sin posibilidades de poder utilizar la estructura en la que se trabajó hasta el momento.
Para tener una idea más simple de la función de los Cubos OLAP dentro de una base de datos multidimensional, cabe destacar que cada una de las dimensiones o escalas del cubo corresponde básicamente a una jerarquía de datos.
Un ejemplo claro de ello podría ser el siguiente caso: dentro de una escala temporal para incluir datos determinados a un periodo de tiempo, que llevara el nombre de "Enero de 2009", seguramente incluirá un dimensión denominada "Primer Trimestre de 2009", la cual además incluirá otra dimensión llamada "Año 2009" y así sucesivamente, de acuerdo a las necesidades de cada empresa.
Asimismo, también pueden utilizarse otras dimensiones del cubo para recabar información referente a situaciones geográficas, clasificación de los productos por categorías, gastos realizados por la empresa, y demás.
Esta confluencia de la información permite llevar a cabo un análisis completo de diversas situaciones, para hallar las soluciones correctas a los problemas de los negocios.
Cabe destacar que los Cubos OLAP son vectores en los cuales se dispone la información, y gracias a esta ordenada jerarquía es posible llevar a cabo un análisis rápido de los datos.
Mediante la incorporación de estos vectores o cubos, se han ampliado las posibilidades de las bases de datos relacionales, permitiendo el procesamiento de importantes volúmenes de información, que de lo contrario sería imposible realizar.
Cada una de las dimensiones que posee la base de datos incorpora un campo determinado para un tipo de dato específico, que luego podrá ser comparado con la información contenida en el resto de dimensiones, para hacer posible la evaluación y posteriores informes de la información realmente relevante para una compañía.
Una base de datos multidimensional puede contener varios cubos o vectores que extenderán las posibilidades del sistema OLAP con el cual se trabaja.
Por ello, si bien en general los sistemas OLAP suelen estar compuestos por tres dimensiones, lo cierto es que existe la posibilidad de que el sistema OLAP albergue más de tres dimensiones mediante la utilización de estos Cubos OLAP.
A pesar de las grandes ventajas que presenta este tipo de base de datos multidimensional que incluye Cubos OLAP, la cual permite obtener mayor rapidez en las consultas y en el procesamiento de la información, lo cierto es que su gran falla reside en la imposibilidad de realizar cambios en su estructura.
Debido a su forma de funcionamiento y almacenamiento de la información, cuando los usuarios requieren realizar modificaciones en la estructura de este tipo de base de datos, deben rediseñar el Cubo OLAP, sin posibilidades de poder utilizar la estructura en la que se trabajó hasta el momento.
Para tener una idea más simple de la función de los Cubos OLAP dentro de una base de datos multidimensional, cabe destacar que cada una de las dimensiones o escalas del cubo corresponde básicamente a una jerarquía de datos.
Un ejemplo claro de ello podría ser el siguiente caso: dentro de una escala temporal para incluir datos determinados a un periodo de tiempo, que llevara el nombre de "Enero de 2009", seguramente incluirá un dimensión denominada "Primer Trimestre de 2009", la cual además incluirá otra dimensión llamada "Año 2009" y así sucesivamente, de acuerdo a las necesidades de cada empresa.
Asimismo, también pueden utilizarse otras dimensiones del cubo para recabar información referente a situaciones geográficas, clasificación de los productos por categorías, gastos realizados por la empresa, y demás.
Esta confluencia de la información permite llevar a cabo un análisis completo de diversas situaciones, para hallar las soluciones correctas a los problemas de los negocios.
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 hechos numéricos llamados medidas que se clasifican por
dimensiones. El cubo de metadatos es típicamente creado a partir de un esquema en estrella o copo de nieve, esquema de las tablas en
una base de datos relacional. Las medidas se obtienen de los registros de una
tabla de hechos y las dimensiones se derivan de la dimensión de los cuadros.
Tipos de sistemas OLAP
ROLAP
Implementación OLAP que almacena los datos en un motor relacional. Típicamente, los datos
son detallados, evitando las agregaciones y las tablas se encuentran
desnormalizadas. Los esquemas más comunes sobre los que se trabaja son estrella ó copo de nieve, aunque es posible trabajar
sobre cualquier base de datos relacional. La arquitectura está compuesta por un
servidor de banco de datos relacional y el motor OLAP se encuentra en un
servidor dedicado. La principal ventaja de esta arquitectura es que permite el
análisis de una enorme cantidad de datos.
MOLAP
Esta implementación OLAP almacena los datos en una base de datos multidimensional.
Para optimizar los tiempos de respuesta, el resumen de la información es
usualmente calculado por adelantado. Estos valores precalculados o agregaciones
son la base de las ganancias de desempeño de este sistema. Algunos sistemas
utilizan técnicas de compresión de datos para disminuir el espacio de almacenamiento
en disco debido a los valores precalculados.
HOLAP (Hybrid OLAP)
Almacena algunos datos en un motor relacional y
otros en una base de datos multidimensional.
Comparación
Cada sistema OLAP tiene ciertos beneficios (aunque
existe desacuerdo acerca de las características específicas de los beneficios
entre los proveedores).
Algunas implementaciones MOLAP son propensas a la
"explosión" de la base de datos; este fenómeno provoca la
necesidad de grandes cantidades de espacio de almacenamiento para el uso de una
base de datos MOLAP
cuando se dan ciertas condiciones: elevado número de dimensiones, resultados
precalculados y escasos datos multidimensionales. Las técnicas habituales de
atenuación de la explosión de la base de datos no son todo lo eficientes que
sería deseable.
Por lo general MOLAP ofrece mejor
rendimiento debido a la especializada indexación y a las optimizaciones de
almacenamiento. MOLAP
también necesita menos espacio de almacenamiento en comparación con los
especializados ROLAP
porque su almacenamiento especializado normalmente incluye técnicas de
compresión.
ROLAP es generalmente más escalable. Sin embargo, el gran
volumen de preprocesamiento es difícil de implementar eficientemente por lo que
con frecuencia se omite; por tanto, el rendimiento de una consulta ROLAP puede verse
afectado.
Desde la aparición de ROLAP van apareciendo
nuevas versiones de bases de datos preparadas para realizar cálculos, las
funciones especializadas que se pueden utilizar tienen más limitaciones.
HOLAP (OLAP Híbrido) engloba un conjunto de técnicas que
tratan de combinar MOLAP
y ROLAP
de la mejor forma posible. Generalmente puede pre-procesar rápidamente, escala
bien, y proporciona una buena función de apoyo.
Otros tipos
Los siguientes acrónimos a veces también se
utilizan, aunque no son sistemas tan generalizados como los anteriores:
- WOLAP o Web OLAP: OLAP basado u orientado para la web.
- DOLAP o Desktop OLAP: OLAP de escritorio
- RTOLAP o Real Time OLAP: OLAP en tiempo real
- SOLAP o Spatial OLAP: OLAP espacial
Dimensiones y jerarquías
Cada una de las dimensiones de un cubo OLAP puede resumirse mediante una
jerarquía. Por ejemplo si se considera una escala (o dimensión) temporal "Mayo de 2005" se puede incluir en
"Segundo Trimestre de 2005",
que a su vez se incluye en "Año
2005". De igual manera, otra dimensión de un cubo que refleje una
situación geográfica, las ciudades se pueden incluir en regiones, países o
regiones mundiales; los productos podrían clasificarse por categorías, y las
partidas de gastos podrían agruparse en tipos de gastos. En cambio, el analista
podría comenzar en un nivel muy resumido, como por ejemplo el total de la
diferencia entre los resultados reales y lo presupuestado, para posteriormente
descender en el cubo (en sus jerarquías) para poder observar con un mayor nivel
de detalle que le permita descubrir en el cubo los lugares en los que se ha
producido esta diferencia, según los productos y períodos.
Dispersión en cubos OLAP
Vincular o enlazar cubos es un mecanismo para
superar la dispersión. Ésta se produce cuando no todas las celdas del cubo se
rellenan con datos (escasez de datos o valores nulos). El tiempo de
procesamiento es tan valioso que se debe adoptar la manera más efectiva de
sumar ceros (los valores nulos o no existentes). Por ejemplo los ingresos
pueden estar disponibles para cada cliente y producto, pero los datos de los
costos pueden no estar disponibles con esta cantidad de análisis. En lugar de
crear un cubo disperso, a veces es mejor crear otro cubo distinto, pero
vinculado, en el que un subconjunto de los datos se pueden analizar con gran
detalle. La vinculación asegura que los datos de los dos cubos mantengan una
coherencia.
Acceso y cálculo de un cubo OLAP
Los datos de los cubos pueden ser actualizados de
vez en cuando, tal vez por personas diferentes de forma concurrente. Para
solventar este problema a menudo es necesario bloquear partes de un cubo
mientras otro usuario está escribiendo, para volver a calcular los totales en
el cubo. Otras implementaciones añaden la posibilidad de mostrar una alerta que
indique que los totales calculados previamente ya no son válidos tras los
nuevos datos. También hay algunos productos que calculan los totales cuando se
les necesita con los últimos datos producidos en el sistema.
Definición técnica
En teoría de bases de datos,
un cubo OLAP es una
representación abstracta de la proyección de una relación de un RDBMS
(Sistema administrador de bases de datos relacionales). Dada una
relación de orden N, se
considera la posibilidad de una proyección que dispone de los campos X, Y, Z como clave de
la relación y de W como atributo
residual. Categorizando esto como una función se tiene que:
W : (X,Y,Z)
→ W
Los atributos X, Y, Z se corresponden con los ejes del
cubo, mientras que el valor de W
devuelto por cada tripleta (X, Y, Z)
se corresponde con el dato o elemento que se rellena en cada celda del cubo.
Debido a que los dispositivos de salida (monitores,
impresoras,...) sólo cuentan con dos dimensiones, no pueden caracterizar
fácilmente cuatro dimensiones, es más práctico proyectar "rebanadas"
o secciones de los datos del cubo (se dice proyectar en el sentido
clásico vector analítico de reducción dimensional, no en el sentido de SQL, aunque los dos
conceptos son claramente análogos), tales como la expresión:
W : (X,Y) → W
Aunque no se conserve la clave del cubo (al faltar
el parámetro Z), puede tener
algún significado semántico, sin embargo, también puede que una sección de la
representación funcional con tres parámetros para un determinado valor de Z también resulte de interés.
La motivación que hay tras OLAP vuelve a mostrar de
nuevo el paradigma de los informes de tablas cruzadas de los sistema de gestión de base de datos
de los 80. Se puede desear una visualización al estilo de una hoja de
cálculo, donde los valores de X se encuentran en la fila $1,
los valores de Y aparecen en la
columna $A, y los valores de W: (X,Y) → W se encuentran en las
celdas individuales a partir de la celda $B2 y desde ahí, hacia abajo y hacia la derecha. Si bien se puede
utilizar el Lenguaje de Manipulación de Datos
(o DML) de SQL
para mostrar las tuplas (X, Y, W),
este formato de salida no es tan deseable como la alternativa de tablas cruzadas. El primer método
requiere que se realice una búsqueda lineal para cada par (X,Y) dado, para determinar el
correspondiente valor de W,
mientras que el segundo permite realizar una búsqueda más convenientemente
permitiendo localizar el valor W
en la intersección de la columna X
apropiada con la fila Y
correspondiente.
Se ha desarrollado el lenguaje MDX (MultiDimensional
eXpressions o expresiones
multidimensionales) para poder expresar problemas OLAP de forma fácil.
Aunque es posible traducir algunas sus sentencias a SQL tradicional, con
frecuencia se requieren expresiones SQL poco claras incluso para las sentencias
más simples del MDX. Este
lenguaje ha sido acogido por la gran mayoría de los proveedores de OLAP y se ha
convertido en norma de hecho para estos sistemas.
Referencias:
Referencias: