Élément central de la plupart des systèmes OLAP, le cube OLAP est une base de données multidimensionnelle organisée en tables qui permet de traiter et d’analyser plusieurs dimensions de données beaucoup plus rapidement et efficacement qu’une base de données relationnelle.
Une table de base de données relationnelle est structurée comme une feuille de calcul et stocke des enregistrements individuels dans un format bidimensionnel (ligne et colonne). Chaque « fait » de donnée de la base de données se trouve à l’intersection de deux dimensions (une ligne et une colonne), qui peuvent être par exemple la région et les ventes totales.
Les outils de reporting SQL et de base de données relationnelle peuvent certes interroger, rapporter et analyser des données multidimensionnelles stockées dans des tables, mais les performances ralentissent à mesure que les volumes de données augmentent. Et il faut beaucoup de travail pour réorganiser les résultats de manière à se focaliser sur différentes dimensions.
C’est là qu’intervient le cube OLAP. Le cube OLAP étend la table avec des couches supplémentaires, chacune ajoutant des dimensions supplémentaires, généralement le niveau suivant dans la « hiérarchie conceptuelle » de la dimension. Par exemple, la couche supérieure du cube peut organiser les ventes par région, et les couches supplémentaires peuvent être le pays, l’État/la province, la ville et même un magasin spécifique.
En théorie, un cube peut contenir un nombre infini de couches. (Un cube OLAP représentant plus de trois dimensions est parfois appelé un hypercube.) Des cubes plus petits peuvent également exister au sein des couches : par exemple, chaque couche de magasin peut contenir des cubes organisant les ventes par vendeur et par produit. En pratique, les analystes de données créeront des cubes OLAP contenant uniquement les couches dont ils ont besoin, pour une analyse et des performances optimales.