Cubo OLAP
1
Cubo OLAP 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.
Cubo OLAP de tres dimensiones (Ciudades, Productos y Tiempo).
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 f orma 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
Cubo OLAP 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•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
2
Cubo OLAP 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.
3
Fuentes y contribuyentes del art€culo
Fuentes y contribuyentes del art•culo Cubo OLAP Fuente: http://es.wikipedia.org/w/index.php?oldid=71034697 Contribuyentes: Boja, Diegusjaimes, GermanX, Humbefa, J2deme, Jesuja, Khiari, PasabaPorAqui, VARGUX, 43
ediciones anƒnimas
Fuentes de imagen, Licencias y contribuyentes Archivo: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
Licencia Creative Commons Attribution-Share Alike 3.0 //creativecommons.org/licenses/by-sa/3.0/
4