un peu d'histoire #3
Par Decidim Eurl
Dans ce nouvel épisode, nous présentons d’une espèce en voie de disparition: le cube. Tout le monde en parle, en a vu, souvent à tort. Il est bel et bien en train de disparaître. Si vous en croisez un tel une succube venue des enfers, apprenez en lisant ces quelques lignes à le démystifier…
entités - relations
L’enjeu de l’informatique décisionnelle ou business intelligence est de requêter les données issues des systèmes opérationnels avec des performances de l’ordre de la seconde. A cette fin, les organisations ont mis en places des architectures à plusieurs niveaux, raffinant la donnée brute, jusqu’à une forme proche du diamant, la base de données analytique. De celle ci, les utilisateurs peuvent extraire prestement des réponses à des interrogations posées en termes métiers, et de manière sécurisée. Entre la forme brute et la forme analytique, on trouve un data warehouse ou un datamart décisionnel. Celui ci est composé d’une ou plusieurs tables de faits entourées de tables de dimensions formant des étoiles. Il s’agit d’un schéma relationnel ou “entités-relations”, d’une forme simple, pour une lecture rapide. Chaque table de faits est reliée à plusieurs dimensions: on parle de schéma en étoile. Il est hébergé par un système de base de données relationnelle. Il est dual: d’une part relationnel par sa nature physique, et d’autre part multidimensionnel par sa modélisation.
cube
Interroger un système de base de données relationnelle requiert une expertise du language SQL, de la modélisation des tables, et ne permet (permettait) pas une sécurisation des sources par profil utilisateur. D’autre part, les questions complexes, comme la comparaison temporelle des indicateurs, nécessitent des temps de lecture et calculs important. Une technologie nouvelle a vue le jour à la fin du XXème siècle pour répondre au besoin de l’analyse: le moteur de base de données multidimensionnelle ou Multidimensional On Line Analytical PRocessing (MOLAP). Une base de données hébergée sur un tel moteur est vulgairement appelée un cube. Il s’agit des données du data warehouse ou datamart sous-jacent mais dans un format nouveau et adapté. Les dimensions, qui n’étaient auparavant que des tables reliées à la table de faits, sont ici des axes d’analyse métier interrogeables par leurs coordonnées. Comme dans une feuille de tableur, 2 dimensions, il est possible de connaître la valeur de la case E4, le cube peut retourner la marge des ventes de produits rouges en asie pacifique, dans le cadre de la promotion “halloween”, en 2021. L’utilisateur peut demander la valeur de n’importe quelles cellules dans le système multidimensionnel, le cube répond très rapidement se basant sur des calculs réalisés et stockés au préalable par le moteur multidimensionnel.
extinction de l’espèce
Si le cube a rendu de considérables services aux organisations, il présente un défaut majeur : sa conception. Le cube doit être conçu au dessus du datawarehouse/datamart et c’est une tâche complexe. Le progrès technologique permet de remplacer la base de données multidimensionnelle par une base de données relationnelle en mémoire. Une nouvelle forme de stockage de la donnée relationnelle en colonne et non plus en ligne, couplée à une forte compression et une profusion de mémoire vive sur les machines modernes permet d’interroger un moteur relationnel avec des performances comparables à celle du cube. La nouvelle couche analytique conserve la modélisation relationnelle du data warehouse/datamart. Il suffit de lui adjoindre une sémantique métier, et la sécurisation de l’accès aux données. Voilà notre bon vieux cube dans les limbes parmi les succubes et autres dinosaures.
comment vaincre un cube en cas d’attaque ou comment reconnaître un cube d’une base relationnelle
En résumé, l’appellation cube est utilisée pour toute surcouche analytique construite au dessus d’un schéma relationnel en étoile (forme multidimensionnelle). Mais seule la surcouche analytique multidimensionnelle est un cube, c’est à dire un espace multidimensionnel.
Si vous demandez la création d’un indicateur avec la valeur constante 1 pour toute combinaisons possibles de dimensions… Le moteur mutidimensionnel, le cube, va exploser: il va assigner cette valeur sur toutes les cellules croisant les coordonnées de ces dimensions, soit des milliards de milliards de fois. Imaginons, 365 jours sur 5 ans, dans 4000 magasins, sur 1000 produits, 40 promotions, 5 tailles, 12 couleurs, 50000 clients… Le moteur relationnel va juste enregistrer dans sa mémoire la valeur 1, une fois.
Cet exemple illustre les différences entre les deux générations de moteurs analytique, et la plus grande simplicité de conception du modèle relationnel en mémoire. C’est ce dernier qui a permis l’éclosion de la self service business intelligence.