Вы находитесь на странице: 1из 117

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 P.Name, SUM(F.Sales)
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 T.Month='Jan' AND T.Year='2003'
AND L.Country_Name='USA'

Avantages:
-Simple comprendre
-Plus performant
-extensible

Group by' les niveaux dagrgation


GROUP BY P.Category

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: http://www.tdwi.org/
Inmon: http://www.inmoncif.com/home/
Kimball: http://www.ralphkimball.com/

Вам также может понравиться