Documente Academic
Documente Profesional
Documente Cultură
I.N.I
THEME :
REALISE PAR :
BENAKEZOUH Leïla
&
TIFOUS Amira
Quatrième année SI
INTRODUCTION------------------------------------------------------------------------------------------------------------ 3
3. MODELISATION DIMENSIONNELLE------------------------------------------------------------------- 23
CONCLUSION-------------------------------------------------------------------------------------------------------------- 60
GLOSSAIRE OLAP-------------------------------------------------------------------------------------------------------- 62
BIBLIOGRAPHIE------------------------------------------------------------------------------------------------------- 70
WEBOGRAPHIE--------------------------------------------------------------------------------------------------------- 71
LISTE DES FIGURES
Figure 6 : Représentation graphique des ventes d’un produit donné par un magasin
Figure 12 : Evolution des parts de marché des principaux éditeurs de produits OLAP
.................................................................................................................. 38
INTRODUCTION
*
[Haciane2003]
3
1. DE L’INFORMATIQUE OPERATIONNELLE A
L’INFORMATIQUE DECISIONNELLE
D’où l’ère de l’informatique décisionnelle, véritable lame de fond qui balaye tous les
secteurs de l’industrie et attire de plus en plus de fournisseurs qui flairent un marché
porteur.
4
Cette conception rigoureuse est rendue difficile par la multiplicité des sources de
données et par sa démarche différente d’une conception classique :
· Il s’agit d’une modélisation par les vues des utilisateurs indépendamment des bases
de production.
· Les informations à prendre en compte ne sont pas les données brutes
opérationnelles. Elles doivent subir des transformations (calculs, ajout de
notions de temps, ...). Elles peuvent avoir un sens différent selon le secteur d’activité
concerné.
*
Voir glossaire
5
Les données peuvent être stockées dans un entrepôt (Data warehouse*) sur lequel
sont appliquées les requêtes, lui-même éventuellement décomposé en magasins plus
modestes (Data mart*) orientés métier.
Les données détaillées côtoient les données agrégées (éléments pré calculés) et
historisées servant à effectuer des comparaisons dans le temps. Les caractéristiques
des informations sont conservées dans un dictionnaire (Métamodèle) contenant des
métadonnées* qui décrivent leur sémantique, origine, format, règles de gestion et
d’extraction. Ce référentiel* peut-être unique ou local. Les éléments utiles aux
analyses sont mémorisés sous forme de tables (bases de données relationnelles) ou
de cubes* (bases de données multidimensionnelles) auxquels nous reviendrons
plus tard.
Enfin, les outils d’analyse et de présentation, seule partie visible du système pour
l’utilisateur final restent indépendants de son architecture.
Les technologies OLAP* s’inscrivent dans cette catégorie d’outils d’aide à la décision
aussi appelés 'Business Intelligence*' ou 'Executive Information Systems*'.
*
Voir glossaire
6
Figure 1 : architecture d’un système décisionnel
7
2. OLAP : DEFINITION, DOUZE REGLES, OPERATIONS
DEFINITION D’OLAP
Le concept OLAP serait apparu pour la première fois en 1993 dans un livre blanc
intitulé Providing OLAP to User-Analysts : An IT Mandate, réalisé par E.F. Codd, l'un
des concepteurs des bases de données relationnelles, à la demande d'Arbor Software
(devenue Hyperion Solutions).
Littéralement On-Line Analytical Processing, OLAP désigne une catégorie
d'applications et de technologies permettant de collecter, stocker, traiter et restituer
des données multidimensionnelles, à des fins d'analyse. Une autre définition est
résumée dans l'acronyme FASMI* (Fast Analysis of Shared Multidimensional
Information), ou analyse rapide d'information multidimensionnelle partagée.
*
Acronyme dont l’analyste en Business Intelligence Nigel Pendse est à l’origine. Nigel Pendse publie The OLAP
Report ainsi que The OLAP Survey.
8
Pour obtenir un temps de réponse très court, la base doit contenir peu d’index –
pour ne pas ralentir les mises à jour – et être fortement normalisée – au moins la
troisième forme normale.
De plus, la base ne contient généralement que les données réellement utiles à
l’application transactionnelle, les autres données sont transférées vers une base
d’archives.
OLTP OLAP
CONCEPTION - Orientée application - Orientée sujet
- Structure statique - Structure évolutive
9
OLAP se charge de pré traiter l'ensemble des données (souvent stockées dans un
Data warehouse, "entrepôt de données") en effectuant, de façon transparente, des
regroupements et des calculs statistiques simples (sommes, comptage, etc.) appelés
agrégats*. Il met tous ses résultats au service de l'utilisateur qui les manipule comme
bon lui semble.
Résultats : dans la mesure où OLAP a déjà fait le travail le plus lourd, l'utilisateur se
concentre uniquement sur les résultats qu'il souhaite obtenir. Très rapidement, très
simplement, il crée tous les tableaux de bord dont il a besoin.
OLAP est une technologie d'analyse de données, dont le résultat doit refléter les
tendances d'une activité, par exemple l'évolution des ventes et des achats. Pour ce
faire, elle représente cette activité, communément appelée mesure*, suivant des
axes logiques (mois, catégories, magasins, ...) appelés dimensions*. Les occurrences
d’une dimension sont appelées positions*.
En général, une dimension a de deux à quelques milliers de positions au maximum.
À l'intersection de plusieurs dimensions se trouvent les valeurs*, également nommés
indicateurs* ou variables*. Elles peuvent quantifier le montant des achats ou des
ventes, par région. Ces valeurs sont extraites de la base de production, ou peuvent
être calculées par le moteur OLAP. Dans ce cas, la valeur résulte d'une opération
mathématique simple, telle qu'une addition, ou plus complexe, telle qu'un traitement
statistique.
Grâce aux technologies OLAP, l'utilisateur peut effectuer des calculs sur un ensemble
de valeurs, à un rythme d'environ 20 000 ou 30 000 cellules par seconde, sans
rédiger de requête. Les différentes dimensions, dont se sert le serveur OLAP afin
d'effectuer ces calculs forment un cube* OLAP, quelquefois matérialisé
graphiquement sur un logiciel client afin de faciliter les analyses par l'utilisateur.
*
Voir glossaire
10
Figure 2 : Représentation graphique d’un cube multidimensionnel
Toutes les ventes d’un magasin particulier (dont le nom serait « le Locle » par
exemple) sont représentées comme suit :
Toutes les ventes d’une catégorie d’articles (les produits de nettoyage par exemple)
sont représentées selon la figure suivante :
11
Figure 4 : Représentation graphique des ventes d’un produit donné
Toutes les ventes réalisées pendant un mois particulier (Février par exemple) sont
représentées par la figure ci-dessous :
12
Figure 6 : Représentation graphique des ventes d’un produit donné par
un magasin donné pendant un mois donné
Si on ajoute un nouvel axe d’analyse, le nouvel objet qui aura plus de trois
dimensions sera appelé hypercube*.
Les hypercubes calculés sont stockés dans la base OLAP. A partir de ces mesures
stockées, il est possible d’en créer d'autres, qui cette fois ne seront pas stockées
dans la base de données mais calculées dynamiquement lorsqu'un utilisateur désire y
accéder. Ces mesures sont parfois appelées des formules*, en référence au texte qui
les décrit.
En supposant que nous ayons la mesure TOTAL HT, le texte qui décrirait la formule
TOTAL TTC pourrait être :
Du point de vue de l'utilisateur, il n'y a aucune différence entre une mesure stockée
et une formule. Toutes les deux sont dimensionnées et ont un type.
Il est possible de décrire avec plus de précision les positions d’une dimension en leur
affectant des attributs*.
*
Voir glossaire
13
En reprenant l’exemple précédent, on pourra définir des attributs sur la dimension
magasin qui pourront être aussi variés que le type de magasin (grande surface, petit
commerce, etc.) ou la spécialité du magasin (hommes, femmes, enfants, tous).
A chaque fois qu'un nouveau magasin sera ajouté, il suffira au gestionnaire de saisir
ses caractéristiques. Au sein du système OLAP, type de client et type de magasin
deviennent de nouvelles dimensions. Pour affecter un attribut à chaque magasin, le
système va construire des relations*.
A l'aide de ces relations, il devient possible de définir de nouvelles formules, qui sont
dimensionnées par ces attributs et non plus par la dimension.
*
Voir glossaire
14
Cette dimension peut aussi être gérée manuellement, il s'agit alors d'une dimension
conjointe.
Le moteur OLAP considère maintenant la variable vente comme si elle avait deux
dimensions seulement. Pour l'utilisateur final comme pour le développeur, cette
considération technique est transparente.
Il est très intéressant pour une entreprise de pouvoir étudier l'évolution des données
déjà archivées, et si possible prévoir leur évolution dans le futur.
Les bases OLAP sont tout à fait adaptées pour cela, elles disposent toujours de
fonctions plus ou moins évoluées permettant de manipuler des informations
temporelles. On peut alors savoir à quelle semaine correspond le 12 juin 2000,
combien il y a de jours entre le 06 mai 1998 et le 15 juin 2003, ou encore si le 29
février 2000 existe ou non.
Certains moteurs disposent de types prédéfinis pour les dimensions temporelles. Ces
dimensions sont alors caractérisées par leur périodicité (jour, semaine, semestre,
etc.) et des fonctions de conversion existent pour passer d'une périodicité à une
autre. Ceci nécessite la prise en compte précise du calendrier par le moteur OLAP. Le
développeur ne se soucie plus des calculs complexes permettant de construire et
maintenir les hiérarchies* temporelles (année, mois, semaine, etc.).
Par l'écriture de petits programmes simples, il est possible de définir des formules
répondant aux questions de ce type :
Quelle est l'évolution de mon bénéfice net par rapport au même mois de
l'année précédente ?
Quelle est l'évolution de mon chiffre d'affaire par rapport à la moyenne des
trois derniers mois ?
Quelle sera la tendance des 12 prochains mois suivant telle ou telle règle
d'extrapolation ?
*
Voir glossaire
15
Pour répondre à des questions de ce type à l'aide d'une base relationnelle, il faudrait
certainement écrire des programmes très complexes, ayant tellement de traitements
et de données à analyser que l'utilisateur n'obtiendrait peut-être jamais sa
réponse....
16
LES 12 REGLES D’OLAP
Elles représentent la définition première du concept OLAP ; en effet, elles ont été
énumérées comme étant les critères décrivant ce que doit être un outil OLAP. A ces
douze critères, six ont été ajoutés en 1995. Il faut noter que ces six critères
supplémentaires sont peu connus et rarement utilisés*.
*
www.OLAPreport.com (http://66.40.99.72/fasmi.htm#Codd)
17
Ils doivent savoir d’où proviennent les données. En fait, par cette règle, le Dr Codd
a essentiellement décrit les outils OLAP comme middleware, se plaçant entre des
sources de données hétérogènes et une application OLAP.
18
comprendre différents types de mécanismes tels que : le calcul direct, les B-arbres*
et leurs dérivées ainsi que le hachage*. Pour n’importe quelle matrice éparse
donnée, il existe un et un seul schéma physique optimal.
*
Voir glossaire
19
Par exemple : il doit être permis de présenter les résultats sous forme de données
synthétiques ou en fonction de l’orientation désirée du modèle, l’utilisateur doit
pouvoir cliquer sur une colonne ou une ligne afin d’obtenir le détail.
Les règles du Dr Codd ont toujours été controversées compte tenu du fait qu’elles
aient été plus " sponsorisées " par des éditeurs que prouvées mathématiquement.
De ce fait, le livre blanc serait considéré davantage comme une brochure publiée
par un éditeur qu’un document sérieux de recherche.
20
LES OPERATIONS DE L’OLAP
Un outil pour être qualifié d’OLAP, doit permettre d’analyser rapidement des
informations sécurisées sans programmation, indépendamment de leur localisation,
sans conflits d’accès et quelles que soient les dimensions impliquées. Tout en
effectuant des calculs spécifiques par niveau hiérarchique et des consolidations entre
dimensions, il garde une grande souplesse d’utilisation (simulation, changement
d’axes, ...).
La force des outils OLAP réside dans les fonctions de navigation dans les données.
On parle alors de Drill Down*, Drill Up* pour affiner le détail ou inversement et de
Slice and Dice* pour faire pivoter les axes, l’utilisateur choisit d’orienter l’analyse vers
des aspects plus intéressants.
Ces fonctionnalités permettent de mener des raisonnements de façon interactive. Par
exemple, l’utilisateur peut analyser ses ventes à l’année, descendre sur le mois (drill
down) avant de changer d’axe de recherche afin d’analyser ses ventes mensuelles
par rapport aux différentes marques de produits (slice and dice) en observant le
chiffre d’affaires, puis en examinant les marges dégagées. Ces changements
d’analyse au fur et à mesure du raisonnement se font de manière intuitive et
ergonomique en utilisant la souris, des boites de dialogue simples et des
mécanismes de drag’n drop (glisser-déposer) sur l’interface graphique. L’utilisateur
peut ainsi passer d’une analyse à l’autre en boucle totale sans avoir à définir à
chaque fois de nouvelles requêtes.**
*
Voir glossaire
**
[Franco1997]
21
- Drill governing : Filtrage des informations au moment du drill. Il est par exemple
possible de descendre au niveau région en ne ramenant que les trois meilleures
régions en termes de chiffre d’affaires.
- Drill within : À travers un menu, l’utilisateur peut analyser en fonction d’un attribut
de la dimension sans qu’une hiérarchie ait été établie par l’administrateur. Lorsque
l’utilisateur regarde les chiffres d’affaires par magasin, par secteur et par mois, il peut
passer de l’analyse des produits par ligne de produit à une analyse par marque alors
qu’il n’y a aucun lien hiérarchique entre ligne de produit et marque.
Remarque :
La notion de partage est très importante dans OLAP. Elle permet de distribuer les
informations fournies par le cube à plusieurs utilisateurs de façon sécurisée. Certains
utilisateurs, par exemple, n'auront pas accès aux données relatives à telle dimension, ou
à tel niveau de hiérarchie. Les totaux peuvent éventuellement être cachés à d'autres
utilisateurs .OLAP fournit donc un excellent niveau de sécurité pour garantir la
confidentialité des chiffres-clés d'une entreprise, tout en fournissant un très haut niveau
de performance dans l'analyse décisionnelle.
22
3. MODELISATION DIMENSIONNELLE
Dans le modèle dimensionnel qui suit (voir FIGURE 7), les indicateurs de base sont
regroupés dans une table centrale, dite table de faits. Une table de faits regroupe
tous les indicateurs qui partagent le même ensemble de dimensions et qui ne
peuvent être déduits d’autres indicateurs.
Ce type de modèle est nommé « modèle en étoile* ». Au centre de l’étoile se trouve
la table de faits. L’identifiant de cette table est une clé multiple composée de la
concaténation des clés de chacune des dimensions d’analyse.
Autour de la table de faits figurent tous les éléments caractérisant les dimensions
d’analyse. Ces caractéristiques sont regroupées dans des tables de dimension.
*
Voir glossaire
23
Figure 7 : Modèle en étoile
*
Voir glossaire
24
Figure 8 : Modèle en flocons
25
Cependant, la mise en œuvre de cette structure reste complexe.
26
4. LES DIFFERENTS TYPES DE MODELES OLAP
Depuis 1993, il s’est créé à peu prés autant de technologies OLAP que de
fournisseurs. Progressivement, le marché s’est structuré autours de quatre
approches :
Ce système est basé sur un stockage par tableaux (techniques des matrices
creuses) et une indexation rapide des données calculées. Il stocke les données
basiques et leurs agrégations (toutes les intersections possibles entre les axes) dans
une base multidimensionnelle sur un serveur spécialisé OLAP. Les langages de
requêtes MOLAP sont optimisés pour les applications d'analyse et la meilleure
performance en termes de temps de réponse pour des requêtes complexes.
27
Cette configuration supporte les gros volumes (gestion par le SGBDR) mais n’est pas
facile à manipuler par l’utilisateur (pas de notion de dimensions, de faits, de vues,…).
ROLAP est particulièrement adapté aux analyses de marché (pour, par exemple,
déterminer l'intérêt d'une promotion des ventes).
Les systèmes ROLAP s’appuient sur le modèle relationnel défini par E.F. CODD en
1970. L’une des méthodes de conception des bases de données les plus employées
s’appuie sur l’approche Entité - Association. Des règles de passage permettent de
transformer le modèle conceptuel en un schéma relationnel (MLD).
Cependant, le relationnel apporte un modèle mais la manipulation dans un but
décisionnel n’est pas adaptée à l’utilisateur.
Les systèmes mixtes (HOLAP) cherchent à pallier ces inconvénients : ils apportent
une convivialité d’utilisation tout en s’appuyant sur des modèles spécifiques
permettant de passer d’un MCD relationnel à un MLD multidimensionnel avec des
notions de faits, de hiérarchies, de dimensions.
La solution HOLAP (aussi appelé DOLAP, Database OLAP) repose donc sur des bases
ROLAP ainsi que sur des bases MOLAP. La base MOLAP prend en charge les
contenus les plus souvent recherchés (données agrégées), et la base ROLAP, quant
à elle, prend en charge les autres données.
La convivialité est ainsi respectée tout en permettant le stockage des gros volumes
d’information. Le cube peut être stocké sur le serveur : il est donc partagé entre
l’ensemble des utilisateurs ou côté client afin de résoudre les problèmes de
partageabilité des informations. Il ne contient que des données agrégées (C.A.
mensuel, par trimestre, ...).
La solution HOLAP combine donc les avantages des solutions MOLAP et ROLAP, mais
aucun standard sur ce principe n'a encore fait l'objet d'un consensus.
28
Quelques remarques :
29
VOLAP (VECTORIAL OLAP)*
" Le V-OLAP est une technologie construite sur une structure de données originale
en base vectorielle inversée, qui permet de traiter, présenter, comparer, compter,
comprendre, corriger, compléter, analyser et projeter toutes les données sans
contrainte, ni délai : de 4 à 32 secondes pour des états complexes traitant des
millions de données ", explique Sylvain Baron, PDG de Sylicom.
30
d'une heure sont ramenés à quelques secondes, du fait que les calculs s'effectuent
par vecteur.
C’est un module OLAP directement installé sur le poste client ; il fait de l’analyse
multidimensionnelle en local en déportant les données vers le poste client et en
générant des cubes qui offrent une vue multidimensionnelle à l’utilisateur final. Très
rapide, il demeure cependant limité en taille (il peut y avoir une mini base
multidimensionnelle) et moins puissant qu’une technologie serveur.
*
http://www.01net.com/article/189226.html
31
WOLAP (WEB OLAP)*
32
Il existe plusieurs raisons pour lesquelles le Web est jugé convenable à OLAP :
Le Web apporte une complète indépendance vis-à-vis de la plateforme. OLAP
peut être déployé sur n’importe quel navigateur Web sur n’importe quelle
plateforme.
Pour les administrateurs OLAP, la maintenance est plus facile. Sur le
client/serveur OLAP, tout doit être installé sur le client ainsi que sur le serveur.
Tandis que sur le Web, l’installation est effectuée sur le serveur uniquement.
Les techniques de navigation et de sélection d’informations sont les mêmes que
pour toutes les autres applications basées Web.
L’interface du navigateur, avec des liens hypertextes et des boutons est
immédiatement reconnue par les millions d’utilisateurs d’ordinateurs qui
connaissent le Web.
Avec une sécurité convenable, Internet peut être utilisé comme un réseau
étendu (WAN) bon marché pour le support à la décision et les applications
OLAP.
La méthode la plus commune pour fournir des applications Web est un navigateur de
client communiquant avec un serveur HTTP qui livre des pages HTML, les pages
employées pour montrer le contenu du World Wide Web. Dans presque tous les
exemples, les programmes du client et du serveur s’exécutent sur des machines
séparées reliées par l'intermédiaire d'un réseau.
33
La base de données est le composant final de cette architecture. Le navigateur Web
ne communique pas directement avec la base de données, ceci étant de la
responsabilité du composant de middleware.
Cette architecture est également appelée architecture trois tiers car contient trois
composants : le client (navigateur), le middleware et le serveur de base de données.
Cependant, le middleware représente un goulot d'étranglement potentiel dans
l'architecture du Web OLAP. S’il est configuré correctement, le middleware devrait
améliorer l'exécution plutôt que la gêner. Mais s’il ne l’est pas, les utilisateurs
peuvent attendre le traitement d’une requête tandis qu’un programme saturé du
middleware peine à effectuer son travail.
34
En somme, ainsi que le disent beaucoup de directeurs commerciaux, la combinaison
entre ces deux technologies est puissante. Les possibilités de livraison du Web,
couplées à l'outil de business intelligence OLAP, permettront à un plus large nombre
d'analystes d'affaires de bénéficier du logiciel. La prolifération des intranets rendra
WOLAP particulièrement populaire au cours des prochaines années.
Grâce à JDBC (Java DataBase Connectivity), les développeurs Java disposent depuis
maintenant longtemps d'une interface de programmation vouée à l'accès aux
données d'un SGBD relationnel. En revanche, ils étaient jusqu'ici fort dépourvus dès
lors qu'il s'agissait d'interroger une base de données multidimensionnelle. Il y a alors
souvent recours au développement de modules spécifiques adaptés aux différentes
bases de données des éditeurs. Pour éviter ces développements spécifiques et
améliorer les outils de restitutions décisionnels, Hypérion, IBM, Oracle et Sun
Microsystems se sont associés (08/2000), pour développer une version Java basée
sur la technologie OLAP. Nommée JOLAP, cette technologie associe donc Java aux
outils décisionnels OLAP. D'autre part, cela permettra d'obtenir des analyses
directement exploitables par les différentes plates-formes Web.
35
5. DOMAINES D’UTILISATION ET ACTEURS DU MARCHE
D’OLAP
Nous pouvons citer à titre d’exemples Très utilisés dans les secteurs de la banque,
des télécommunications et le monde de la grande distribution, où les serveurs OLAP
sont des outils opérationnels, qui permettent de valider une stratégie mise en oeuvre
dans le cas d'une consolidation de données, ou d'entrevoir des tendances, dans celui
d'une analyse statistique. Le type de calculs engagés par un moteur OLAP varie. Les
opérations simples, telles que les additions ou les soustractions, sont exploitées dans
le secteur du contrôle de gestion, qui produit des synthèses comptables.
36
ACTEURS : UN MARCHE CONCENTRE SUR QUELQUES EDITEURS*
Les acteurs du marché de l'analyse OLAP sont nombreux. Malgré cela, le marché
reste concentré entre les mains de quelques éditeurs. Oracle Express Server et
Oracle9i OLAP se disputent la première place avec Hyperion Solutions, qui édite le
produit vedette Hyperion Essbase exploité par France Télécom. Ces deux solutions
permettent d'engager des analyses OLAP à partir de bases relationnelles (Relational
OLAP), multidimensionnelles (Multidimensional OLAP), ou les deux simultanément
(Hybrid OLAP). Sur le même créneau, IBM DB2 OLAP Server figure en bonne position
aux côtés de Microsoft SQL Server Analysis Services. En ce qui concerne Microsoft, il
exploite un langage de commandes baptisé MDX, une réécriture de SQL adapté aux
analyses OLAP. Enfin, MicroStrategy 7i est spécialisé dans les analyses ROLAP,
même si la dernière version de son logiciel prend aussi en charge les cubes MOLAP
et HOLAP. SAS Enterprise Intelligence se concentre, lui, dans les analyses
statistiques intensives.
Pour conclure, précisons que les produits OLAP n'incarnent pas à eux seuls le
marché de l'analyse de données. Ainsi SPSS, un concurrent de SAS, est aussi un
spécialiste des traitements statistiques, même s'il n'exploite pas directement de
technologies OLAP.
*
http://www.01net.com/article/189225.html
37
Figure 12* : Evolution des parts de marché des principaux éditeurs de
produits OLAP
*
Source : www.OLAPreport.com
38
6. AVANTAGES ET INCONVENIENTS DE L’OLAP
Les outils OLAP présentent beaucoup d’avantages, parmi les plus importants nous
pouvons citer :
Le fait que, grâce à eux, une personne peut prendre une décision à tous les
niveaux d’organisation :
o Planification stratégique.
o Contrôle de gestion.
o Contrôle opérationnel.
39
Un cube type peut représenter l’équivalent de plus de 100 rapports
différents. Il est bien sûr beaucoup plus efficace de créer un seul cube que
de produire 100 différents rapports sur mesure. Plutôt que de parcourir des
piles de rapports pour apprendre différentes choses concernant son
organisation, le gestionnaire obtiendra "une seule version de la vérité".
40
... ET SES INCONVENIENTS ?
Mais l'OLAP est aussi très consommateur en espace de stockage: les données
pré calculées sont stockées dans de nouvelles tables. De plus, ajouter une
nouvelle dimension peut avoir pour conséquence d’augmenter la table de faits
de manière très significative en passant par exemple, de quelques millions à
plusieurs centaines de millions de lignes. Le volume de stockage peut en
devenir excessif, il peut donc en résulter des problèmes de performances lors
du chargement de la base.
41
de données utiles est déjà très importante. L'OLAP ne ferait qu'alourdir ces
besoins en stockage sans forcément améliorer la qualité de service»*.
*
http://www.zdnet.fr/techupdate/infrastructure/0,39020938,2135838-2,00.htm
42
7. PRESENTATION D’UN PRODUIT OLAP*
Il existe une multitude de produits OLAP sur le marché, nous pouvons en citer
quelques uns :
3-way Tangram
De Codework Italia, ce produit téléchargeable est conçu pour les plateformes
Windows.
Alea
Un des nombreux produits de MIS AG en Allemagne, similaire à TM/1.
BI2M
Ce produit de B&M Services permet de faire de l'analyse de données
multidimensionnelles. Il se base sur la technologie OLAP et sur le data mining. Un
tutorial et des versions d'évaluation sont disponibles en téléchargement.
Business Objects
Le produit phare de la société française Business Objects permet, depuis la version
4.0, l'accès aux informations stockées dans les bases de données OLAP. Il offre donc
une solution d'interrogation, d'analyse et de reporting des informations
multidimensionnelles, dans un environnement indépendant de la base OLAP choisie.
ContourCube
Ce composant OLAP permet de charger des données issues d'une base de données
relationnelle dans un cube OLAP, qui est présenté à l'utilisateur sous la forme d'une
grille ou d'un graphe. Une version d'évaluation est disponible en format VCL ou
ActiveX.
Cognos Suite
Cognos propose une suite décisionnelle, Cognos Suite : on analyse avec Powerplay
(outil OLAP), on découvre avec Scenario et on fait du reporting avec Impromptu.
*
http://perso.wanadoo.fr/bernard.lupin/glossair.htm
43
Databeacon
InterNetivity, une société canadienne, commercialise cet outil OLAP spécifiquement
pour le Web. La technologie OLAP est bien intégrée dans les applets java. Une
version du logiciel peut être téléchargée sur le site, avec des exemples pratiques.
DSS Suite
Cette suite décisionnelle de Microstrategy permet, avec DSS Server, DSS Agent, DSS
Objects, etc, de construire un projet Data warehouse complet. Ce produit de type
ROLAP peut se connecter aux principaux SGBDR.
Essbase
Arbor Software est le fondateur du concept OLAP. Le produit Essbase est désormais
proposé par Hyperion. C'est l'un des plus répandu actuellement.
Express
Express est l'offre multidimensionnelle de chez Oracle. C'est le produit le plus ancien,
racheté par Oracle à IRI Software. Il comprend un moteur de base de données
disponible à la fois sur site central ou sur PC, plus des outils client en environnement
graphique permettant la consultation des données ou le développement
d'applications spécifiques.
Lightship
Produit de Pilot Software.
PowerOLAP
Ce produit OLAP de Paris Technologies (société US comme son nom ne l'indique pas)
est un produit complet, permettant de manipuler des données relationnelles à l'aide
d'un browser ou d'une feuille Excel. Il intègre un moteur OLAP qui organise les
informations en temps réel.
SQL Server
Le produit SQL Server 7.0 contient un composant OLAP. SQL Server 2000 est la
nouvelle offre intégrée de Microsoft.
Pour clore ce travail de recherche concernant les outils OLAP, nous avons choisi de
présenter le fonctionnement d’un outil en particulier, à savoir ORACLE EXPRESS.
44
PRESENTATION DU PRODUIT ORACLE EXPRESS*
*
www.allshare.fr/Download/Evolution%20Oracle%20Express%20vers%20Oracle%209i%20Option%2
0OLAP.pdf
45
UTILISATION DU PRODUIT ORACLE EXPRESS
46
Etape 1 : La structure
Un petit clic droit sur "Dimension" nous permet de créer toutes les dimensions
décrites précédemment, à l'aide de la boite de dialogue suivante :
47
L'onglet "General" permet de définir le type (identifiant (id), numérique (numeric),
texte (text), ...) de chaque dimension. L'onglet "Labels" donne la possibilité de saisir
des noms courts et des noms longs pour chaque dimension. Ces informations seront
utiles pour l'utilisateur. Les autres options sont utilisées pour les optimisations ainsi
que pour créer manuellement des dimensions conjointes.
Un petit clic droit sur "Variable" et on peut créer les variables Nombre, TotalHT et
TVA. Pour chacune d'elles, on indique les dimensions qui sont denses et celles qui
sont clairsemées.
48
Ici, la variable TotalHT a pour dimension Temps (dense), Magasin et Reference
(clairsemées).
Enfin, vous aurez deviné qu'un clic droit sur "Formula" permet entre autre de créer
des formules. Définissons donc la formule TotalTTC :
49
A noter que le texte de la formule (ici "TotalHT*TVA") utilise un langage propriétaire
que nous verrons dans l'étape 4.
La structure de la base est maintenant constituée. La fenêtre principale permet de
retrouver de manière synthétique les éléments de notre base OLAP.
50
Celles qui proviennent des différents magasins, fournissant les données
chiffrées. Nous supposerons que ces données sont dans des fichiers plats*,
qu'il faudra intégrer dans la base.
Pour saisir des données dans une dimension, il suffit comme d'habitude d'un petit
clic droit sur la dimension existante, puis de choisir "Edit values". La fenêtre qui
s'affiche permet alors de saisir les positions des différentes dimensions, mais aussi
de définir les hiérarchies existant au sein de chaque dimension. Voici par exemple les
données de la dimension hiérarchique Temps.
Pour charger automatiquement les fichiers des différents magasins dans la base
OLAP, il va falloir se lancer dans l'écriture d'un programme, qui sera
automatiquement lancé tous les jours. Un assistant permet, toujours dans
l'Administrator, d'automatiser l'écriture de ce programme. On indique les
caractéristiques du fichier à charger et leur destination dans la base à l'aide d'une
fenêtre de ce type :
*
Voir glossaire
51
Ici, le fichier texte contient cinq champs. Les trois premiers correspondent aux
dimensions Reference, Temps et Magasin, les deux derniers sont les variables
Nombre et TotalHT basées sur ces dimensions.
L'outil crée alors le programme L4G* correspondant, qui peut être lancé aussitôt, via
la fenêtre suivante.
*
Voir glossaire
52
Les données quotidiennes sont maintenant stockées dans la base. Il reste à les
agréger suivant la hiérarchie que nous avons définie sur la dimension Temps.
Toujours avec Administrator, un autre assistant permet de générer automatiquement
un programme effectuant ces agrégats (rollup). A l'aide de cet assistant, il suffit de
choisir les variables à agréger, puis la ou les hiérarchies concernées, puis les
positions des différentes dimensions à prendre en compte pour l'agrégat.
Voilà, notre application est maintenant autonome : les données sont insérées
quotidiennement, les agrégats sont calculés dans la foulée. Les utilisateurs peuvent
maintenant librement se connecter à la base et consulter les données.
Pour consulter les données de la base "Au bon Pied" avec Oracle Express, plusieurs
produits sont disponibles :
Express Analyzer permet à tout utilisateur d'accéder aux données d'une base
Oracle Express en mode client/serveur.
53
Express Object permet aux développeurs de construire une application
client/serveur entièrement spécifique et paramétrée.
Des Add-in permettent à Microsoft Excel d'accéder directement aux données d'une
base Oracle Express.
Des produits Oracle comme Web Agent permettent d'interroger une base Express
à partir d'un navigateur web.
Des produits concurrents comme Business Objects permettent d'interroger une
base Express.
Pour accéder aux données d'une base avec Express Analyzer, il suffit de choisir la
ou les mesures désirées. L'outil se charge alors de construire une table ou un
graphe, avec les dimensions associées. Les mesures sélectionnées constituent une
dimension spécifique appelée "Measure" dans la table ou le graphe qui s'affiche.
Un outil Oracle, appelé Sélecteur, permet alors de choisir, pour chaque dimension,
les positions désirées. Cet outil permet de faire des sélections très poussées, et
permet par exemple de choisir très rapidement tous les mois de l'année, toutes les
références de produits pour lesquelles au moins 10 chaussures ont été vendues en
septembre, ou encore les 5 magasins les plus efficaces en chiffre d'affaire. Il permet
aussi de sauver ou recharger des sélections. La fenêtre ci-dessous montre la boite de
dialogue principale du Sélecteur.
54
Lorsque les mesures sont choisies et les sélections effectuées, la table ou le graphe
s'affiche. Voici deux exemples de consultation de la base "Au bon pied" :
Lorsqu'une table est affichée, on peut par glisser-déplacer positionner les différentes
dimensions en ligne, en colonne ou en page (c'est à dire en haut à gauche), dérouler
ou replier les hiérarchies, agréger certaines dimensions, ...
Un langage spécifique permet de manipuler les données au sein d'une base Oracle
express. Avec ce langage, il est possible de :
55
• Sélectionner des données précises pour constituer des fichiers d'extraction ou
des états.
56
2. Chargement des données depuis un fichier plat
Ce programme permet le chargement des données contenues dans un fichier appelé
"exemple.txt". Le script ci-dessous permet d'insérer dans la base un nouveau type
d'objet, un programme. Celui-ci peut être exécuté par l'instruction "call
<nom_programme>".
if not filenext(_funit)
" Il n'y a qu'une ligne dans le fichier, rien à faire
then goto DONE
57
3. Chargement des données depuis une base relationnelle
Les données à insérer dans une base multidimensionnelle peuvent aussi provenir
d'une base relationnelle. Le script ci-dessous montre un exemple de chargement des
modèles de chaussures depuis une table appelée "modele". A noter que des accès à
une base relationnelle peuvent aussi être programmés dynamiquement, permettant
aux applications multidimensionnelles d'accéder à des bases relationnelles de façon
transparente pour l'utilisateur.
if SQLCODE ne 0
then signal err_req1 joinchars('Erreur SQL ' sqlerrm)
sql open C1
if SQLCODE ne 0
then signal err_req2 joinchars('Erreur SQL ' sqlerrm)
" Boucle sur les données et chargement dans la dimension MODELE et dans la relation
MOD.LONGLABEL
_i = 0
while SQLCODE eq 0
do
_i = _i + 1
sql FETCH C1 INTO -
:APPEND modele, -
:mod.longlabel
if sqlcode ne 0 and sqlcode ne 100
then signal err_req3 joinchars('Erreur SQL ' sqlerrm)
doend
update
58
4. Agrégation des données sur la dimension temporelle
Ce dernier exemple montre comment agréger des données sur une hiérarchie, à
l'aide de la commande intégrée ROLLUP.
arg vJours text " Paramètre : Les jours sur lesquels on veut agréger les données
" Avant de faire le rollup, il faut mettre dans temps tous les mois de l'année et tous les jours
du mois
" Ceci se fait grâce à des commandes 'limit' sur la dimension temps et sur ses relations
limit temps to ancestors using aute.parent " Les mois et années du jour en paramètre
limit temps to children using aute.parent " Les jours du mois et les mois de l'année
END
59
CONCLUSION
Ces outils ont su s’adapter à l’évolution due à l’impact des technologies Internet : en
adoptant les architectures clients légers de type navigateur, les éditeurs ont en effet
simplifié le déploiement de leur solution. Cette orientation a démocratisé l'utilisation
de l'informatique décisionnelle dans l'entreprise et l’a étendue à ses clients et autres
acteurs de son environnement afin de les aider à recueillir à distance le résultat
d’analyses.
Une autre évolution a marqué les outils OLAP avec l’apparition de JOLAP qui les a
doté d'une interface de programmation vouée à l'accès aux bases de données
multidimensionnelles, solutionnant ainsi le problème du développement de modules
spécifiques adaptés aux différentes bases de données des éditeurs.
60
Glossaire
GLOSSAIRE OLAP
Agrégation
Action de calculer les valeurs associées aux positions parents des dimensions
hiérarchiques. Cette agrégation peut être une somme, une moyenne, ou tout autre
processus plus complexe comme la deuxième plus forte valeur.
API
Application Programming Interface. Interface de programmation d'applications,
contenant un ensemble de fonctions courantes de bas niveau, bien documentées,
permettant de programmer des applications de «Haut Niveau». On obtient ainsi des
bibliothèques de routines, stockées par exemple dans des DLL.
Applet
Programme java interactif, présent sur le serveur, qui peut être téléchargé sur le
poste client, et s’exécuter dans une page Web, pour en améliorer la présentation ou
remplir une fonction spécifique. il est nécessaire pour cela de disposer d’un
navigateur capable d’interpréter le langage java.
Attribut
Un fait décrivant chaque position d'une dimension.
Axe
Correspond à une dimension.
BI
Business Intelligence. C’est l'ensemble des technologies permettant de traiter,
valoriser et présenter les données à des fins de compréhension, d’analyse et de
décision.
B_arbres
Balanced Tree. Arborescence permettant de stocker des index. L'arbre est équilibré,
c'est-à-dire qu'il comprend le même nombre de niveaux dans chaque branche ; une
recherche dans ce type d'arbre a donc toujours la même durée ; il a été inventé par
un certain Bayer.
62
Cellule
Une donnée définie par une position de chaque dimension. Les cellules d'un
hypercube peuvent être vides ou remplies. Lorsqu'un grand nombre de cellules sont
vides, on parle de données éparses.
Cube
Le plus souvent, synonyme d'hypercube.
Data mart
L'ensemble des données se rapportant à un des métiers de l'entreprise. Plusieurs
Data mart forment le Data warehouse de l'entreprise.
Data warehouse
Entrepôt de données. Ce terme anglais est utilisé pour désigner l'ensemble des
informations d'une entreprise, enregistrées sous un format informatique.
Dimension
Un ensemble de données du même type, permettant de structurer la base
multidimensionnelle. Une dimension est parfois appelée un axe. Chaque cellule d'une
mesure est associée à une seule position de chaque dimension. Temps, pays, produit
sont des dimensions classiques.
DOLAP
Desktop OLAP. Ce terme désigne un petit produit OLAP faisant de l'analyse
multidimensionnelle en local. Il peut y avoir une mini base multidimensionnelle
(façon Personal Express), ou bien de l'extraction de cube (façon Business Objects).
Données creuses
Dans une structure multidimensionnelle, les données creuses sont des intersections
de dimensions pour lesquelles un fait ne s’est pas produit (ex : pas de vente de
produit X à la date T) ou n’est pas physiquement stockée (ex : pas d’agrégation
physique associée aux ventes de produits par gamme et par mois).
Drill down/Drill up
Mécanismes permettant de se déplacer dans une structure multidimensionnelle, en
allant du global vers le détail (drill down) ou vice versa (drill up).
EIS
Executive Information System. Le terme anglais plus courament utilisé est DSS, ou
Decision Support System.
63
FASMI
Fast Analysis of Shared Multidimensional Information, ou analyse rapide
d'information multidimensionnelle partagée. Ces cinq termes ont tous leur
importance dans la définition de la technologie OLAP.
Fichier plat
Fichier ne contenant que du texte. Synonyme de : Fichier texte.
Formule
C'est un hypercube virtuel, c'est à dire que les valeurs obtenues sont le plus souvent
calculées à la volée mais non stockée dans la base de données.
Hachage
Méthode permettant de diviser une liste de données en listes plus petites, contenant
les éléments de la première qui ont des points en commun. Quand on fera une
recherche dans la liste, on pourra ainsi rapidement se concentrer sur une de ces
sous-listes. hash ou hashing en anglais. Le terme désigne aussi le résultat de
l'opération.
Hiérarchie
Les positions d'une dimension organisées selon une série de relations 1-n en
cascade. Cette organisation de données est comparable à un arbre logique, ou
chaque membre n'a pas plus d'un père mais un nombre quelconque d'enfants.
HOLAP
Hybrid OLAP. Désigne les outils d'analyse multidimensionnelle qui récupèrent les
données dans des bases relationnelles ou multidimensionnelles, de manière
transparente pour l'utilisateur.
Hypercube
Une construction multidimensionnelle formée de la conjonction de plusieurs
dimensions. Chaque cellule est définie par un seul membre de chaque dimension.
Infocentre
Collection de données destinées à l’aide à la décision orientées sujet, intégrées,
volatiles, actuelles, organisées pour le support d’un processus de décision ponctuel,
en support à une activité particulière.
64
J2EE
Ensemble de standards. J2EE (pour Java 2 Enterprise Edition) peut être considéré
comme un intitulé générique qui couvre plus d'une dizaine de services techniques.
Ces services définissent par exemple comment accéder à un annuaire, à une base de
données, comment faire dialoguer des machines virtuelles Java ou encore quelles
interfaces un composants doit présenter pour être réutilisable dans un tel
environnement. C'est la combinaison de tous ces services techniques qui constitue
l'architecture J2EE.
JDBC
Java Data Base Connectivity. Il s’agit d’une API qui à était développée par SUN pour
permettre à des applications Java d'accéder à des bases de données relationnelles
quelconques.
L4G
Langage de programmation comportant des commandes évoluées et puissantes qui
représentent une programmation dans les langages de 3ème génération comme le
COBOL ou le C. ces commandes sont généralement orientées selon la philosophie du
produit vers la communication client/serveur, des liens SQL, de la manipulation
multidimensionnelle, etc.
Métadonnée
Information décrivant une donnée. Dans un contexte de Data Warehouse, elle
qualifie une donnée en précisant par exemple sa sémantique, les règles de gestion
associées, sa source, son format, etc.
MDB
Multidimensional DataBase. Permet le stockage, le traitement et la restitution de
données multidimensionnelles.
Mesure
Un hypercube, le plus souvent de type entier ou décimal, structuré par des
dimensions. Salaire, Prix, Quantité, Coût sont des mesures classiques.
Middleware
Outil logiciel de connectivité : dans un contexte décisionnel, il est situé entre les
outils d’aide à la décision et la base de données décisionnelle. Un bon middleware
permet de conserver l’indépendance de ces deux types de composants.
65
Modèle de données
Schéma d’une base. Le modèle décrit les tables, les attributs, les clés, les contraintes
d’intégrité. Le modèle relationnel décrit des tables à deux dimensions (ligne et
colonne). Le modèle multidimensionnel ne limite pas le stockage des données dans
l’espace.
MOLAP
Multidimensional OLAP. Ce terme désigne plus spécifiquement une technologie de
stockage cartésien. MOLAP s'oppose à ROLAP. Pour le premier, les jointures sont
déja faites, ce qui explique les performances. Dans le second, les jointures entre les
tables de dimension et de fait sont effectuées au moment de la requête.
Multicube
Une construction multidimensionnelle formée de plusieurs hypercubes partageant
certaines dimensions.
Multidimensionnel
Structure de données ayant au moins trois dimensions indépendantes.
Niveau hiérarchique
Au sein d'une hiérarchie, les positions sont en général organisées en niveaux. Les
positions d'un même niveau correspondent à une classification précise. Par exemple,
on peut concevoir une dimension "temps", pour laquelle les jours sont au niveau 1,
les mois au niveau 2 et les années au niveau 3.
OLAP
Littéralement, On-Line Analytical Processing. Désigne une catégorie d'applications et
de technologies permettant de collecter, stocker, traiter et restituer des données
multidimensionnelles, à des fins d'analyse. Une autre définition est résumée dans
l'acronyme FASMI (Fast Analysis of Shared Multidimensional Information), ou analyse
rapide d'information multidimensionnelle partagée. Les outils OLAP doivent respecter
12 règles précises.
OLTP
On-Line Transactional Processing.
Type d’environnement de traitement de l’information dans lequel une réponse doit
être donnée dans un temps acceptable et consistant.
66
Position
Une valeur d'une dimension.
RDBMS
Relational DataBase Management System. Permet le stockage, le traitement et la
restitution de données stockées dans des tables relationnelles. Son équivalent
français est SGBDR, ou Système de Gestion de Base de Données Relationnelle.
Référentiel
Structure de stockage des métadonnées. Un référentiel fédère ces métadonnées,
contrairement aux catalogues, qui sont en général spécifiques à chaque outil. On
distingue le Data Warehouse Repository, fédérant les métadonnées de la base
décisionnelle, de l’Entreprise Repository, qui inclut en théorie toutes les
métadonnées de l’entreprise, aussi bien transactionnelles que décisionnelles.
Relation
Une relation entre les positions de deux dimensions distinctes permet d'effectuer
facilement des calculs à la volée pour définir de nouvelles formules.
Relationnel
Technique de modélisation consistant à décomposer une base de données en entité
et en relations corrélant ces entités.
ROLAP
Relational OLAP. Il s'agit d'un ou plusieurs schémas en étoile stockés dans une base
relationnelle. Cette technique permet de faire de l'analyse multidimensionnelle à
partir de données stockées dans des bases relationnelles.
SGBDR
Système de Gestion de Base de Données Relationnelle. Equivalent de RDBMS.
SIAD
Système d'Information d'Aide à la Décision. Equivalent de EIS.
Schéma en étoile
Arrangement de tables dans une base de données relationnelle. Au centre, on trouve
la table de faits, dont les colonnes constituent les mesures du multidimensionnel. Les
branches de l'étoile qui rayonnent à partir de la table de fait correspondent aux
dimensions. Le modèle conceptuel de données permet de retrouver cette forme en
étoile.
67
Slice and dice
Changement d’axe. L’utilisateur peut demander à voir le modèle sous-jacent à son
rapport et pivoter les axes afin d’avoir une autre vue des données. Il peut aussi
modifier totalement le modèle d’analyse et relancer dynamiquement une nouvelle
analyse.
Transaction
La définition d’une transaction peut se résumer à un acronyme : ACID
Atomique. Cohérente. Isolée. Durable.
♦ Atomique : toutes ou aucune des instructions d’une transaction sont exécutées.
Si une des instructions ne peut pas être menée à terme, toute la transaction est
annulée.
♦ Cohérente : avant l’exécution de la transaction, la base est dans un état
cohérent, et après son exécution, elle l’est de nouveau. En revanche, pendant la
transaction, la base peut être temporairement incohérente. C’est pourquoi il convient
d’isoler la transaction pendant son exécution.
♦ Isolée : les effets de la transaction sont invisibles tant que la transaction n’est
pas terminée et validée (ou annulée). Généralement, l’isolation est mise en œuvre au
travers un système de verrouillage.
♦ Durable : les effets de la transaction sont dans la base ad vitam aeternam une
fois que la transaction a été validée. Le journal des transactions est chargé de rendre
compte de cette caractéristique des transactions.
Variable
En général synonyme de mesure.
68
Bibliographie &
Webographie
BIBLIOGRAPHIE
70
WEBOGRAPHIE
http://www.01net.com/
http://www.olapreport.com/
http://www.olapcouncil.org/
http://dev.hyperion.com/resource_library/white_papers/providing_olap
_to_user_analysts_1.cfm (livre blanc de E.F. Codd)
http://www.datawarehouse.com/iknowledge/whitepapers/hyperion_61.
pdf
http://perso.wanadoo.fr/bernard.lupin/glossair.htm (site OLAP par
l’exemple)
http://www.businessdecision.com/fr/Decouvrir/DataWarehouse.htm
http://altaplana.com/olap/olap.collections.html
http://www.camagazine.com/index.cfm/ci_id/17325/la_id/2.htm
http://solutions.journaldunet.com/
http://www.grappa.univ-lille3.fr/polys/fouille/index.html
http://www.grd-publications.com/art/
http://membres.lycos.fr/manx/siad.pdf
http://www.microstrategy.com/
http://www.uneca.org/codi/docs/doc27FR.pdf
http://bdd.univ-lyon2.fr/~boussaid/GafOLAP.htm
http://www.rd.francetelecom.fr/fr/conseil/mento14/chap5.html
www.instantolap.net
http://www.zdnet.fr/techupdate/infrastructure/0,39020938,2135838-
1,00.htm
http://www.grd-publications.com/art/ls041/ls041138.htm
http://www.grd-publications.com/art/ls044/ls044044.htm
http://staf.uum.edu.my/amran/CogRamm2002.pdf
http://www.tdan.com/i004fe04.htm
www.allshare.fr/Download/Evolution%20Oracle%20Express%20vers%20Oracle%
209i%20Option%20OLAP.pdf (Produit ORACLE EXPRESS)
71