Un cubo OLAP es una matriz multidimensional de datos. [1] El procesamiento analítico en línea (OLAP) [2] es una técnica informática de análisis de datos para buscar información. El término cubo aquí se refiere a un conjunto de datos multidimensional, que a veces también se denomina hipercubo si el número de dimensiones es mayor que tres.
Un cubo puede considerarse una generalización multidimensional de una hoja de cálculo bidimensional o tridimensional . Por ejemplo, una empresa podría querer resumir los datos financieros por producto, por período de tiempo y por ciudad para comparar los gastos reales y presupuestados. El producto, el tiempo, la ciudad y el escenario (real y presupuestado) son las dimensiones de los datos. [3]
Cubo es una forma abreviada de conjunto de datos multidimensionales , dado que los datos pueden tener un número arbitrario de dimensiones . A veces se utiliza el término hipercubo , especialmente para datos con más de tres dimensiones. Un cubo no es un "cubo" en el sentido matemático estricto, ya que los lados no son necesariamente todos iguales. Pero este término se utiliza ampliamente.
Una porción es un término que designa un subconjunto de los datos, generado al elegir un valor para una dimensión y mostrar únicamente los datos correspondientes a ese valor (por ejemplo, solo los datos de un momento determinado). Las hojas de cálculo son solo bidimensionales, por lo que mediante la segmentación (continua) u otras técnicas, es posible visualizar datos multidimensionales en ellas.
Cada celda del cubo contiene un número que representa alguna medida del negocio, como ventas, ganancias, gastos, presupuesto y pronóstico.
Los datos OLAP se almacenan normalmente en un esquema en estrella o en un esquema en forma de copo de nieve en un almacén de datos relacional o en un sistema de gestión de datos de propósito especial. Las medidas se derivan de los registros de la tabla de hechos y las dimensiones se derivan de las tablas de dimensiones .
Los elementos de una dimensión se pueden organizar como una jerarquía , [4] un conjunto de relaciones padre-hijo, típicamente donde un miembro padre resume a sus hijos. Los elementos padre se pueden agregar además como los hijos de otro padre. [5]
Por ejemplo, el padre de mayo de 2005 es el segundo trimestre de 2005, que a su vez es el hijo del año 2005. De manera similar, las ciudades son las hijas de las regiones; los productos se agrupan en grupos de productos y los ítems de gastos individuales en tipos de gasto.
Concebir los datos como un cubo con dimensiones jerárquicas conduce a operaciones conceptualmente sencillas que facilitan el análisis. Alinear el contenido de los datos con una visualización familiar mejora el aprendizaje y la productividad del analista. [5] El proceso de navegación iniciado por el usuario mediante la solicitud de visualizaciones de páginas de forma interactiva, a través de la especificación de porciones mediante rotaciones y desglose hacia abajo/arriba a veces se denomina "slice and cut". Las operaciones comunes incluyen slice and cut, desglose hacia abajo, roll up y pivot.
Slice es el acto de elegir un subconjunto rectangular de un cubo eligiendo un único valor para una de sus dimensiones, creando un nuevo cubo con una dimensión menos. [5] La imagen muestra una operación de slice: las cifras de ventas de todas las regiones de ventas y todas las categorías de productos de la empresa en el año 2005 y 2006 se "sacaron" del cubo de datos.
Dados : La operación de dados produce un subcubo al permitir al analista elegir valores específicos de múltiples dimensiones. [6] La imagen muestra una operación de dados: el nuevo cubo muestra las cifras de ventas de un número limitado de categorías de productos, las dimensiones de tiempo y región cubren el mismo rango que antes.
La función Drill Down/Up permite al usuario navegar entre los niveles de datos que van desde los más resumidos (arriba) hasta los más detallados (abajo). [5] La imagen muestra una operación de desglose: el analista pasa de la categoría de resumen "Equipo de protección para exteriores" a ver las cifras de ventas de los productos individuales.
Acumulación : una acumulación implica resumir los datos a lo largo de una dimensión. La regla de suma puede ser una función de agregación , como calcular totales a lo largo de una jerarquía o aplicar un conjunto de fórmulas como "ganancia = ventas - gastos". [5] Las funciones de agregación generales pueden ser costosas de calcular cuando se acumulan: si no se pueden determinar a partir de las celdas del cubo, se deben calcular a partir de los datos base, ya sea computándolas en línea (lento) o computándolas previamente para posibles despliegues (espacio grande). Las funciones de agregación que se pueden determinar a partir de las celdas se conocen como funciones de agregación descomponibles y permiten un cálculo eficiente. [7] Por ejemplo, es fácil soportar COUNT, MAX, MIN,
y SUM
en OLAP, ya que estos pueden ser calculados para cada celda del cubo OLAP y luego acumulados, ya que la suma general (o recuento, etc.) es la suma de las subsumas, pero es difícil soportar MEDIAN
, ya que debe ser calculado para cada vista por separado: la mediana de un conjunto no es la mediana de las medianas de los subconjuntos.
La función de pivoteo permite al analista rotar el cubo en el espacio para ver sus distintas caras. Por ejemplo, las ciudades se pueden organizar verticalmente y los productos horizontalmente mientras se visualizan los datos de un trimestre en particular. La función de pivoteo podría reemplazar los productos por períodos de tiempo para ver los datos a lo largo del tiempo de un solo producto. [5] [8]
La imagen muestra una operación de pivoteo: se gira todo el cubo, lo que proporciona otra perspectiva de los datos.
En la teoría de bases de datos , un cubo OLAP es [9] una representación abstracta de una proyección de una relación RDBMS . Dada una relación de orden N , considere una proyección que subtiende X , Y y Z como la clave y W como el atributo residual . Caracterizándola como una función ,
Los atributos X , Y y Z corresponden a los ejes del cubo, mientras que el valor W corresponde al elemento de datos que llena cada celda del cubo.
En la medida en que los dispositivos de salida bidimensionales no pueden caracterizar fácilmente tres dimensiones, es más práctico proyectar "porciones" del cubo de datos (decimos proyectar en el sentido analítico vectorial clásico de reducción dimensional, no en el sentido SQL , aunque los dos son conceptualmente similares),
que puede suprimir una clave principal, pero aún tener algún significado semántico, tal vez una porción de la representación funcional triádica para un valor Z de interés dado.
La motivación [9] detrás de las pantallas OLAP se remonta al paradigma de informes con tablas cruzadas de los DBMS de los años 1980 y a las tablas de contingencia anteriores de 1904. El resultado es una pantalla estilo hoja de cálculo, donde los valores de X llenan la fila $1; los valores de Y llenan la columna $A; y los valores de g : ( X , Y ) → W llenan las celdas individuales en las intersecciones de las columnas etiquetadas con X y las filas etiquetadas con Y , "sureste", por así decirlo, de $B$2, con $B$2 incluido.