Datawarehouse: comprendre et identifier

Les sources de données d’une entreprise proviennent essentiellement des bases de production. Ces données sont éparpillées dans des systèmes multiples, pas nécessairement compatibles entre eux. Ces bases sont conçues pour être efficaces pour les fonctions sur lesquelles elles sont spécialistes. Elles sont donc peu structurées pour l’analyse, avec souvent comme objectif principal de conserver l’information. Comme bases de production elles sont focalisées sur les fonctions critiques de l’entreprise, et doivent être en mesure de servir l’utilisateur avec un temps de réponse rapide et structurées dans ce but.

Ces systèmes sont donc peu adaptés à la vision à long terme et donc à la prise de décision. Le datawarehouse va avoir pour objectif d’agréger et de valoriser ces données provenant de différentes sources. Il va permettre à l’utilisateur d’y accéder de manière simple et ergonomique.

Qu’est-ce qu’un Datawarehouse ?

Le datawarehouse ou entrepôt de données est une base de données utilisée pour collecter et stocker des informations provenant d’autres bases de données dans le cadre de la prise de décision.

Les bases de données opérationnelles (bases de données de la production) sont collectées, transformées et chargées dans le datawarehouse via l’outil ETL (Extract Transform Load ).

Qu’est-ce qu’un infocentre ?

Bien qu’un infocentre peut être considéré comme un datawarehouse, il est l’ancêtre d’un datawarehouse.

L’infocentre était une base de données utilisée pour des besoins décisionnels. Il contient une copie de travail d’une partie de la base de production, mie à jour périodiquement.

L’infocentre était une première solution pour soulager le système de production des requêtes complexes du décideur. Avec l’accroissement des besoins en matière de décision, que ce soit en termes de quantité́ de données collectées ou en nombre d’utilisateurs potentiels, l’infocentre se révéla bien insuffisant. Le Datawarehouse l’a rapidement remplacé.

Qu’est-ce qu’un Datamart ?

Un Datamart est un sous-ensemble logique d’un datawarehouse. Il est généralement exploité en entreprise pour restituer des informations ciblées sur métier spécifique. Il existe, par exemple, des datamart marketing ou commercial constitués de données ciblées, organisées et regroupées.

Les 4 caractéristiques d’un Datawarehouse

Un datawarehouse est une base de données organisée et structurée dans le cadre décisionnel. Elle n’est pas une copie des bases de production. Un datawarehouse doit répondre aux  quatre principes suivant selon, Bill Immon:

  1. Orienté sujet
    Les bases de production sont, généralement, organisées par processus fonctionnels (facturation, compatbilité, RH etc.).  Au coeur du Datawarehouse, les données sont organisées par thème. Les données propres à un thème, les ventes par exemple.
  2. Intégré
    Les données proviennent de plusieurs sources différentes. Avant d’être intégrées au sein du datawarehouse elles doivent être mise en forme et unifiées afin d’en assurer la cohérence. Cela nécessite une forte normalisation, de bénéficier d’un référentiel unique et cohérent ainsi que de bonnes règles de gestion. Cette phase est très complexe et représente une charge importante dans la mise en place d’un datawarehouse.
  3. Non volatile
    Un datawarehouse veut conserver la traçabilité des informations et des décisions prises. Les données ne sont ni modifiées ni supprimées. Une requête émise sur les mêmes données à plusieurs mois d’intervalles doit donner le même résultat..
  4. Historisé
    Contrairement au système de production, les données ne sont jamais mises à jour. Chaque nouvelle données est insérée. Un référentiel de temps doit être mis en place afin de pouvoir identifier chaque donnée dans le temps.

Table de faits et table dimension

La modélisation des bases de données relationnelles utilise les concepts d’entités et de relations afin de construire des tables. En BI, la modélisation d’un datawarehouse utilise les notions de table de faits et table de dimension.

Qu’est-ce qu’une table de faits ?

Une table de fait représente un sujet d’analyse (CA par client et par produit et par période). C’est une table centrale du modèle dimensionnel. Elle est constituée de plusieurs mesures, appelées aussi axes, relatives au sujet traité. Ces mesures sont généralement numériques.

Mais rappelons que certaines tables de faits peuvent contenir aucun attribut et représentent que des liaisons entre tables dimensionnelles.

Exemple de table de faits:

table de faits

 

  • Une table de faits contient les valeurs numériques de ce qu’on désire mesurer;
  • Une table de faits contient les clés associées aux dimensions. Il s’agit des clés étrangères dans la table de faits;
  • En général une table de fait contient un petit nombre de colonnes;
  • Une table de fait contient plus d’enregistrements qu’une table de dimension;
  • Les informations dans une table de fait sont caractérisées par :
    1. Elles sont numériques et sont utilisées pour faire des SUM, AVG…
    2. Les données doivent être additives ou semi-additives;

Qu’est-ce qu’une table de dimension ?

Une table dimension est une table qui contient les axes d’analyse (les dimensions) selon lesquels on veut étudier des données observables (les faits) qui, soumises à une analyse multidimensionnelle, donnent aux utilisateurs des renseignements nécessaires à la prise de décision.

On appelle donc « dimension » un axe d’analyse. Il peut s’agir des clients ou des produits d’une entreprise, d’une période de temps comme un exercice financier, des activités menées au sein d’une société, etc.

table dimension

  • Une table de dimension contient le détail sur les faits;
  • Une table de dimension contient les informations descriptives des valeurs numériques de la table de faits;
  • Vu que les données dans la table de dimensions sont normalisées, elle contient un plus grand nombre de colonnes;
  • Une table de dimension contient en général beaucoup moins d’enregistrement qu’une table de faits;
  • Les attributs d’une table de dimension sont souvent utilisés comme « Lignes » et « Colonne » dans un rapport ou résultat de requête. Par exemple, les attributs textuels d’un rapport proviennent souvent d’une dimension