La modlisation multidimensionnelle
Jalal Tajeddine : Chef de projets Business Intelligence
Certifi Business Objects
Novembre 2012
Sommaire
Chapitre 1 : La Business Intelligence
Chapitre 2 : La modlisation multidimensionnelle
Chapitre 3 : Les ETL (Principe, technique et exemple)
Business Intelligence
BI: Dfinition
La Business intelligence est un ensemble de moyens, des outils et des
mthodes qui permettent de collecter, consolider, modliser et
restituer les donnes dune entreprise en vue doffrir une aide la
dcision et de permettre aux responsables davoir une vue densemble
de lactivit traite.
BI: Apport
Accrotre les ventes
Amliorer les relations avec le client
Fabriquer de meilleurs produits
Offrir de meilleurs services
Rationaliser les oprations
Rduire les cots
Prendre les meilleures dcisions
BI: Caractristique
Possibilit de poser une grande varit de questions au systme,
certaines prvisibles et planifies comme des tableaux de bord et
d'autres imprvisibles.
Permettre l'utilisateur d'effectuer les requtes qu'il souhaite, par
lui-mme, sans l'intervention de programmeur.
Il sera souvent ncessaire de filtrer, d'agrger, de compter, sommer
et de raliser des statistique (moyenne, crat-type, .)
BI: Caractristique
Les transferts de donnes du systme oprationnel Vers le systme
dcisionnel seront rguliers avec une priodicit bien choisie
dpendante de l'activit de l'entreprise.
Chaque transfert sera contrl avant d'tre diffus.
L'utilisation se rsume donc un chargement priodique, puis des
interrogations non rgulires, non prvisibles, parfois longues
excuter.
Business Intelligence
Tout systme d'information dcisionnel (SI) telle que le
sont les data warehouses assurent quatre fonctions
fondamentales, savoir la
Collecte,
L'intgration,
La diffusion et
La prsentation des donnes.
ces quatre fonctions s'ajoute une fonction de contrle du SID lio
mme (Ladministration).
Business Intelligence : Collecte
La collecte
La collecte des donnes (parfois appele data pumping)
est l'ensemble des tches consistant dtecter,
slectionner, extraire et filtrer les donnes brutes issues
des environnements pertinents compte tenu du primtre
du SID.
Les sources de donnes internes et/ou externes tant souvent
htrognes tant sur le plan technique que sur le plan smantique
(donnes complexes)
Elle s'appuie notamment sur des outils d'ETL (Extract-Transform-Load)
pour extraction, transformation et chargement de donnes.
Business Intelligence : Lintgration
Lintgration
Lintgration des donnes, c'est--dire leur regroupement
en un ensemble technique, logique et smantique
homogne appropri aux besoins de l'organisation ; elle
consiste concentrer les donnes collectes dans un
espace unifi, dont le socle informatique essentiel est
l'entrept de donnes. lment central du dispositif, il
permet aux applications dcisionnelles de bnficier
d'une source d'information commune, homogne,
normalise et fiable, susceptible de masquer la diversit
de l'origine des donnes.
Business Intelligence : Diffusion
La diffusion
La diffusion, ou la distribution d'informations labores partir des
donnes dans des contextes appropris aux besoins des individus ou
des groupes de travail utilisateurs. c'est--dire elle met les donnes la
disposition des utilisateurs, selon des schmas correspondant au profil
ou au mtier de chacun.
Business Intelligence : Prsentation
La prsentation
Cette quatrime fonction, la plus visible pour l'utilisateur, rgit les
conditions d'accs de l'utilisateur aux informations.
Elle assure le fonctionnement du poste de travail, le
contrle d'accs, la prise en charge des requtes, la
visualisation des rsultats sous une forme ou une autre. Elle
utilise toutes les techniques de communication possibles
(outils bureautiques, requteurs et gnrateurs d'tats
spcialiss, infrastructure web, tlcommunications
mobiles, etc.).
Business Intelligence : Administration
Ladministration
Ladministration, qui gre le dictionnaire de donnes et le processus
d'alimentation de bout en bout, car le systme
dinformation dcisionnelle doit tre lui-mme pilot. C'est
la fonction transversale qui supervise la bonne excution
de toutes les autres. Elle pilote le processus de mise jour
des donnes, la documentation sur les donnes (les mta
donnes), la scurit, les sauvegardes, la gestion des
incidents.
Business Intelligence
Remarque
En pratique, les fonctions de collecte et d'intgration sont troitement
lies entre elles, et sont gnralement associes au data warehouse.
De mme, diffusion et prsentation sont des fonctions fortement
"orientes sujet", tournes vers l'utilisateur et son mtier, manipulant
des contenus forte valeur ajoute informationnelle et non des
donnes brutes; elles sont donc fortement imbriques logiquement et
techniquement
Business Intelligence : Schma global
Business Intelligence : Data Warehouse
Le data Warehouse est une collection de donnes
orientes sujet, intgres, non volatiles et historises,
organises pour le support dun processus daide
la dcision
Principe : Mettre en place une base de donnes ddies
pour les analyses.
Business Intelligence : Caractristique du DW
Il existe 5 caractristiques des DW
Orientes sujet
Donnes intgres
Donnes non volatiles
Donnes dates ,et historises
Donnes multidimensionnelles
Business Intelligence : Pr-requis du DW
Besoins fonctionnels
Expectations sur les donnes, sources de donnes, entretiens
avec les utilisateurs finaux, limites et complexits
Data Profiling
Qualit, primtre, contexte des sources de donnes, donnes
manquantes ou nulles, intervention humaine, suppression des
donnes, planification de dveloppement pragmatiques.
Business Intelligence : Pr-requis du DW
Pr requis de scurit
Un paradoxe:
Entrept de donnes: publier largement les donnes
Scurit: restriction des donnes pour ceux qui en auront besoin
Scurit pour les dveloppeurs .
Business Intelligence : Pr-requis technique du DW
Architecture
Outil ETL vs. dveloppement spcifiques
Processus en batch vs. Streaming des donnes
Automatiser lordonnancement
Qualit des donnes/Nettoyage des donnes
Mtadonnes
Scurit
Staging
Business Intelligence : Donnes oprationnelles
Les donnes ne sont pas simplement extraites
Donnes des systmes oprationnels sont svrement non-intgre
Mme donnes, noms diffrents
Mme noms, donnes diffrentes
Diffrents cls, mmes donnes
Codification des donnes non standardises(male/female, 0/1,
etc)
Diffrentes mesures, et mesures diffrents niveaux de dtails
Systme technologique sources diffrentes (DB2, SQL Server,
OS/390 DB2, etc)
Premier chargement, Chargement des deltas
Business Intelligence : Les Datamarts
Sous-ensemble dun entrept de donnes
Destin rpondre aux besoins dun secteur ou dune fonction
particulire de lentreprise
Point de vue spcifique selon des critres mtiers
Business Intelligence : OLTP vs DW
OLTP
DW
Orient transaction
Orient analyse
Orient application
Orient sujet
Donnes courantes
Donnes historises
Donnes dtailles
Donnes agrges
Donnes volutives
Donnes statiques
Utilisateurs nombreux,
administrateurs/oprationnels
Utilisateurs peu nombreux,
manager
Temps dexcution: court
Temps dexcution: long
Business Intelligence: Gnrations
1re gnration de systme dcisionnel (Annes 90)
Architecture
Sources
Entrept
BD
Fichiers (Texte,
Tableaux)
Dfinition optionnelle
Magasin
Magasin Tableaux croiss
dynamiques
Tableu
r
Business Intelligence: Gnrations
1re gnration de systme dcisionnel.
Exemples danalyses dcisionnelles
Analyse des quantits de ventes mensuelles
Analyse du montant des ventes mensuelles par zone
Analyse des ventes mensuelles et journalires (en valeur et
quantit) des employs de la socit
Analyse des quantits vendues par client et par ville
Business Intelligence: Gnrations
1re gnration de systme dcisionnel.
Cration ED par exportation de tables Access dans Excel
Inconvnients :
Exportation de la totalit de la table
Impossibilit de faire des jointures entre tables
Importation de tableaux Excel dans Access
Dfinitions des index si ncessaire
Dfinition de la cl primaire
criture de la requte de jointure
Exportation vers Excel
Cration MD (tableau crois dynamique)
Business Intelligence: Gnrations
Zone
Somme Vente Mois
Employ
1
1
45
2
30
3
5
4
85
Total
165
Mois
Magasin 1
(Tous)
2
70
30
20
40
160
(Tous)
5
120
5
40
5
170
9
120
10
60
10
200
10
85
30
90
30
235
12 Total
40 480
105
120 335
50 220
210 1140
Magasin 2
Somme Vente
Client
Zone
Employ
A
B
C
D
E
F
Total
NORD
2
105
105
3
55
280 335
Somme NORD
160
280 440
SUD
1
120
260
100
480
4
115
105
220
Somme SUD
120
260
215
105
700
Total
120
260
215
105
160
280 1140
ED
Employ
1
1
1
1
Zone
SUD
SUD
SUD
SUD
Client
B
B
B
B
Date
Mois Vente
17/09/2002
9
70
16/05/2002
5
90
02/02/2002
2
60
04/01/2002
1
40
Inconvnient : pas
de manipulation
possible
Business Intelligence: Gnrations
2me gnration de systme dcisionnel
fin annes 90
Sources
BD
Fichiers (Texte,
Tableaux)
Entrept
BD
relationnelle
Environnemen
Magasin
Magasin
t spcifique
(vue)
(univers BO,)
SQL
Requteur graphique
(BO, Impromptu,
Discoverer)
Business Intelligence: Gnrations
2me gnration de systme dcisionnel
Exemple dunivers Business Object
Business Intelligence: Gnrations
3me gnration de systme dcisionnel
annes 2000
Magasin
Environnement
Magasin
spcifique
Requteur
graphique
Sources
BD
Fichiers (Texte, Tableaux)
Entrept
BD (R, OO, OR)
+
Historisation
Magasin BD multidimensionnelles
Outils OLAP (Power Play,
Express,)
Business Intelligence: Gnrations
Exemple de source (relationnel)
Objectif : "Analyse mensuelle des ventes de produits aux clients"
CATEGORIES
codeCa
designation
codeCaSup#
PRODUITS
codeP
description
prix_unit
codeCa#
LIGNES_FACT
refF#
codeP#
qte
FACTURES
refF
dateF (jj-mm-aa)
codeC#
CLIENTS
codeC
nom
prenom
adr_lib
adr_ville
Business Intelligence: Gnrations
Exemple de source (relationnel)
PRODUITS
codeP
description
prix_unit
codeCa#
LIGNES_FACT
refF#
codeP#
qte
CATEGORIES
codeCa
FACTURES
designation
volutions des prix ? refF
codeCaSup#
dateF (jj-mm-aa)
jour inutile
codeC#
Inadquations :
adresse
dtaille
inutile
Absence de connaissance
Information inutile
pays ?
Forme inadapte
Non mise en vidence des analyses possibles
ventes mensuelles
CLIENTS
codeC
nom
prenom
adr_lib
adr_ville
Business Intelligence: Gnrations
Exemple d'entrept (relationnel)
volutions
des prix
PRODUITS
codeP
description
prix_unit
CodeCa#
CLIENTS ventes
mensuelles
suppressioncodeC
de l'adressenom
prenom
suppression
ville
du jour
codeP#
HISTO_PRIX
codeP#
date (jj-mm-aa)CATEGORIES
codeCa
prix_unit
designation
codeCaSup#
pays
PAYS
codeP
pays
Inadquations
Absence de connaissance
Information inutile
Forme inadapte, mais nombreuses jointures
Non mise en vidence des analyses possibles
LIGNES_FACT
refF#
codeP#
qte
montant
FACTURES
refF
dateF (mm-aa)
codeC#
Modlisation
multidimensionnelle
Plan
Modlisation dimensionnelle
Faits & Dimensions
Hirarchies
Modle en flocon
Assemblage des modles dimensionnels
Dimensions volutions lentes
Mthode de conception
Modlisation multidimensionnelle
La modlisation consiste transformer les donnes sources en
structures logiques dcisionnelles finalises.
La modlisation dimensionnelle diffre de la modlisation
entit/relation.
Cest la seule technique fiable permettant de fournir des donnes
aux utilisateurs finaux dans le cadre dun systme dcisionnel.
Modlisation E/R
La modlisation entit/relation est adapte aux systme OLTP.
Elle vise liminer les redondances
Il est bien adapt aux transactions
Le modle E/R et les systme dcisionnels
Il faut lviter dans les systmes dcisionnels !!
Lutilisateur ne peut ni lire ni intgrer un tel modle
Le modle E/R nest pas interrogeable par voie logicielle
Ladoption dun modle E/R pour un systme dcisionnel aura des
consquences catastrophiques au niveau des performances
Modlisation multidimensionnelle
On peut dfinir cinq axes de qualification dun modle de donnes
dimensionnelle
Lisibilit pour lutilisateur final
Performance au chargement des donnes
Performance lexcution des requtes
Ladministration des donnes
L Evolutivit du modle
Modlisation multidimensionnelle : Lisibilit pour lutilisateur final
Lutilisateur final (analyste) doit pouvoir facilement manipuler les
donnes.
Les donnes doivent tre simples comprendre, mais permettre
plusieurs analyses diffrentes selon des critres diffrents (dimensions)
Plus le modle est lisible (intuitif) pour les utilisateurs, moins sera
long (coteux) de dfinir une sur couche pour le rendre
comprhensible
Modlisation multidimensionnelle : Performance au chargement des
donnes
Les entrepts de donnes sont constitus de grosses quantits de
donnes.
Les donnes sont souvent de sources htrognes
Il est assez simple de charger dans une structure simple. Le
chargement ncessite souvent une transformation/filtrage des
donnes sources
Modlisation multidimensionnelle : Performance l excution des
requtes
L excution des requte doit tre rapide pour les analystes
On estime gnralement 30 secondes comme un maximum
Il est gnralement ncessaire de crer des agrgations de donnes
et/ou des redondances
Modlisation multidimensionnelle : Ladministration des donnes
Ladministration du systme est fondamentale
La difficult nest pas tant de construire lentrept mais de le faire
vivre.
Matrise et industrialisation de lextraction des donnes
Modlisation multidimensionnelle : L Evolutivit du modle
Le dveloppement de lentrept est bien plus incrmental
quitratif.
Chaque projet ne doit pas dboucher sur un modle
dinformation isol des autres.
Modle dimensionnel ou Schma en toile
Table de faits
Une table de faits est une table qui contient les donnes analyser.
Une table de fait est souvent reconnaissable par sa taille. En effet,
lorsqu'on visualise un schma, c'est celle qui est au centre et
qui est la plus grande.
Ce type de table est aussi facilement reconnaissable car elle comporte
un grand nombre de cls trangres afin de la lier avec des
tables de dimensions.
Finesse ou grain de la table de faits
L'unit de temps la plus petite est appele le grain/finesse de la table de
faits.
Dans notre exemple, le grain est journalier.
Pour connatre celui-ci, il suffit de consulter la table de dimension
Temps et de regarder la plus petite valeur (jour_de_semaine).
Les faits
La table de faits peut aussi contenir des champs qui ne sont pas des cls
trangres. Ce sont les faits (ou mesures).
Une mesure est un indicateur danalyse de type numrique et
cumulable
Les faits doivent tre valoriss de faon continues et tre additifs.
Certains faits sont drivs de faits lmentaires, on les nomme des
faits calculs.
Ils doivent tre pris en compte lors de la modlisation
Ils peuvent tre physiquement stocks ou non dans la tables
de faits.
Faits semi-additifs et non additifs
Il peut exister des faits semi-additifs et non additifs.
Les faits semi-additifs peuvent tre additionns pour
certaines dimensions seulement
Les faits non additifs ne peuvent tre ajouts.
Concepts de base
Proprits des mesures
Additivit : somme sur toutes les mesures
Exemple : CA ; Quantit vendue, ...
Semi-additivit : somme sur certaine dimensions
Exemple : nbre de contacts clients, Etats des stocks, ...
Non-additivit : pas de somme , recalculer
Exemple : encours moyen fin de mois, plus grand CA pour
lensemble des magasins
Table de dimensions
Dans un schma, les tables qui entourent la table de fait sont
appeles tables de dimensions.
Une dimension est un axe danalyse selon lequel sont visualises les
mesures dactivit dun sujet danalyse.
Ces tables sont composes d'attributs qui sont souvent de type
caractre.
Ces attributs servent stocker la description des dimensions
et sont utiliss comme source de contraintes et d'en-ttes de
lignes dans le jeu de rponses de l'utilisateur.
Table de dimensions : Exemple
Modlisation possible dans un OLTP
SELECT *
FROM Locations, States, Countries
where Locations.State_Id = States.State_Id
AND Locations.Country_id=Countries.Country_Id
AND Country_Name='USA'
Dimension de la zone gographique
Dim_id
Loc_cd
Name
State_NM
Country_NM
1001
IL01
Chicago
Loop
Illinois
USA
1002
IL02
Arlington
Illinois
USA
1003
NY01
Brooklyn
New York
USA
1004
TO01
Toronto
Ontario
Canada
1005
MX01
Mexico
City
Distrito
Federal
Mexico
SELECT *
FROM Location_dim
where Country_Name='USA'
Redondance
Attributs ou Faits
Il est important de bien comprendre la diffrence entre un attribut et
un fait afin de placer ceux-ci dans les bonnes tables (dimensions||
faits). On peut s inspirer des rgles simples suivantes.
Relation entre schma et reporting
Dimension Temps
Le DW est une srie temporelle
Conceptuellement nous navons pas besoin d une table de
dimension temps, les hirarchies peuvent tre obtenues avec des
fonctions partir de date/heure.
Pour des questions de performance il est prfrable de crer une
table de dimension
Avec un grain journalier, 10 ans dexploitation -> ~3653 tup.
Dimension Temps
Dim_id
Month
MonthName
Quarter
QuarterName
Year
1001
Jan
Q1
2005
1002
Feb
Q1
2005
1003
Mar
Q1
2005
1004
Apr
Q2
2005
1005
May
Q2
2005
Dimension Produit
Prod_id Prod_cd Name
Category
1001
STD
Short-Term-Disability
Disability
1002
LTD
Long-Term Disability
Disability
1003
GUL
Group Universal Life
Life
1004
PA
Personal Accident
Accident
1005
VADD
Voluntary Accident
Accident
Schmas en toiles
Schmas en toiles
Slectionner les mesures
SELECT [Link], SUM([Link])
JOIN la table de FAIT avec les Dimensions
FROM Sales F, Time T, Product P,
Location L
WHERE F.TM_Dim_Id = T.Dim_Id
AND F.PR_Dim_Id = P.Dim_Id
AND F.LOC_Dim_Id = L.Dim_Id
Filtrer les Dimensions
AND [Link]='Jan' AND [Link]='2003'
AND L.Country_Name='USA'
Avantages:
-Simple comprendre
-Plus performant
-extensible
Group by' les niveaux dagrgation
GROUP BY [Link]
Schmas en toiles : Avantages et inconvnients
Schma en toile
Avantages
Facilit de navigation
Performances : nombre de jointures limit ; gestion des
donnes creuses.
Gestion des agrgats
Fiabilit des rsultats
Simple comprendre & extensible
Inconvnients
Toutes les dimensions ne concernent pas les mesures
Redondances dans les dimensions
Alimentation complexe.
Dimensions et hirarchies
Une dimension est un ensemble de valeur dcomposable.
Les valeurs d'une dimension sont gnralement organises
l'intrieur d'une hirarchie.
Ex: jours, mois, trimestre, semestre, anne,
Laccs au niveau suprieur dans une hirarchie est appel "rolling
up" et au niveau infrieur "drilling down"
Exemple de hirarchies
Dimension de production
Catgories,
Dpartement, etc.
Dimension gographique,
Villes
Rgion
Pays, etc.
Dimension temporelle
Annes
Trimestre
Mois, etc.
Hirarchie simple ou multiple
Exemple pour un suivi des ventes
Exemple pour une analyse des ventes
Exemple pour le pilotage des ventes
Forage vers le haut ou vers le bas
A remarquer que le forage se fait dans une Hirarchie
Si loutil danalyse du cube ne supporte pas les hirarchies multiples, il
faudra crer autant de hirarchies simples quil y a de hirarchies dans la
hirarchie multiple
Exemple
Exemple
S = ('VAnalyse', F, < D1, D2, D3>)
F = ('VENTES', {montant, qte})
D1 = ('TEMPS', {codeT, num_mois, lib_mois, annee}, <H1>)
D2 = ('PRODUITS', {codeP, description, prix_unit, sous_categ, categorie},
<H2>)
D3 = ('CLIENTS', {codeC, nom, prenom, ville, pays}, <H3>)
H1 = ('H_AN', <codeT, num_mois, annee>, {(num_mois, lib_mois)})
H2 = ('H_PROD', <codeP,sous_categ, categorie>, {(codeP, description)})
H3 = ('H_CLI', <codeC, ville, pays>, {(codeC, nom),(codeC, prenom)})
Merci de crer le modle dimensionnel
Rponse
Modlisation : Dmarche suivre
Schma en toile : modlisation conceptuelle spcifique
Dmarche de modlisation conceptuelle
Dfinition de la structure du schma
Identification du fait
Identification des dimensions
Dfinition dtaille du fait : identification des mesures
(code, dsignation, formule dextraction)
Dfinition dtaille de chaque dimension :
Identification des paramtres (nom, type)
Spcification des hirarchies
Connaissance prcise dun domaine (gographie)
Analyse des valeurs des sources (gamme, catgorie de
produits)
Association des attributs faibles aux paramtres des hirarchies
Stockage des hirarchies
Une dimension hirarchise peut tre stocke dans une table unique.
Des attributs seront rpts, non respect des formes
normales.
On a un schma en toile
Une dimension hirarchise peut tre stocke dans n tables en
relation pre-fils
On parle de schma en flocon
Schma flocon
Schma flocon
Modle en flocon
Avantages
Plus propre, respect de la 3NF
Gain de place de stockage (!)
Inconvnients
Plus complexe pour l utilisateur final
Plus de jointures, donc plus lent
Selon les spcialistes :
Evitez le floconage des dimensions, mme si elles sont
grandes, car les performances seront mauvaises !
Modle dimensionnel et E/R
Il est important de comprendre quun modle E/R se dcompose en
plusieurs schmas dimensionnels.
On crera un modle en toile pour chaque sujet analyser.
Un entrept de donnes est constitu de plusieurs schmas en toile
avec des dimensions communes
Schma en constellation
Assemblage des modles dimensionnels
Une des questions critiques de la construction dun systme
dcisionnel complet est la planification de la construction de lentrept.
Deux tendances extrmistes :
Perspective centralise et monolithique
Construction de zones thmatiques distinctes selon les
besoins ponctuels
Perspective centralise et monolithique
Cette approche peu de chances daboutir
Le temps de dveloppement dun entrept est souvent de plusieurs
annes/hommes !!
Le rsultat obtenu a beaucoup de chance de ne pas satisfaire les
utilisateurs.
Effet tuyau de pole
Construction de zone thmatiques distincts selon les besoins
ponctuels
Approche itrative
La pratique dmontr quune approche architecturale par tape est
la plus efficace.
Les datamarts permettent dviter de devoir planifier tout lentrept
de donnes, qui est une tche quasi insurmontable.
La cration de lentrept datamart par datamart risque de crer une
structure dimensionnelle incohrente.
Il faut intgrer les datamarts dans lentrept en dfinissant des
dimensions conformes et des faits standards
Schma constellation
B . Schmas multidimensionnels
Schma en Constellation
n sujet danalyse (Faits)
n axes danalyse (Dimensions) pouvant tre , partags entre
les diffrents faits.
Avantages:
Facilite les corrlation entre les diffrents sujets danalyse
Simplifie la modlisation avec la possibilit de partager les
dimensions.
Schma en constellation
Schma constellation
Schma en constellation :
Gnralisation des schmas en toile
Plusieurs faits et dimensions partages ou non
Consolidation des datamarts
Une fois les datamarts recenss, il faut les consolider pour dterminer
les dimensions conformes et les faits standards
Lutilisation dune matrice permet didentifier les dimensions
conformes, et celles qui sont importantes pour lentrept.
Matrice de larchitecture en bus de lentrept
Consolidation des datamarts
On appel une dimension conforme, une dimension qui a la mme
signification dans touts les tables de faits avec lesquelles elle peuvent
tre lies.
La responsabilit essentielle de la conception dun entrept de
donnes consiste tablir, diffuser, maintenir et appliquer les dimensions
conformes.
une dimension conforme est souvent un amalgame de
donnes provenant de plusieurs systmes oprationnels, voir de
donnes externes
Faits conformes
Il est galement ncessaire dtablir des faits (mesures)
conformes pour lentrept.
Par exemple un fait comme recette, bnfice ou prix doit tre
identique dans chaque datamart
Mme contexte dimensionnel
Mme unit de mesure
Units montaires (Francs, Euro, monnaies trangres !!)
Attention par exemple, au conditionnement, boite, douzaine,
kilo,
Dimension volution lente
Chaque dimension est indpendante de toutes les autres, mais
parfois le contenu d'une dimension peut changer par rapport au temps.
Le concepteur, doit admettre que les dimensions sont constantes
pour conserver une structure dimensionnelle indpendante.
Cependant, il est parfois ncessaire de procder des ajouts
mineurs afin de se rendre compte du caractre volutif de cette
dimension.
Ces dimensions quasi constantes sont appeles "dimensions
volution lente".
SCD : Slowly Changing Dimensions
Dimension volution lente du premier type (SCD1)
Les anciennes valeurs ne sont pas conserves. La nouvelle valeur
remplace simplement l'ancienne.
Dimension volution lente du second type (SCD2)
On conserve la situation initiale ainsi que la situation actuelle. On crera
alors un second enregistrement de la dimension avec la nouvelle valeur.
Ce deuxime tuple comporte videmment une nouvelle cl.
Dimension volution lente du troisime type (SCD3)
Ajout de nouveaux champs pour l'attribut concern. Il est aussi
possible d'ajouter un champ "Date d'effet".
La valeur du nouvel attribut est crase et la valeur du
champ (Date d'effet) est mise jour. Le contenu du champ
d'origine n'est jamais modifi.
Dimension volution lente du troisime type (SCD3)
Ajout de nouveaux champs pour l'attribut concern. Il est aussi
possible d'ajouter un champ "Date d'effet".
La valeur du nouvel attribut est crase et la valeur du
champ (Date d'effet) est mise jour. Le contenu du champ
d'origine n'est jamais modifi.
Grandes dimensions
Il est possible quune dimension atteigne une trs grande taille.
Ex : Dimension humaine pour un pays : ~ 100000000
Ex : Clients pour tlcom : ~10000000
Doit tre particulirement performante
Navigation rapide dans la dimension
Ne pas pnaliser la navigation dans la table de fait
Pas de doublons
La majorit des attributs sont moyennement intressants pour
lentrept.
Nom ou prnom de clients ??
Mini dimensions
On peut viter pas mal de problmes des grandes dimensions et/ou
des dimensions volution lente par lajout de mini dimensions.
Par exemple :
Etat civil, Sexe, niveaux dges,..
Devraient tre dans la dimension client mais
bien plus efficace si elles sont dans une (des)
dimension(s) spare(s)
Cas particulier : Table de fait sans faits
Chaque table de faits comporte plusieurs champs de cls suivis de
champs de faits numriques, valoriss de faon continues et additifs.
Il existe dans certains cas des tables de faits dans lesquelles il n'y a
pas de faits mesurs !
Ces tables sont appeles table de faits sans fait.
Tables de suivi d'vnements
Table de suivi d vnements
Afin de pouvoir construire une situation il est ncessaire d'enregistrer
les occurrences de plusieurs dimensions simultanment
Les vnements sont souvent crs partir de tables de faits
comportant un certains nombres de cls. Chaque cl reprsente la
participation de la dimension l'vnement.
Ces tables d'vnements n'ont gnralement pas de faits
numriques vidents qui leur sont associs. C'est pour cette raison
qu'elles sont appeles tables de faits sans fait.
Processus de conception
Dtermination du processus dactivit modliser
C est le processus oprationnel de l organisation.
Dtermination du grain du processus dactivit
Le grain est le niveau de dtail atomique des donnes
Dtermination des dimensions applicables
Le choix des dimension s accompagne des libells
Dtermination des faits mesurs
Principes de modlisation
La premire tape de la conception consiste choisir les processus
dactivit modliser, sur la base dune connaissance de l activit et des
sources de donnes disponibles.
La modlisation doit transformer lexpression des besoins en un
schma dimensionnel
Dfinition du grain, tape 2
La seconde tape de la conception est le choix du grain de la table de
faits pour chaque processus dactivit
Un entrept de donnes exige presque toujours des
informations exprimes dans le grain le plus bas possible pour
chaque dimension.
Normalisation
La table de faits atteint naturellement un haut degr de normalisation
Tout effort de normalisation des tables d une base de donnes
dimensionnelle afin d conomiser l espace disque est une perte de
temps
Les tables de dimension ne doivent pas tre normalises mais rester des
tables plates
Des tables de dimensions normalises ne sont plus navigables.
Les dix dcisions majeures
Les processus , et partant, l identit des tables de faits
Le grain de chaque table de faits
Les dimensions de chaque table de faits
Les faits, y compris les faits calculs
Les attributs des dimensions,
Avec des descriptions compltes et la terminologie adquate
Comment suivre les dimensions volution lente
Les agrgats, et les mini-dimensions,
Les modes de requtes et autres dcisions de stockages
L tendue historique de la base de donnes
Le dlai pour le chargement et lextraction des donnes
Les interviews
Interview des utilisateurs finaux
Spcification des attentes des utilisateurs finaux.
Prise de conscience des utilisateurs de la construction de
lentrept.
Interview des DBA
Confrontation aux ralits des thmes qui surgissent lors des
interview avec les utilisateurs finaux
Analyse des structures et de la qualit effective des donnes
Cration de modles ralistes
Il est fondamental de se rappeler que lentrept salimente par le
systme OLTP.
Il faut disposer de la source de donnes pour chaque attribut ou fait
du modle
Cest au moment de la modlisation quil faut sassurer de la
disponibilit de ces donnes
Mapping
Business Intelligence
Sommaire
Outils ETL
Techniques
Mthodologies
Meilleurs pratiques
Alimentation des tables de dimension dans lentrept de donnes
Caractristiques dsires pour une solution ETL
Un outil ETL est un outil qui lie les donnes dune ou plusieurs sources,
transforme les donnes de faon tre compatible avec la destination, et
charge les donnes vers cette destination
Solution ETL
Excution des procdures stockes la source, avec possibilit de
filtrage
Stocker les donnes extraites dans des tables temporaires la source
Gnration de fichiers partir de donnes source temporaire
Transfrer le fichier vers une destination
Charger les donnes dans des tables temporaire dans la destination
Excuter des procdures stockes
Injecter dans lentrept les nouvelles valeurs.
Support dun nettoyage de donnes simple
Logs warning/erreurs
Acheter ou construire
Les diteurs dETL favorisent le processus de standardisation, rutilisation des
composants et des fonctions prdfinis, minimisant le temps et le cot de
dveloppement.
Les outils ETL auto documentent les flux de chargement
Plusieurs outils peuvent se connecter une varit de sources (SGBD
relationnel, non relationnel, diffrent OS, ERP, PeopleSoft, etc) avec transparence
pour le dveloppeur ETL.
Outils ETL traitent les changements dans les systmes sources, ce qui permet
une rduction dans leffort du processus ETL et de sa maintenance
Les outils ETL rendent les processus dextraction et de transformation plus
rigoureux
Les prix des outils ETL nont pas vraiment chut durant les dernires annes,
mais ils permettent plus de fonctionnalits et de performances
To stage or not to stage
Un conflit entre:
Faire une extraction rapide des donnes des systmes
oprationnels
Avoir la possibilit de recommencer sans rpter le processus du
dbut
Raisons pour le Staging
Tolrance aux fautes: stage les donnes ds quelles sont
extraites des systmes sources et immdiatement aprs des
transformations majeures (nettoyage, transformation, etc).
Backup: Permet de recharger lentrept de donnes sans utiliser
le systme source.
Audit: lignage entre les donnes sources et les transformations
avant le chargement dans lentrept de donnes
Rgles pour extraction
Utilisation des colonnes indexs
Prendre seulement les donnes dont on a besoin
Utilisation de DISTINCT avec modration
Utilisation de SET avec modration
Ne pas utiliser NOT
Ne pas utiliser les fonctions dans les clauses where
Ne pas utiliser les sous requtes
Rgle gnrale
Quand une dimension est peuple par plusieurs systmes distincts, il est
important d'inclure lidentificateur unique de chacun de ces systmes
dans la dimension cible de l'entrept de donnes. Ces identificateurs
peuvent tre visualises par des utilisateurs pour leur assurer que la
dimension reflte leurs donnes du systme transactionnel.
Table Dimension
Gnration des cls pour les dimensions
A travers les triggers dans le SGBD
Lire la dernire valeur, gnrer une nouvelle cl, et crer
lenregistrement
Inconvnient de performances
A travers un processus ETL , un outil ETL, ou une application tierce
Une cl par dimension
Maintenir une intgrit des cls travers les environnements
dev, test et prod
Utilisation des Smart Keys
Concatnation des cls naturelles de la dimension la sources
avec lestampille de lenregistrement la source
Granularit de la dimension
Que reprsente la dimension
Challenge: analyser les systmes sources de faon ce que un
ensemble de champs reprsente la dimension
Vrifier quune source de donnes contient la granularit de la
dimension
Rien ne doit tre retourn par cette requte
Si des valeurs sont retourns, les champs A, B, C ne reprsente
pas la dimension
select A, B, C, count(*)
from DimensionTableSource
group by A, B, C
having count(*) > 1
Dimension date
Cl naturelle: un type de jour et une date complte
Type de jour: type de date et de non-date tel les dates
inapplicables, corrompues ou mme des dates futures
Table de fait doit toujours pointer vers une date valide dans la
dimension, donc on doit avoir une date valide NA
Comment gnrer la cl?
Entier?
ou 20051010 10 Oct., 2005? ( en rservant 9999999 pour
NA ?)
Mme les entiers sont utilises, avec les nombres tries (pour
permettre le partitionnement de la table de fait par temps)
Sites Web
TDWI: [Link]
Inmon: [Link]
Kimball: [Link]