Académique Documents
Professionnel Documents
Culture Documents
1. Introduction
Un entrept de donnes (data warehouse) [Kim96, Inmo96] est un ensemble de
technologies destines permettre une personne qui manipule des connaissances
(gestionnaire, analyste, cadre) de prendre de bonnes et rapides dcisions. Pour une
bonne aide la dcision, la personne est suppose avoir la bonne information, la
bonne place, au bon moment et avec un faible cot. La pratique a montr que les
systmes transactionnels ne sont pas appropris pour laide la dcision et que
les avances ralises dans le domaine des rseaux ne peuvent, elles seules,
rsoudre le problme de laccessibilit linformation.
Lentrept de donnes est devenu une stratgie importante pour intgrer des
sources dinformations htrognes dans les organisations, et permettre un
traitement analytique en-ligne. Le dveloppement des entrepts de donnes est
une consquence de lobservation, par W. Inmon et E. F. Codd, au dbut des
annes 90, sur le fait que le niveau oprationnel du traitement transactionnel enligne (OLTP) et les applications daide la dcision (OLAP) ne peuvent pas
coexister efficacement dans le mme environnement de bases de donnes,
essentiellement cause de leurs caractristiques transactionnelles trs diffrentes.
Un entrept de donnes centralise des donnes dintrt slectionnes pour un
groupe de clients, de telle sorte que laccs devienne rapide, moins coteux et plus
efficace. Considr comme un tampon long-terme entre lOLTP et lOLAP (figure
1), lentrept de donnes pose deux problmes importants : (1) comment
rconcilier les donnes manant de multiples sources dinformations htrognes ;
(2) comment personnaliser les donnes drives pour des applications OLAP
spcifiques.
Systmes OLTP
DW
Schma
oprationnel
Schma
du DW
Donnes
oprationnelles
Donnes
consolides
Applications
OLAP
Schma
utilisateur
Donnes
drives
OLAP
SIG
Data
mart
SAD
Data
mart
Administrateur
Mta
base
DW
Wrappers/Chargeurs
Sources
Fichiers
BD
Donnes
externes
Les wrappers et les chargeurs sont des programmes qui chargent les donnes des
sources dinformation dans lentrept de donnes. Ces programmes sont
responsables du chargement, de la transformation, du nettoyage et de la mise
jour des donnes des sources dans lentrept. Une liste dtaille doutils pour ces
tches peut tre trouve dans [Gree97]. Ces outils essayent dautomatiser ou
fournissent une aide pour les tches qui sont :
. Lextraction (accdant diffrentes bases de donnes sources)
. Le nettoyage (trouver et rsoudre les inconsistances dans les donnes sources)
. La transformation (transformation entre diffrents formats de donnes, langages,
etc.)
. Le chargement (chargement des donnes dans lentrept)
. Lanalyse (dtection des valeurs non valides/inattendues)
. Le transfert de donnes haut dbit (important pour les gros entrepts de
donnes)
. Le test pour la qualit de donnes, correction et compltude
. Analyse des mta donnes (pour supporter la conception dun entrept de
donnes)
2.1.2 Entrept de donnes et data marts
Le systme de gestion de bases de donnes qui est utilis pour lentrept de
donnes lui-mme et les data marts doit tre un systme trs performant, qui
rpond aux exigences en terme dinterrogations complexes exprimes par les
clients. Les architectures suivantes sont utilises pour lentrept de
donnes [Weld97] :
. Les systmes de gestion de bases de donnes relationnels
. Les systmes de gestion de bases de donnes super-relationnels
. Les systmes de gestion de bases de donnes multidimensionnels
. Les systmes de gestion de bases de donnes orient-objets
Les systmes de gestion de bases de donnes relationnelles sont plus flexibles
quand ils sont utiliss avec une structure de donnes normalise. Parce que les
structures de donnes normalises sont non redondantes, les relations normalises
sont utiles pour un travail oprationnel journalier. Dans un contexte OLAP, les
requtes concernent plusieurs structures et donc ncessitent plusieurs oprations
de jointures sur une structure de donnes normalise.
2.1.3 Les applications clients
LOLAP est lune des applications importantes pour les entrepts de donnes. Des
requtes OLAP typiques scrutent de nombreuses relations, ralisent de
nombreuses jointures et agrgations. Au contraire, les systmes de gestion de
bases de donnes, qui sont utiliss pour un travail oprationnel quotidien, appels
systmes de traitement transactionnels en-ligne (OLTP), sont optimiss pour
assurer un petit nombre de transactions et les requtes utilisent des cls primaires
et des indexes spcialiss. Alors que les systmes OLTP stockent uniquement
linformation courante, les entrepts de donnes contiennent des donnes
historiques et consolides. Ces donnes sont utilises par les gestionnaires pour
trouver des tendances dans les marchs, et aident les gestionnaires dans la prise de
dcision. Les oprations typiques excutes par les clients OLAP sont [CD97] :
. Roll-up (relever le niveau dagrgation)
. Drill-down (diminuer le niveau dagrgation)
. Slice et Dice (slection et projection)
. Pivot (r-orienter la vue multidimensionnelle)
Pour rendre les SGBDs plus utiles pour les applications OLAP, les vendeurs leur
ont ajout de nouvelles fonctions. Ces caractristiques, dites super-relationnelles,
comportent un support pour lextension aux formats de stockage, et des schmas
dindexation spcialiss. Pour fournir des temps daccs rapides aux applications
OLAP, les donnes sont organises selon un schma en toile (star) ou en flocon
(snowflake).
Un schma en toile consiste en une table de faits centrale et plusieurs tables
dimensions. Les mesures dintrt pour lOLAP sont stockes dans la table des
faits (e.g., ventes, stock). Pour chaque dimension du modle multidimensionnel il
existe une table (e.g., rgion, produit, temps). Cette table stocke les informations
relatives aux dimensions.
Temps
Gographie
Code Temps
Code Trimestre
Nom Trimestre
Code Mois
Nom Mois
Date
Code Gographie
Code Rgion
Responsable Rgion
Code Etat
Code Vil e
...
Ventes
Code Gographie
Code Temps
Code Compte
Code Produit
Montant en FF
Units
Compte
Produit
Code Compte
Code Produit
Nom Produit
Code Marque
Nom Marque
Code Ligne Prod.
Nom Ligne Prod.
...
Gographie
Temps
...
Code Temps
Code Trimestre
Code Mois
Mois
Ventes
Code Gographie
Code Temps
Code Compte
Code Produit
Montant en FF
Units
Code Mois
Nom Mois
...
Compte
Code Compte
...
...
...
Produit
...
...
...
Figure 4 : Schma en flocon
Outil
d'unterrogation
ad'hoc
BDMD
DW
Sources
Cette stratgie est aussi propose par les vendeurs de bases de donnes
multidimensionnelles comme Arbor Software [Arbo96] et Oracle [Orac97].
Comme il a t dit prcdemment, OLAP est une application importante des
entrepts de donnes. Les autres applications clientes possibles sont :
. Rapports et outils dinterrogation
. Systmes dinformation gographiques (SIG)
. Fouille de donnes (Data-Mining)
. Systmes daide la dcision (SAD)
. Systmes dinformation excutifs (SIE)
. Statistiques
Les applications OLAP ncessitent un support pour les oprations spciales rotate,
slice, dice, roll-up, et drill-down dun cube multidimensionnel. Ce support est
fourni par les systmes de bases de donnes multidimensionnelles et les serveurs
OLAP relationnels.
Extraction
Transformation
Intgration
Chargement
DW
Intgration/
Transformation/
Chargement
Extraction/Transformation
Figure 9 : Vue Oprationnelle des composants utiliss pour la construction dentrepts de donnes
10
ville, bureau. Sur lexemple de la figure 6, les dimensions choisies sont Produit,
Rgion et Mois.
Rgion
N
Jus
10
Cola
13
Produit
Jan
Mois
Les mesures, qui sont aussi appeles variables ou mtriques comme ventes dans
lexemple, ou revenu, inventaire, etc. dans un tableau multidimensionnel
correspondent des colonnes dans une table de base de donnes relationnelle. Les
valeurs dans une colonne dune table correspondent des valeurs pour cette
mesure dans un tableau multidimensionnel : une mesure est un point dans lespace
multidimensionnel. Dans notre exemple, une mesure des ventes du produit Cola,
dans la rgion du nord, en janvier, est 13. Ainsi, une dimension agit comme un
index pour identifier des valeurs dans un tableau multidimensionnel.
Si un membre dune dimension est slectionn, alors les dimensions restantes
avec les membres slectionns, dfinissent un sous-cube. Si toutes les dimensions,
sauf deux, ont un membre unique slectionn, les deux dimensions restantes
dfinissent une page (ou slice ou spreadsheet). Si toutes les dimensions ont un
membre unique slectionn, alors une cellule est dfinie. Les dimensions offrent
une faon concise et intuitive pour organiser et slectionner les donnes pour
linterrogation, lexploration et lanalyse.
Des exemples de niveaux de dimensions pour lagrgation de donnes dans un
entrept de donnes sont : temporelle (annes vs. mois), gographique/spatiale
(e.g., Lyon vs. France), organisationnelle (Institut vs. Dpartement), et physiques
(voiture vs. moteur). La figure 7 donne quelques hirarchies typiques.
11
Non-alimentaire
Industrie
Catgorie
Produit
Alimentaire
Pays
Rgion
Vil e
Bureau
Mois
Anne
Trimestre
Jour
Semaine
Une valeur dans une cellule peut reprsenter une mesure agrge calcule partir
de donnes spcifiques un niveau donn infrieur de la mme dimension. Par
exemple, la valeur 13 pour les ventes de janvier, peut avoir t obtenue en faisant
la somme des valeurs des ventes hebdomadaires (ou quotidiennes).
12
vendeurs par chiffre daffaire, aux donnes de la rgion Est uniquement et tous
les produits avec une marge suprieure 20 pourcent.
Slicing : slectionner toutes les donnes satisfaisant une condition au regard dune
dimension particulire. Un slice est un sous ensemble dun tableau
multidimensionnel correspondant une valeur individuelle pour un ou plusieurs
membres des dimensions qui ne sont pas dans le sous ensemble.
Scoping : restriction de la vue des objets dune base de donnes un sous
ensemble spcifique. Dautres oprations, comme la mise jour ou la recherche,
affecteront seulement les cellules du sous ensemble spcifi. Par exemple, cette
opration permet aux utilisateurs de retrouver ou de mettre jour uniquement les
valeurs des ventes pour le premier trimestre dans la rgion Est (si ce sont les
seules donnes quils souhaitent recevoir).
Pivot (ou Rotate) : pour changer lorientation (par rapport aux dimensions) dun
cube, pour analyser les donnes en utilisant un niveau de dimension particulier
comme variable indpendante. Par exemple, la rotation peut consister
interchanger les lignes et les colonnes.
13
15
Les requtes sur un entrept de donnes se distinguent des requtes dans les
systmes OLTP par leur frquence et les volumes de donnes sur lesquels elles
portent. Les requtes OLTP sont des parties de transactions. Elles concernent
uniquement un petit nombre de tuples, mais apparaissent frquemment : e.g., 50
transactions par seconde sont possibles dans une base de donnes dune
compagnie arienne. Au contraire, les requtes dans un entrept de donnes tous
les niveaux peuvent concerner des gigabytes de donnes, mais avec une moindre
frquence.
Cest une caractristique, de presque toutes les requtes dans les entrepts de
donnes, de porter sur des ensembles volumineux de donnes. Cependant, ceci ne
veut pas dire quelles produisent galement des sorties volumineuses. Les
rsultats volumineux sont typiques des requtes qui correspondent au processus de
chargement. Dans une telle optique, de telles requtes sont excutes en batch sur
une base de donnes transactionnelle.
Les utilisateurs, au contraire, ne sont pas intresss par des sorties gigantesques.
Ils veulent rduire de gros volumes un petit nombre de paramtres
caractristiques, pour lesquels ils ont besoin dagrgation.
Requtes pr-formules et requtes ad-hoc : dans un entrept de donnes, nous
distinguons deux modes dinterrogation : (1) les requtes pr-formules ont t
spcifies par ladministrateur et excutes par un utilisateur final. Elles peuvent
tre sujettes une certaine paramtrisation, mais elles sont principalement fixes.
Typiquement, toutes les requtes excutes au niveau back end et au niveau du
noyau entrent dans cette catgorie. Les interfaces graphiques fournissant une vue
grable dune organisation et les rapports sont bases sur les requtes prformules ; (2) lanalyste interroge un entrept de donnes dans un mode ad-hoc.
Dans une session danalyse, il formule une srie de requtes corrles. Par
exemple, afin de connatre comment un vnement particulier influence la
performance de la compagnie entire, il formulera des requtes avec des niveaux
de gnralisation qui concerneront de plus en plus de donnes.
cube est implant sur une base de donnes relationnelle selon le modle en toile,
alors une telle requte entranera juste des projections et des slections. Sil est
implant comme un flocon, alors la requte entranera la jointure des tables de la
dimension en question.
Bien que les tables des dimensions sont plus petites que les tables des faits, elles
peuvent savrer volumineuses dans certains cas. La dimension client dans un
entrept de donnes dune compagnie tlphonique peut contenir plusieurs
millions de tuples. De ce fait, les requtes dexploration, bien que simples dun
point de vue structurel, requirent des optimisations pour pouvoir les excuter
efficacement.
Le but de lexploration est didentifier des sous-ensembles intressants dune
dimension, appels des groupes contraints car ils satisfont certaines contraintes
sur la dimension, et les dcrire par des requtes. Avec un outil dinterrogation on
peut nommer de telles requtes et les stocker. Dans un environnement coopratif,
les groupes contraints peuvent tre rendus accessibles par les utilisateurs. Dans ce
cas, il y a ncessit dorganiser de nombreuses requtes et de spcifier leur sens.
Des outils offrent cette possibilit en permettant, par exemple, dattacher des
commentaires aux requtes, mais noffrent aucune possibilit de raisonnement.
Dautres sous ensembles dune dimensions, appels groupes comportementaux ne
se dfinissent pas uniquement en termes des attributs dune dimension, mais
impliquent galement des faits et des restrictions sur dautres dimensions. Un
exemple serait le groupe des produits qui se vendent trs bien durant les quatre
semaines prcdant Nol. Ce groupe est dfini non seulement en terme de la
dimension produit mais aussi en termes des ventes et du temps. Comme pour les
groupes contraints, il y a aussi ncessit de grer des requtes dfinissant des
groupes comportementaux.
Interroger les informations factuelles : lobjectif principal dans linterrogation
des cubes de donnes est de produire des rapports. Un rapport est une table dont
les dimensions sont tiquetes avec des valeurs dattributs et dont les faits sont
calculs en agrgeant des faits du cube impliqu. Souvent les faits ne sont pas de
simples agrgats comme count et sum, mais sont des comparaisons entre
diffrents agrgats. De plus, un rapport peut contenir dautres agrgats comme des
sous-totaux et des totaux, et des valeurs exceptionnelles peuvent tre mises en
vidence.
Pour calculer un rapport, il existe deux possibilits : La premire est de traduire la
spcification du rapport dans SQL. Ceci pose des problmes quand des
comparaisons sont considrer. Comparer les ventes du mois courant avec celles
du mois prcdent ncessite daccder la table des faits au moins deux fois.
Dans SQL, ceci peut tre accompli soit avec un self-join, ou avec des sous
requtes corrles comme dans SQL-2. Cependant, les deux options conduisent
18
Par ncessit, plus dune dimension doit tre reprsente par les lignes et les
colonnes si plus de deux dimensions existent dans lensemble de donnes. Ceci
est ralis en slectionnant un ordre arbitraire pour les dimensions dans les lignes
et les colonnes. Sur la figure 10, les lignes reprsentent les deux dimensions
sexe et anne , qui sont ordonnes (sexe puis anne) de faon arbitraire.
2.
Les colonnes dans cet exemple ne reprsentent pas deux dimensions, bien que
leur forme ressemble aux lignes. Type Bac et Spcialit reprsentent une
relation hirarchique entre les instances de Type Bac (e.g., Gnral) et les
instances de Spcialit (e.g., Sciences ). On se rfre cette structure par
hirarchie de classification .
3.
Le label Baccalaurat Lyon reprsente la mesure rsume pour cet
ensemble de donnes, mais il dit aussi que cet ensemble de donnes admet une
dimension supplmentaire ville o linstance slectionne est le singleton
Lyon .
4.
Il y a une fonction dagrgation implique par cet ensemble de donnes pour
deventuels rsums ( travers Sexe ou Spcialit ). Dans ce cas la fonction
dagrgat est sum . Notons qualors que sexe et anne est un seul
niveau dagrgation, lagrgation travers Spcialit peut tre ralise au
niveau Type Bac ou au niveau de toutes les spcialits et tous les types de
baccalaurats. Ceci grce la structure hirarchique de classification.
20
Gnral
Baccalaurat Lyon
Sciences
Masculin
Anne
Spcialit
Spcialit
Littrature
Mcanique
Electrotechnique
99
25000
14000
10000
6000
98
...
23000
15000
11000
7000
Sexe
Fminin
99
98
...
22
Quantit vendue
Lyon, m#1
17 Nov. 1999
500
Produit
Cola
emplacement magasin : ville, # magasin
De ces exemples, il apparat que les BDS et les bases de donnes OLAP traitent de
problmes similaires. Cependant, chaque domaine a mis laccent sur des aspects
diffrents. La littrature BDS sest focalise sur le traitement des structures de
classification multi-niveaux complexes, alors que la littrature OLAP suppose des
structures simples et lgantes. Certaines BDS se sont fortement focalises sur les
dimensions rgion, spatiale et gographique, alors que dans certaines bases de
donnes OLAP, laccent est mis sur les dimensions temporelles. Une autre
diffrence est que la littrature OLAP traite de lefficacit des accs des
gygabytes de donnes (pour satisfaire le caractre en-ligne des OLAP), alors
que la littrature BDS sest concentre sur dautres aspects, comme la
modlisation conceptuelle.
Anne
Type Bac
Sexe
...
99
98
Gnral
M
F
Sciences
Professionnel
C
Littrature
Mcanique
Electrotechnique
24
Gnral
Spcialit
Littrature
professionnel
Spcialit
Mcanique
Total
Electrot.
Total
16000
99
25000
14000
10000
6000
98
...
23000
15000
11000
7000
55000
99
98
...
Fminin
25
BD Statistiques
OLAP
Attribut de catgorie
Hirarchie de catgorie
Valeur de catgorie
Attribut synthse
Objet statistique
Produit crois
Table rsum
Dimension
Hirarchie de dimension
Valeur de dimension
Mesure
Data cube
Multidimensionnalit
Table/data cube
6.4 Oprations
6.4.1 Oprateurs statistiques
Dans la littrature BDS, il existe plusieurs approches pour dfinir les oprateurs
qui refltent le modle structurel de lobjet statistique. Une approche consiste
utiliser le cadre relationnel, mais enrichir le modle structurel avec une
smantique relative aux proprits de lobjet statistique, particulirement : la
multidimensionnalit et la hirarchie de classification. Dans [MRS92] des
oprateurs qui correspondent aux oprateurs de lalgbre relationnelle select ,
project , union , et aggregate taient dfinis. Ils taient nomms Sselect , S-project , etc.
6.4.2 Oprateurs OLAP
Les oprateurs dfinis dans le domaine OLAP utilisent limage graphique du data
cube. Ainsi, un slice est une coupe travers lespace multidimensionnel, un dice
est la slection sur certaines valeurs des dimensions, roll-up (appel aussi
consolidation) est le rsum au dessus dun niveau de la hirarchie de
classification, et drill-down est lopration oppose.
La table de la figure 15 rsume la correspondance entre les oprateurs des BDS et
ceux des OLAP.
BD Statistiques
OLAP
S-projection
S-selection
S-aggregation
S-desagregation
S-union
Slice
Dice
Rool-up
Drill-down
---
Figure 15 : Correspondance entre les oprateurs des BDS et ceux des OLAP
26
Bibliographie
[AAD+96] S. Agrawal, R. Agrawal, P. Deshpande, A. Gupta, J. Naughton, R.
Ramakrishnan et S. Sarawagi. On the computation of multidimensional
aggregates. In Proceedings of the 22nd Interational Conference on Very Large Data
Bases, Bombay (India), September 1996.
[Arbo96]
Arbor
Software
Corporation.
http://www.arborsoft.com/essbase.html, 1996.
Arbor
Essbase.
Information
Center.
[Inmo96] W. H. Inmon. Building the Data Warehouse. John Wiley and Sons,
1996.
[Kena95] Kenan Technologies. An Introduction to Multidimensional Database
Technology. http://www.kenan.com/acumate/mddb_toc.htm, 1995.
27
[Kim96] Ralph Kimball. The data warehouse toolkit. John Wiley and Sons, 1996.
[MicroStrategy] The Case For Relational OLAP, A White Paper Prepared by
MicroStrategy, Incorporated. http://www.strategy.com/dwf/wp_b_a1.htm.
[MRS92] Leonardo Meo-Evoli, Fabrizio L. Ricci and Arie Shoshani. On the
Semantic Completeness of Macro Data Operators for Statistical Aggregation. In
Proceedings of the 6th International Conference on Statistical and Scientific
Database Management (SSDBM) 1992, pp. 239-258.
[Orac97]
Oracle
Corporation.
Oracle
Express
http://www.oracle.com :81/products/olap/html/oes.html, 1997.
Server.
Autres rfrences :
Le site http://www.cs.toronto.edu/~mendel/dwbib.html
recense et donne accs tous les travaux raliss par des chercheurs
universitaires et dautres centres de recherche (IBM, Microsoft, AT&T, etc.)
acadmiques sur les entrepts de donnes et OLAP. On y trouve 132 articles.
Le site http://www.cio.com/research/data/
Est consacr des travaux portant sur la vulgarisation de ces nouvelles
technologies daide la dcision et leur croisement avec dautres technologies
comme le datamining, le commerce lctronique, Internet, etc.
Les sites http://www.intelligententerprise.com/
, http://www.datawarehousingonline.com/
, et http://www.dwinfocenter.org/ sont, quant eux, consacrs lutilisation
effective de ces technologies au sein des entreprises. On y trouve des dizaines et
des dizaines darticles.
28