un peu d'histoire #2
Par Decidim Eurl
Dans le premier épisode, nous avons observé la naissance de l’informatique de gestion transactionnelle, puis celle de l’informatique décisionnelle et l’apparition du célèbre modèle en étoile. Si aucun doute n’existe sur la perfection du schéma en étoile pour l’analyse de données, deux grandes architectures vont diviser le monde de la data décisionnelle depuis la fin du XXème siècle jusqu’au début du XXIème…
deux maîtres
Il existe deux grands théoriciens ou entrepreneurs du décisionnel :
Bill Inmon | Ralph Kimball |
---|---|
Les mêmes termes prennent des sens différents selon que vous suivez la théorie de l’un ou de l’autre. Il en va de même pour les pratiques et les concepts : ils différent. Ce sont deux “écoles” qui proposent deux types d’architectures différentes, à suivre à la lettre ou à hybrider.
deux paradigmes
Pour Inmon, le data warehouse est la pièce centrale du système décisionnel, il est construit de manière globale en suivant la troisième forme normale (suivez ce lien pour le détail sur cette forme).. C’est une tâche considérable et un prérequis pour en extraire les data marts, qui ne sont autres que les schémas en étoiles dédiés à l’analyse. (On peut imaginer d’autres types de data marts pour d’autre cas d’usage ou des analyses spécifiques et ne prenant pas la forme d’un schéma en étoile.). On pourra créer à partir du data warehouse autant de data marts qu’il y a de sujets d’analyses voire d’outils de visualisation. La création du data mart est facilitée, accélérée par l’existence du data warehouse exhaustif.
Inmon:
Data warehouse is one part of the overall business intelligence system. An enterprise has one data warehouse, and data marts source their information from the data warehouse. In the data warehouse, information is stored in 3rd normal form
Pour Kimball, le travail consiste à d’abord construire les data marts décisionnels, donc les schémas en étoile (ou autres), par domaine métier d’analyse. L’union des data marts forme le data warehouse. Le succès de Kimball vient de la rapidité de la mise en œuvre globale et aussi de la rapidité de la livraison du premier data mart.
Kimball:
Data warehouse is the conglomerate of all data marts within the enterprise. Information is always stored in the dimensional model.
comparatif
Inmon | Kimball |
---|---|
D’abord le data warehouse complet | les data marts en premier |
un data warehouse normalisé | un data warehouse dénormalisé |
le data mart est extrait dénormalisé du data warehouse | le data mart est un composant du data warehouse |
le data warehouse est construit avec une intégrité référentielle | le data mart n’a pas d’intégrité référentielle, celle-ci est prise en charge par l’alimentation ETL |
synthèse
Avec Ralph Kimball, La génération itérative du data warehouse, data mart par data mart séduit les utilisateurs qui voient une progression rapide des mises en production. Par la suite, la maintenance et le cycle de vie de l’ensemble est ralenti du fait de la nécessité de repartir au début de la chaîne pour ajouter des informations. Du fait de sa structure, assurer l’intégrité des mises à jour du data warehouse peut être un challenge.
The Data Warehouse is nothing more than the union of all the data marts (le data warehouse n’est rien d’autre que l’union de tous les datamarts)
Avec Bill Inmon, la complexité réside dans la constitution d’un DWH exhaustif qui représente une charge de travail conséquente, mais la démarche offre ensuite plus de souplesse pour la génération des data marts métiers.
You can catch all the minnows in the ocean and stack them together and they still do not make a whale (vous pouvez attraper toutes les sardines de l’océan et les réunir ensemble, ça ne fait pas une baleine!)
Beaucoup d’experts de nos jours confondent la notion de schéma en étoile et la théorie de Kimball. C’est une erreur de mon humble point de vue. Mais on peut affirmer que le data warehouse de Kimball est un conglomérat de schémas en étoiles, voire en flocon, dont les branches appelées dimensions ou table de dimensions peuvent se rejoindre.