Un cubo OLAP es una matriz multidimensional de datos. [1] El procesamiento analítico en línea (OLAP) [2] es una técnica basada en computadora para analizar 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 3.
Terminología
Un cubo puede considerarse una generalización multidimensional de una hoja de cálculo bidimensional o tridimensional . Por ejemplo, una empresa podría desear resumir los datos financieros por producto, por período de tiempo y por ciudad para comparar los gastos reales y presupuestados. Producto, tiempo, ciudad y escenario (real y presupuestario) son las dimensiones de los datos. [3]
Cube es una abreviatura de conjunto de datos multidimensionales , dado que los datos pueden tener un número arbitrario de dimensiones . El término hipercubo se usa a veces, especialmente para datos con más de tres dimensiones. Un cubo no es un "cubo" en el sentido estrictamente matemático, ya que no todos los lados son necesariamente iguales. Pero este término se usa ampliamente.
A Slice es un término para un subconjunto de los datos, generados por la selección de un valor para una dimensión y sólo muestra los datos para ese valor (por ejemplo, sólo los datos en un punto en el tiempo). Las hojas de cálculo son solo bidimensionales, por lo que mediante el corte (continuo) 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 generalmente se almacenan en un esquema de estrella o esquema de copo de nieve en un almacén de datos relacional o en un sistema de administració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 .
Jerarquía
Los elementos de una dimensión se pueden organizar como una jerarquía , [4] un conjunto de relaciones padre-hijo, normalmente donde un miembro padre resume sus hijos. Los elementos principales se pueden agregar además como 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 hijos de las regiones; los productos se agrupan en grupos de productos y las partidas de gastos individuales en tipos de gastos.
Operaciones
Concebir los datos como un cubo con dimensiones jerárquicas conduce a operaciones conceptualmente sencillas para facilitar 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 solicitando visualizaciones de página de forma interactiva, a través de la especificación de cortes mediante rotaciones y desglose hacia abajo / arriba, a veces se denomina "corte y dado". Las operaciones comunes incluyen cortar y cortar, profundizar, enrollar y pivotar.
Slice es el acto de elegir un subconjunto rectangular de un cubo eligiendo un solo valor para una de sus dimensiones, creando un nuevo cubo con una dimensión menos. [5] La imagen muestra una operación de división: las cifras de ventas de todas las regiones de ventas y todas las categorías de productos de la empresa en los años 2005 y 2006 se "cortan" del cubo de datos.
Dados : La operación de dados produce un subcubo al permitir que el analista elija valores específicos de múltiples dimensiones. [6] La imagen muestra una operación de corte en cubitos: 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.
Drill Down / Up permite al usuario navegar entre 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 "Outdoor-Schutzausrüstung" para ver las cifras de ventas de los productos individuales.
Roll-up : un roll-up implica resumir los datos a lo largo de una dimensión. La regla de resumen puede ser una función agregada , como calcular totales a lo largo de una jerarquía o aplicar un conjunto de fórmulas como "beneficio = ventas - gastos". [5] Las funciones generales de agregación pueden ser costosas de calcular cuando se acumulan: si no se pueden determinar a partir de las celdas del cubo, deben calcularse a partir de los datos base, ya sea informándolas en línea (lento) o precomputándolas para posibles implementaciones ( gran espacio). 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 de soportar COUNT, MAX, MIN,
y SUM
en OLAP, ya que estos pueden calcularse para cada celda del cubo OLAP y luego acumularse, ya que en la suma total (o recuento, etc.) es la suma de sub-sumas, pero es difícil de respaldar MEDIAN
, ya que debe calcularse para cada vista por separado: la mediana de un conjunto no es la mediana de las medianas de los subconjuntos.
Pivot permite a un analista rotar el cubo en el espacio para ver sus distintas caras. Por ejemplo, las ciudades podrían organizarse verticalmente y los productos horizontalmente mientras se visualizan los datos de un trimestre en particular. La pivotación podría reemplazar productos con períodos de tiempo para ver datos a lo largo del tiempo para un solo producto. [5] [8]
La imagen muestra una operación pivotante: se gira todo el cubo, lo que brinda otra perspectiva de los datos.
Definición matemática
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 clave y W como atributo residual . Caracterizando esto como una función ,
- f : ( X , Y , Z ) → W ,
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 "cortes" del cubo de datos (decimos proyectar en el sentido clásico analítico de vectores de reducción dimensional, no en el sentido SQL , aunque los dos son conceptualmente similar),
- g : ( X , Y ) → W
que puede suprimir una clave primaria, 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 de tablas cruzadas del DBMS de la década de 1980 , ya las tablas de contingencia anteriores de 1904. El resultado es una pantalla estilo hoja de cálculo, donde los valores de X pueblan la fila $ 1; los valores de Y completan la columna $ A; y los valores de g : ( X , Y ) → W pueblan las celdas individuales en las intersecciones de columnas etiquetadas con X y filas etiquetadas con Y , "sureste", por así decirlo, de $ B $ 2, con $ B $ 2 incluido.
Ver también
- Inteligencia de Negocio
- Comparación de servidores OLAP
- Cubo de datos
- Mercado de datos
- Procesamiento de datos
- Extensiones de minería de datos
- Análisis rápido de información multidimensional compartida
- Expresiones multidimensionales
- XML para análisis
Referencias
- ^ Gray, Jim; Bosworth, Adam; Layman, Andrew; Pirahesh, Hamid (1996). "Cubo de datos: un operador de agregación relacional que generaliza Group-By, Cross-Tab y subtotales". Actas de la Conferencia Internacional sobre Ingeniería de Datos (ICDE) . págs. 152-159. arXiv : cs / 0701155 . doi : 10.1109 / ICDE.1996.492099 .
- ^ "Descripción general del procesamiento analítico en línea (OLAP)" . support.office.com . Consultado el 8 de septiembre de 2018 .
- ^ "Cybertec lanza cubos OLAP para PostgreSQL" . PostgreSQL. 2006-10-02. Archivado desde el original el 6 de julio de 2013 . Consultado el 5 de marzo de 2008 .
- ^ "Jerarquía de la guía de almacenamiento de datos de Oracle9i" . Centro Lorentz . Consultado el 5 de marzo de 2008 .
- ^ a b c d e f "Definiciones de servidores OLAP y OLAP" . El Ayuntamiento de OLAP. 1995 . Consultado el 18 de marzo de 2008 .
- ^ "Glosario de términos de minería de datos" . Universidad de Alberta. 1999 . Consultado el 17 de marzo de 2008 .
- ^ Zhang 2017 , pág. 1.
- ^ "Enciclopedia informática: vistas multidimensionales" . Answers.com . Consultado el 5 de marzo de 2008 .
- ^ a b Gray, Jim ; Bosworth, Adam; Layman, Andrew; Priahesh, Hamid (18 de noviembre de 1995). "Cubo de datos: un operador de agregación relacional que generaliza Group-By, Cross-Tab y subtotales" . Proc. XII Congreso Internacional de Ingeniería de Datos . IEEE. págs. 152-159 . Consultado el 9 de noviembre de 2008 .
- Zhang, Chao (2017). Función agregada simétrica y asimétrica en computación masivamente paralela (informe técnico).
enlaces externos
- Daniel Lemire (diciembre de 2007). "Almacenamiento de datos y OLAP: una bibliografía orientada a la investigación" . Archivado desde el original el 6 de julio de 2013 . Consultado el 5 de marzo de 2008 .
- El vocabulario del cubo de datos RDF
- Microsoft Azure: procesamiento analítico en línea (OLAP)
- Video: ¿OLAP está muerto?