Cubo OLAP

4
Cubo OLAP 1 Cubo OLAP Cubo OLAP de tres dimensiones (Ciudades, Productos y Tiempo). Un cubo OLAP, OnLine Analytical Processing o procesamiento Analítico en Línea, término acuñado por Edgar Frank Codd de EF Codd & Associates, encargado por Arbor Software (en la actualidad Hyperion Solutions), es una base de datos multidimensional, en la cual el almacenamiento físico de los datos se realiza en un vector multidimensional. Los cubos OLAP se pueden considerar como una ampliación de las dos dimensiones de una hoja de cálculo. A menudo se pensaba que todo lo que los usuarios pueden querer de un sistema de información se podría hacer de una base de datos relacional. No obstante Codd fue uno de los precursores de las bases de datos relacionales, por lo que sus opiniones fueron y son respetadas. Introducción La propuesta de Codd consistía en realizar una disposición de los datos en vectores para permitir un análisis rápido. Estos vectores son llamados cubos. Disponer los datos en cubos evita una limitación de las bases de datos relacionales, que no son muy adecuadas para el análisis instantáneo de grandes cantidades de datos. Las bases de datos relacionales son más adecuados para registrar datos provenientes de transacciones (conocido como OLTP o procesamiento de transacciones en línea). Aunque existen muchas herramientas de generación de informes para bases de datos relacionales, éstas son lentas cuando debe explorarse toda la base de datos. Por ejemplo, una empresa podría analizar algunos datos financieros por producto, por período, por ciudad, por tipo de ingresos y de gastos, y mediante la comparación de los datos reales con un presupuesto. Estos parámetros en función de los cuales se analizan los datos se conocen como dimensiones. Para acceder a los datos sólo es necesario indexarlos a partir de los valores de las dimensiones o ejes. El almacenar físicamente los datos de esta forma tiene sus pros y sus contras. Por ejemplo, en estas bases de datos las consultas de selección son muy rápidas (de hecho, casi instantáneas). Pero uno de los problemas más grandes de esta forma de almacenamiento es que una vez poblada la base de datos ésta no puede recibir cambios en su estructura. Para ello sería necesario rediseñar el cubo. En un sistema OLAP puede haber más de tres dimensiones, por lo que a los cubos OLAP también reciben el nombre de hipercubos. Las herramientas comerciales OLAP tienen diferentes métodos de creación y vinculación de estos cubos o hipercubos (véase Tipos de OLAP en el artículo sobre OLAP). Un ejemplo Un analista financiero podría querer ver los datos de diversas formas, por ejemplo, visualizándolos en función de todas las ciudades (que podrían figurar en el eje de abscisas) y todos los productos (en el eje de ordenadas), y esto podría ser para un período determinado, para la versión y el tipo de gastos. Después de haber visto los datos de esta forma particular el analista podría entonces querer ver los datos de otra manera y poder hacerlo de forma inmediata. El cubo podría adoptar una nueva orientación para que los datos aparezcan ahora en función de los períodos y el tipo de coste. Debido a que esta reorientación implica resumir una cantidad muy grande de datos, esta nueva vista de los

Transcript of Cubo OLAP

Page 1: Cubo OLAP

Cubo OLAP 1

Cubo OLAP

Cubo OLAP de tres dimensiones (Ciudades, Productos y Tiempo).

Un cubo OLAP, OnLine Analytical Processing oprocesamiento Analítico en Línea, término acuñado porEdgar Frank Codd de EF Codd & Associates, encargadopor Arbor Software (en la actualidad HyperionSolutions), es una base de datos multidimensional, en lacual el almacenamiento físico de los datos se realiza enun vector multidimensional. Los cubos OLAP se puedenconsiderar como una ampliación de las dos dimensionesde una hoja de cálculo.

A menudo se pensaba que todo lo que los usuariospueden querer de un sistema de información se podríahacer de una base de datos relacional. No obstante Coddfue uno de los precursores de las bases de datosrelacionales, por lo que sus opiniones fueron y sonrespetadas.

IntroducciónLa propuesta de Codd consistía en realizar una disposición de los datos en vectores para permitir un análisis rápido.Estos vectores son llamados cubos. Disponer los datos en cubos evita una limitación de las bases de datosrelacionales, que no son muy adecuadas para el análisis instantáneo de grandes cantidades de datos. Las bases dedatos relacionales son más adecuados para registrar datos provenientes de transacciones (conocido como OLTP oprocesamiento de transacciones en línea). Aunque existen muchas herramientas de generación de informes parabases de datos relacionales, éstas son lentas cuando debe explorarse toda la base de datos.Por ejemplo, una empresa podría analizar algunos datos financieros por producto, por período, por ciudad, por tipode ingresos y de gastos, y mediante la comparación de los datos reales con un presupuesto. Estos parámetros enfunción de los cuales se analizan los datos se conocen como dimensiones. Para acceder a los datos sólo es necesarioindexarlos a partir de los valores de las dimensiones o ejes.El almacenar físicamente los datos de esta forma tiene sus pros y sus contras. Por ejemplo, en estas bases de datos lasconsultas de selección son muy rápidas (de hecho, casi instantáneas). Pero uno de los problemas más grandes de estaforma de almacenamiento es que una vez poblada la base de datos ésta no puede recibir cambios en su estructura.Para ello sería necesario rediseñar el cubo.En un sistema OLAP puede haber más de tres dimensiones, por lo que a los cubos OLAP también reciben el nombrede hipercubos. Las herramientas comerciales OLAP tienen diferentes métodos de creación y vinculación de estoscubos o hipercubos (véase Tipos de OLAP en el artículo sobre OLAP).

Un ejemploUn analista financiero podría querer ver los datos de diversas formas, por ejemplo, visualizándolos en función detodas las ciudades (que podrían figurar en el eje de abscisas) y todos los productos (en el eje de ordenadas), y estopodría ser para un período determinado, para la versión y el tipo de gastos. Después de haber visto los datos de estaforma particular el analista podría entonces querer ver los datos de otra manera y poder hacerlo de forma inmediata.El cubo podría adoptar una nueva orientación para que los datos aparezcan ahora en función de los períodos y el tipode coste. Debido a que esta reorientación implica resumir una cantidad muy grande de datos, esta nueva vista de los

Page 2: Cubo OLAP

Cubo OLAP 2

datos se debe generar de manera eficiente para no malgastar el tiempo del analista, es decir, en cuestión de segundos,en lugar de las horas que serían necesarias en una base de datos relacional convencional.

Dimensiones y jerarquíasCada una de las dimensiones de un cubo OLAP puede resumirse mediante una jerarquía. Por ejemplo si se considerauna escala (o dimensión) temporal "Mayo de 2005" se puede incluir en "Segundo Trimestre de 2005", que a su vezse incluye en "Año 2005". De igual manera, otra dimensión de un cubo que refleje una situación geográfica, lasciudades se pueden incluir en regiones, países o regiones mundiales; los productos podrían clasificarse porcategorías, y las partidas de gastos podrían agruparse en tipos de gastos. En cambio, el analista podría comenzar enun nivel muy resumido, como por ejemplo el total de la diferencia entre los resultados reales y lo presupuestado, paraposteriormente descender en el cubo (en sus jerarquías) para poder observar con un mayor nivel de detalle que lepermita 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 OLAPVincular o enlazar cubos es un mecanismo para superar la dispersión. Ésta se produce cuando no todas las celdas delcubo se rellenan con datos (escasez de datos o valores nulos). El tiempo de procesamiento es tan valioso que se debeadoptar la manera más efectiva de sumar ceros (los valores nulos o no existentes). Por ejemplo los ingresos puedenestar disponibles para cada cliente y producto, pero los datos de los costos pueden no estar disponibles con estacantidad de análisis. En lugar de crear un cubo disperso, a veces es mejor crear otro cubo distinto, pero vinculado, enel que un subconjunto de los datos se pueden analizar con gran detalle. La vinculación asegura que los datos de losdos cubos mantengan una coherencia.

Acceso y cálculo de un cubo OLAPLos datos de los cubos pueden ser actualizados de vez en cuando, tal vez por personas diferentes de formaconcurrente. Para solventar este problema a menudo es necesario bloquear partes de un cubo mientras otro usuarioestá escribiendo, para volver a calcular los totales en el cubo. Otras implementaciones añaden la posibilidad demostrar 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 enel sistema.

Definición técnicaEn teoría de bases de datos, un cubo OLAP es una representación abstracta de la proyección de una relación de unRDBMS (Sistema administrador de bases de datos relacionales). Dada una relación de orden N, se considera laposibilidad de una proyección que dispone de los campos X, Y, Z como clave de la relación y de W como atributoresidual. Categorizando esto como una función se tiene que:

W : (X,Y,Z) → WLos 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 puedencaracterizar 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, aunquelos dos conceptos son claramente análogos), tales como la expresión:

W : (X,Y) → W

Page 3: Cubo OLAP

Cubo OLAP 3

Aunque no se conserve la clave del cubo (al faltar el parámetro Z), puede tener algún significado semántico, sinembargo, también puede que una sección de la representación funcional con tres parámetros para un determinadovalor 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 lossistema 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 laderecha. 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étodorequiere 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 laintersección de la columna X apropiada con la fila Y correspondiente.Se ha desarrollado el lenguaje MDX (MultiDimensional eXpressions o expresiones multidimensionales) para poderexpresar problemas OLAP de forma fácil. Aunque es posible traducir algunas sus sentencias a SQL tradicional, confrecuencia se requieren expresiones SQL poco claras incluso para las sentencias más simples del MDX. Estelenguaje ha sido acogido por la gran mayoría de los proveedores de OLAP y se ha convertido en norma de hechopara estos sistemas.

Page 4: Cubo OLAP

Fuentes y contribuyentes del artículo 4

Fuentes y contribuyentes del artículoCubo OLAP  Fuente: http://es.wikipedia.org/w/index.php?oldid=71034697  Contribuyentes: Boja, Diegusjaimes, GermanX, Humbefa, J2deme, Jesuja, Khiari, PasabaPorAqui, VARGUX, 43ediciones anónimas

Fuentes de imagen, Licencias y contribuyentesArchivo:OLAP Cube.png  Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:OLAP_Cube.png  Licencia: Creative Commons Attribution 3.0  Contribuyentes: Konrad Roeder

LicenciaCreative Commons Attribution-Share Alike 3.0//creativecommons.org/licenses/by-sa/3.0/