En programación informática , un cubo de datos es una matriz multidimensional de valores. Normalmente, el término "cubo de datos" se aplica en contextos donde estas matrices son mucho mayores que la memoria principal del ordenador que las aloja; ejemplos de ello son los almacenes de datos de varios terabytes/petabytes y las series temporales de datos de imágenes. Aunque se le denomina cubo , un cubo de datos es generalmente un concepto multidimensional que puede ser unidimensional, bidimensional, tridimensional o de dimensiones superiores.
El cubo de datos se utiliza para representar datos (a veces llamados hechos ) a lo largo de ciertas dimensiones de interés. En las series temporales de imágenes satelitales , las dimensiones serían las coordenadas de latitud y longitud y el tiempo; un hecho (a veces llamado medida) sería un píxel en un espacio y tiempo determinados, tal como lo captó el satélite. Por ejemplo, en el procesamiento analítico en línea , un cubo OLAP sobre una empresa tendría dimensiones que podrían ser las subsidiarias de la empresa, los productos de la empresa y el tiempo; en esta configuración, un hecho sería un evento de ventas donde un producto en particular se ha vendido en una subsidiaria en particular en un momento determinado.
En cualquier caso, cada dimensión divide los datos en grupos de celdas, mientras que cada celda del cubo representa una única medida de interés. A veces, los cubos contienen solo unos pocos valores, quedando el resto vacío (es decir, indefinido), mientras que otras veces la mayoría o todas las coordenadas del cubo contienen un valor de celda. En el primer caso, estos datos se denominan dispersos , y en el segundo, densos , aunque no existe una distinción estricta entre ambos.
Los cubos de datos pueden almacenarse en sistemas de gestión de bases de datos (DBMS) como parte de un DBMS de matriz . Las bases de datos espaciotemporales y geoespaciales también pueden representarse como datos de cobertura .
Historia
Los arreglos multidimensionales son habituales en los lenguajes de programación. Fortran ofrece arreglos unidimensionales con índices arbitrarios y arreglos de arreglos, lo que permite la construcción de arreglos de dimensiones superiores, hasta 15 dimensiones. APL admite arreglos nD con un amplio conjunto de operaciones. Todos estos lenguajes tienen en común que los arreglos deben caber en la memoria principal y solo están disponibles mientras se ejecuta el programa que los gestiona (como un software de procesamiento de imágenes).
Diversos formatos de intercambio de datos permiten almacenar y transmitir datos en forma de cubos, a menudo adaptados a dominios de aplicación específicos. Algunos ejemplos son MDX para datos estadísticos (en particular, empresariales), Zarr y el 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 cubos 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, el concepto de cubo de datos fue aplicado para describir datos comerciales variables en el tiempo como cubos de datos por Jim Gray , et al., [ 2 ] y por Venky Harinarayan , Anand Rajaraman y Jeff Ullman [ 3 ] .
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 . [ 4 ] [ 5 ]
Datacube Inc. era una empresa de procesamiento de imágenes que vendía hardware y software para el mercado de PC en 1996, aunque sin abordar los cubos de datos como tales.
La iniciativa EarthServer ha establecido requisitos de servicio para cubos de datos geográficos. [ 6 ]
Normalizació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)". [ 7 ]
El Web Coverage Processing Service es un lenguaje de análisis de cubos de datos geográficos publicado por el Open Geospatial Consortium en 2008. Además de las operaciones comunes con cubos 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 .
MultiDimensional eXpressions es un estándar de la industria para consultar cubos de datos empresariales, desarrollado originalmente por Microsoft .
Implementación
Muchos lenguajes de programación de alto nivel tratan los cubos de datos y otras matrices grandes como entidades únicas, distintas de su contenido. Estos lenguajes, entre los que se incluyen Fortran , APL , IDL , NumPy , PDL y S-Lang , permiten al programador manipular clips de vídeo completos y otros datos de forma masiva mediante expresiones sencillas derivadas del álgebra lineal y las 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 sistemas de gestión de bases de datos ( DBMS ) de tipo array ofrecen un modelo de datos que admite de forma genérica la definición, gestión, recuperación y manipulación de cubos de datos n-dimensionales. Esta categoría de bases de datos fue desarrollada por el sistema rasdaman desde 1994. [ 8 ]
Aplicaciones
Las matrices multidimensionales pueden representar de forma significativa datos espaciotemporales de sensores, imágenes y simulaciones, así como datos estadísticos donde la semántica de las dimensiones no es necesariamente de naturaleza espacial o temporal. En general, cualquier tipo de eje puede combinarse con cualquier otro para formar un cubo de datos.
Matemáticas
En matemáticas, una matriz unidimensional corresponde a un vector, una matriz bidimensional se asemeja a una matriz ; de forma más general, un tensor puede representarse como un cubo de datos n-dimensional.
Ciencia e ingeniería
Para una secuencia temporal de imágenes en color, la matriz suele ser tetradimensional, con 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 [ 9 ] reúne centros de datos de diferentes continentes que ofrecen series temporales de imágenes satelitales 3D x/y/t y datos meteorológicos 4D x/y/z/t para su recuperación y procesamiento en el servidor mediante el estándar del lenguaje de consulta de cubos de datos geográficos WCPS del Open Geospatial Consortium .
Un cubo de datos también se utiliza en el campo de la espectroscopia de imágenes , ya que una imagen con resolución espectral se representa como un volumen tridimensional. Los cubos de datos de observación de la Tierra combinan imágenes satelitales como Landsat 8 y Sentinel-2 con análisis de sistemas de información geográfica . [ 10 ]
Inteligencia empresarial
En el procesamiento analítico en línea (OLAP), los cubos de datos son una disposición común de datos empresariales que resulta adecuada para el análisis desde diferentes perspectivas mediante operaciones como el seccionamiento, la segmentación, la creación de tablas dinámicas y la agregación.
Véase también
Referencias
- ↑ Baumann, Peter (abril de 1992). "Soporte lingüístico para la manipulación de imágenes rasterizadas en bases de datos". Modelado gráfico y visualización en ciencia y tecnología . Taller internacional sobre modelado gráfico y visualización en ciencia y tecnología. Darmstadt, Alemania: Springer (publicado en 1993). págs. 236–45 . 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). "Data Cube: un operador de agregación relacional que generaliza Group-By, Cross-Tab y Sub-Totales". Data Mining and Knowledge Discovery . 1 (1): 29– 53. doi : 10.1023/A:1009726021843 . S2CID 12502175 .
- ↑ Harinarayan, Venky; Rajaraman, Anand; Ullman, Jeffrey D. (1996). "Implementación eficiente de cubos de datos". Actas de la conferencia internacional ACM SIGMOD de 1996 sobre gestión de datos – SIGMOD '96 . Vol. 25. ACM SIGMOD . págs. 205–216 . CiteSeerX 10.1.1.41.1205 . doi : 10.1145/233269.233333 . ISBN 978-0897917940. S2CID 3104453 .
- ^ "Datenbank Rundbrief, agosto 19, mayo de 1997" . dblp . DE: Universidad de Tréveris.
- ^ "Datenbank Rundbrief, agosto 23, mayo de 1999" . dblp . DE: Universidad de Tréveris.
- ↑ "El Manifiesto de la Base de Datos" . Servidor Tierra . UE . Consultado el 21 de septiembre de 2017 .
- ↑ "Parte 15: Matrices multidimensionales (SQL/MDA)" . DIS 9075-15 Tecnología de la información – Lenguajes de bases de datos – SQL . ISO/IEC . Consultado el 27 de mayo de 2018 .
- ↑ "Gestión de datos discretos multidimensionales" (PDF) . VLDB . Consultado el 21 de septiembre de 2017 .
- ↑ "EarthServer - Análisis de grandes cubos de datos al alcance de su mano" . EarthServer . UE . Consultado el 31 de marzo de 2017 .
- ↑ Kopp, Steve; Becker, Peter; Doshi, Abhijit; Wright, Dawn J.; Zhang, Kaixi; Xu, Hong (2019). "Logrando la visión completa de los cubos de datos de observación de la Tierra" . Data . 4 (3): 94. doi : 10.3390/data4030094 .
- Procesamiento de imágenes
- teoría de bases de datos