En contextos de programación de ordenadores, un cubo de datos (o cubo de datos ) es una matriz multidimensional ( "ND") de los valores. Normalmente, el término cubo de datos se aplica en contextos en los que estas matrices son enormemente más grandes que la memoria principal de la computadora anfitriona; los ejemplos incluyen almacenes de datos de varios terabytes / petabytes y series de tiempo de datos de imágenes.
El cubo de datos se utiliza para representar datos (a veces llamados hechos) junto con alguna medida de interés. Por ejemplo, en OLAP tales medidas podrían ser las filiales que tiene una empresa, los productos que ofrece la empresa y el tiempo; en esta configuración, un hecho sería un evento de ventas en el que un producto en particular se ha vendido en una subsidiaria en particular en un momento determinado. En series de tiempo de imágenes de satélite, las medidas serían las coordenadas de latitud y longitud y el tiempo; un hecho sería un píxel en una determinada coordenada de espacio / tiempo tomada por el satélite (siguiendo algún procesamiento que no es de interés aquí). A pesar de que se llama cubo (y los ejemplos proporcionados anteriormente resultan ser tridimensionales por brevedad), un cubo de datos generalmente es un concepto multidimensional que puede ser unidimensional, bidimensional, tridimensional o superior. -dimensional. En cualquier caso, cada dimensión representa una medida separada, mientras que las celdas del cubo representan los hechos de interés. A veces, los cubos contienen solo unos pocos valores y el resto está vacío , es decir: indefinido, a veces la mayoría o todas las coordenadas del cubo tienen un valor de celda. En el primer caso, dichos datos se denominan dispersos , en el segundo caso se denominan densos , aunque no existe una delimitación estricta entre ambos.
Historia
Las matrices multidimensionales son familiares desde hace mucho tiempo en los lenguajes de programación. Fortran ofrece matrices 1-D y matrices de matrices, lo que permite la construcción de matrices de mayor dimensión. APL admite matrices nD con un amplio conjunto de operaciones. Todos estos tienen en común que las matrices deben caber en la memoria principal y están disponibles solo mientras se ejecuta el programa particular que las mantiene (como el software de procesamiento de imágenes).
Una serie de formatos de intercambio de datos admiten el almacenamiento y la transmisión de datos en forma de cubo de datos, a menudo adaptados a dominios de aplicación particulares. Los ejemplos incluyen MDX para datos estadísticos (en particular, comerciales), formato de datos jerárquico para datos científicos generales y TIFF para imágenes.
En 1992, Peter Baumann introdujo la gestión de cubos de datos masivos con funcionalidad de usuario de alto nivel combinada con una arquitectura de software eficiente. [1] Las operaciones de cubo de datos incluyen extracción de subconjuntos, procesamiento, fusión y, en general, consultas en el espíritu de lenguajes de manipulación de datos como SQL .
Algunos años después, Jim Gray , et al., [2] y Venky Harinarayan , Anand Rajaraman y Jeff Ullman [3] aplicaron el concepto de cubo de datos para describir datos comerciales que varían en el tiempo como cubos de datos, que se encuentran entre los 500 más citados artículos de informática durante un período de 25 años. [4]
Por esa época, se estableció un grupo de trabajo sobre bases de datos multidimensionales ("Arbeitskreis Multi-Dimensionale Datenbanken") en la Gesellschaft für Informatik alemana . [5] [6]
Datacube Inc. era una empresa de procesamiento de imágenes que vendía aplicaciones de hardware y software para el mercado de PC en 1996, pero sin abordar los cubos de datos como tales.
La iniciativa EarthServer ha establecido requisitos de servicio de cubo de datos geográficos. [7]
Estandarización
En 2018, el lenguaje de base de datos ISO SQL se amplió con la funcionalidad de cubo de datos como "SQL - Parte 15: Matrices multidimensionales (SQL / MDA)". [8]
El Servicio de procesamiento de cobertura web es un lenguaje de análisis de cubos de datos geográficos emitido por el Consorcio Geoespacial Abierto en 2008. Además de las operaciones comunes del cubo de datos, el lenguaje conoce la semántica del espacio y el tiempo y admite cubos de datos de cuadrícula regulares e irregulares, basados en el concepto de datos de cobertura .
Un estándar de la industria para consultar cubos de datos comerciales, desarrollado originalmente por Microsoft , es MultiDimensional eXpressions .
Implementación
Muchos lenguajes informáticos de alto nivel tratan los cubos de datos y otras matrices grandes como entidades únicas distintas de su contenido. Estos lenguajes, de los cuales APL , IDL , NumPy , PDL y S-Lang son ejemplos, permiten al programador manipular clips de película completos y otros datos en masa con expresiones simples derivadas del álgebra lineal y matemáticas vectoriales . Algunos lenguajes (como PDL) distinguen entre una lista de imágenes y un cubo de datos, mientras que muchos (como IDL) no lo hacen.
Los DBMS de matriz (sistemas de gestión de bases de datos) ofrecen un modelo de datos que admite genéricamente la definición, gestión, recuperación y manipulación de cubos de datos n-dimensionales. Esta categoría de base de datos ha sido pionera en el sistema rasdaman desde 1994. [9]
Aplicaciones
Las matrices multidimensionales pueden representar de manera significativa datos de simulación, imágenes y sensores espacio-temporales, pero también datos estadísticos donde la semántica de las dimensiones no es necesariamente de naturaleza espacial o temporal. Generalmente, cualquier tipo de eje se puede combinar con cualquier otro en un cubo de datos.
Matemáticas
En matemáticas, una matriz unidimensional corresponde a un vector, una matriz bidimensional se parece a una matriz ; de manera más general, un tensor puede representarse como un cubo de datos de n dimensiones.
Ciencia e Ingenieria
Para una secuencia de tiempo de imágenes en color, la matriz es generalmente de cuatro dimensiones, con las dimensiones que representan las coordenadas X e Y de la imagen, el tiempo y el plano de color RGB (u otro espacio de color). Por ejemplo, la iniciativa EarthServer [10] une los centros de datos de diferentes continentes que ofrecen series temporales de imágenes satelitales 3-D x / y / t y datos meteorológicos 4-D x / y / z / t para su recuperación y procesamiento del lado del servidor a través de Open Consorcio geoespacial WCPS geo cubo de datos estándar de lenguaje de consulta.
Un cubo de datos también se utiliza en el campo de la espectroscopia de imágenes , ya que una imagen resuelta espectralmente se representa como un volumen tridimensional.
Inteligencia de Negocio
En el procesamiento analítico en línea (OLAP), los cubos de datos son una disposición común de datos comerciales adecuados para el análisis desde diferentes perspectivas a través de operaciones como cortar, cortar en cubitos, pivotar y agregar.
Ver también
- Array DBMS
- rasdaman
- Cubo OLAP
- Cubo de datos de geociencia australiano
- Gráfico (matemáticas discretas)
- Gráfico semántico abstracto
- Apache Kylin
Referencias
- ^ Baumann, Peter (abril de 1992). " Soporte de lenguaje para manipulación de imágenes rasterizadas en bases de datos ". Modelado y visualización de gráficos en ciencia y tecnología . En t. Taller de Modelado, Visualización Gráfica en Ciencia y Tecnología. Darmstadt, Alemania: Springer (publicado en 1993). págs. 236–245. doi : 10.1007 / 978-3-642-77811-7_19 .
- ^ Gray, Jim; Chaudhuri, Surajit; Bosworth, Adam; Layman, Andrew; Reichart, Don; Venkatrao, Murali; Pellow, Frank; Pirahesh, Hamid (enero de 1997). " Cubo de datos: un operador de agregación relacional que generaliza Group-By, Cross-Tab y subtotales ". Minería de datos y descubrimiento de conocimientos . 1 (1): 29–53. doi : 10.1023 / A: 1009726021843 .
- ^ Harinarayan, Venky; Rajaraman, Anand; Ullman, Jeffrey D. (1996). "Implementando cubos de datos de manera eficiente".Implementar cubos de datos de manera eficiente. págs. 205–216. CiteSeerX 10.1.1.41.1205 . doi : 10.1145 / 233269.233333 . ISBN 978-0897917940.
- ^ 500 artículos de informática más citados (501–600), CiteSeer . 12 de junio de 2009. Consultado el 21 de marzo de 2017.
- ^ "dblp: Datenbank Rundbrief, Ausgabe 19, mayo de 1997" . dblp.uni-trier.de .
- ^ "dblp: Datenbank Rundbrief, Ausgabe 23, mayo de 1999" . dblp.uni-trier.de .
- ^ " El Manifiesto de la Base de Datos " . www.earthserver.eu . Consultado el 21 de septiembre de 2017 .
- ^ "ISO / IEC DIS 9075-15 Tecnología de la información - Lenguajes de base de datos - SQL - Parte 15: Matrices multidimensionales (SQL / MDA)" . Consultado el 27 de mayo de 2018 .
- ^ "Gestión de datos discretos multidimensionales" (PDF) . www.vldb.org . Consultado el 21 de septiembre de 2017 .
- ^ "EarthServer - Big Datacube Analytics a su alcance" . www.earthserver.eu . Consultado el 31 de marzo de 2017 .