Le cube de données sert à représenter des données (parfois appelées faits ) selon certaines dimensions d'intérêt. Dans les séries temporelles d'images satellites , les dimensions sont les coordonnées de latitude et de longitude, ainsi que le temps ; un fait (parfois appelé mesure) correspond à un pixel situé à un endroit et à un instant donnés, tel qu'il est capturé par le satellite. Par exemple, en traitement analytique en ligne ( OLAP ), un cube OLAP relatif à une entreprise peut comporter des dimensions telles que ses filiales, ses produits et le temps ; dans ce contexte, un fait correspond à une vente, c'est-à-dire la vente d'un produit particulier dans une filiale spécifique à un moment précis.
Dans tous les cas, chaque dimension divise les données en groupes de cellules, chaque cellule du cube représentant une mesure d'intérêt. Parfois, les cubes ne contiennent que quelques valeurs, les autres étant vides (c'est-à-dire indéfinies), tandis que dans d'autres cas, la plupart, voire la totalité, des coordonnées du cube contiennent une valeur. Dans le premier cas, ces données sont dites éparses , et dans le second, denses , bien qu'il n'existe pas de distinction nette entre les deux.
Les cubes de données peuvent être stockés dans des systèmes de gestion de bases de données (SGBD) au sein de SGBD matriciels . Les bases de données spatio-temporelles et géospatiales peuvent également être représentées sous forme de données de couverture .
Fortran propose des tableaux unidimensionnels indexés arbitrairement et des tableaux de tableaux, permettant ainsi la construction de tableaux de dimensions supérieures, jusqu'à 15 dimensions. APL prend en charge les tableaux nD avec un large éventail d'opérations. Tous ces langages ont en commun que les tableaux doivent tenir en mémoire vive et ne sont accessibles que pendant l'exécution du programme qui les gère (par exemple, un logiciel de traitement d'images).Plusieurs formats d'échange de données permettent le stockage et la transmission de données structurées en cubes, souvent adaptées à des domaines d'application spécifiques. On peut citer par exemple MDX pour les données statistiques (notamment commerciales), Zarr et le format de données hiérarchiques pour les données scientifiques générales, et TIFF pour l'imagerie.
En 1992, Peter Baumann a introduit la gestion de cubes de données massifs avec des fonctionnalités utilisateur de haut niveau combinées à une architecture logicielle efficace. Les opérations sur les cubes de données comprennent l'extraction de sous-ensembles, le traitement, la fusion et, de manière générale, les requêtes dans l'esprit des langages de manipulation de données comme SQL .
Quelques années plus tard, le concept de cube de données a été appliqué pour décrire des données commerciales variables dans le temps sous forme de cubes de données par Jim Gray et al., et par Venky Harinarayan , Anand Rajaraman et Jeff Ullman .
À cette époque, un groupe de travail sur les bases de données multidimensionnelles (« Arbeitskreis Multi-Dimensionale Datenbanken ») a été créé à la Gesellschaft für Informatik allemande .
Datacube Inc. était une société de traitement d'images vendant du matériel et des applications logicielles pour le marché PC en 1996, sans toutefois aborder la notion de cubes de données en tant que tels.
L’initiative EarthServer a établi des exigences en matière de service de cubes de données géographiques.
Standardisation
En 2018, le langage de base de données ISO SQL a été étendu avec la fonctionnalité de cube de données sous le nom de « SQL – Partie 15 : Tableaux multidimensionnels (SQL/MDA) ».
Web Coverage Processing Service est un langage d'analyse de cubes de données géographiques publié par l' Open Geospatial Consortium en 2008. En plus des opérations communes sur les cubes de données, le langage connaît la sémantique de l'espace et du temps et prend en charge les cubes de données de grille réguliers et irréguliers, basés sur le concept de données de couverture .
MultiDimensional eXpressions est une norme industrielle pour l'interrogation des cubes de données d'entreprise, initialement développée par Microsoft .
Mise en œuvre
De nombreux langages informatiques de haut niveau traitent les cubes de données et autres grands tableaux comme des entités uniques, distinctes de leur contenu. Ces langages, dont Fortran , APL , IDL , NumPy , PDL et S-Lang sont des exemples, permettent au programmeur de manipuler en masse des séquences vidéo complètes et d'autres données grâce à des expressions simples issues de l'algèbre linéaire et du calcul vectoriel . Certains langages (comme PDL) font la distinction entre une liste d'images et un cube de données, tandis que d'autres (comme IDL) ne la font pas.
Les SGBD matriciels (Systèmes de Gestion de Bases de Données) offrent un modèle de données qui prend en charge de manière générique la définition, la gestion, la récupération et la manipulation de cubes de données n-dimensionnels. Cette catégorie de bases de données a été initiée par le système Rasdaman dès 1994.
Applications
Les tableaux multidimensionnels permettent de représenter de manière pertinente des données spatio-temporelles issues de capteurs, d'images et de simulations, mais aussi des données statistiques dont la sémantique des dimensions n'est pas nécessairement spatiale ou temporelle. En général, tout type d'axe peut être combiné avec un autre pour former un cube de données.
Mathématiques
En mathématiques, un tableau unidimensionnel correspond à un vecteur, un tableau bidimensionnel ressemble à une matrice ; plus généralement, un tenseur peut être représenté comme un cube de données n-dimensionnel.
Sciences et ingénierie
Pour une séquence temporelle d'images couleur, le tableau est généralement quadridimensionnel, les dimensions représentant les coordonnées X et Y de l'image, le temps et le plan de couleur RGB (ou autre espace colorimétrique ). Par exemple, l'initiative EarthServer réunit des centres de données de différents continents proposant des séries temporelles d'images satellites 3D x/y/t et des données météorologiques 4D x/y/z/t pour la récupération et le traitement côté serveur via le langage de requête WCPS ( Open Geospatial Consortium ) pour les cubes de données géographiques.
Un cube de données est également utilisé dans le domaine de la spectroscopie d'imagerie , car une image à résolution spectrale est représentée comme un volume tridimensionnel. Les cubes de données d'observation de la Terre combinent des images satellitaires telles que Landsat 8 et Sentinel-2 avec des analyses de systèmes d'information géographique .
Intelligence d'affaires
Dans le traitement analytique en ligne (OLAP), les cubes de données sont un agencement courant de données commerciales adapté à l'analyse sous différents angles grâce à des opérations telles que le découpage, le fractionnement, le pivotement et l'agrégation.