Vous êtes sur la page 1sur 72

RÉPUBLIQUE ALGÉRIENNE DÉMOCRATIQUE ET POPULAIRE

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

I.N.I

THEME :

Les outils OLAP

REALISE PAR :

BENAKEZOUH Leïla
&
TIFOUS Amira

Quatrième année SI

Année universitaire : 2003/2004


PLAN DE L’EXPOSE

INTRODUCTION------------------------------------------------------------------------------------------------------------ 3

1. DE L’INFORMATIQUE OPERATIONNELLE A L’INFORMATIQUE DECISIONNELLE ----- 4

2. OLAP : DEFINITION, DOUZE REGLES, OPERATIONS --------------------------------------------- 8


DEFINITION D’OLAP ---------------------------------------------------------------------------------------------- 8
LES 12 REGLES D’OLAP----------------------------------------------------------------------------------------- 17
LES OPERATIONS DE L’OLAP------------------------------------------------------------------------------------ 21

3. MODELISATION DIMENSIONNELLE------------------------------------------------------------------- 23

4. LES DIFFERENTS TYPES DE MODELES OLAP------------------------------------------------------- 27


LES SERVEURS OLAP ------------------------------------------------------------------------------------------------
27
MOLAP (MULTIDIMENSIONAL OLAP) --------------------------------------------------------------------------------
27
ROLAP (RELATIONAL OLAP) -----------------------------------------------------------------------------------------
27
HOLAP (HYBRIDE OLAP) ---------------------------------------------------------------------------------------------
28
VOLAP (VECTORIAL OLAP)-------------------------------------------------------------------------------------------
30
AUTRES VARIANTES OLAP ------------------------------------------------------------------------------------------
31
DOLAP (DESKTOP OLAP)---------------------------------------------------------------------------------------------
31
WOLAP (WEB OLAP)-------------------------------------------------------------------------------------------------
32
JOLAP (JAVA OLAP) --------------------------------------------------------------------------------------------------
35

5. DOMAINES D’UTILISATION ET ACTEURS DU MARCHE D’OLAP ---------------------------- 36


OLAP POUR QUI ? ----------------------------------------------------------------------------------------------- 36
ACTEURS : UN MARCHE CONCENTRE SUR QUELQUES EDITEURS ----------------------------------------------- 37

6. AVANTAGES ET INCONVENIENTS DE L’OLAP------------------------------------------------------ 39


LES BENEFICES D’OLAP ----------------------------------------------------------------------------------------- 39
... ET SES INCONVENIENTS ? ----------------------------------------------------------------------------------- 41

7. PRESENTATION D’UN PRODUIT OLAP --------------------------------------------------------------- 43


PRESENTATION DU PRODUIT ORACLE EXPRESS ------------------------------------------------------------ 45
UTILISATION DU PRODUIT ORACLE EXPRESS -------------------------------------------------------------- 46

CONCLUSION-------------------------------------------------------------------------------------------------------------- 60
GLOSSAIRE OLAP-------------------------------------------------------------------------------------------------------- 62
BIBLIOGRAPHIE------------------------------------------------------------------------------------------------------- 70
WEBOGRAPHIE--------------------------------------------------------------------------------------------------------- 71
LISTE DES FIGURES

Figure 1 : architecture d’un système décisionnel................................................... 7

Figure 2 : Représentation graphique d’un cube multidimensionnel....................... 11

Figure 3 : Représentation graphique des ventes d’un magasin donné .................. 11

Figure 4 : Représentation graphique des ventes d’un produit donné .................... 12

Figure 5 : Représentation graphique des ventes d’un mois donné........................ 12

Figure 6 : Représentation graphique des ventes d’un produit donné par un magasin

donné pendant un mois donné..................................................................... 13

Figure 7 : Modèle en étoile................................................................................ 24

Figure 8 : Modèle en flocons ............................................................................. 25

Figure 9 : Modèle en constellation de faits ......................................................... 26

Figure 10 : les outils OLAP au sein d’une architecture décisionnelle ..................... 31

Figure 11 : transmission de la requête d’un client à partir du Web ...................... 34

Figure 12 : Evolution des parts de marché des principaux éditeurs de produits OLAP

.................................................................................................................. 38
INTRODUCTION

Face à une complexité de l’informatique, un environnement instable où les


rachats et fusions d’entreprises sont nombreux, une concurrence omniprésente et
une internationalisation des échanges, les décideurs ont besoin d’avoir une vision
claire de leurs affaires à tout moment, très rapidement et à l’aide d’outils faciles à
utiliser.
Les systèmes traditionnels basés sur des requêtes SQL, des vues, des outils
graphiques d’interrogation, … puisant les données à partir des bases de données
opérationnelles (structurées en relationnel) s’avèrent inadaptés à une telle activité.
En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la
décision, il a beaucoup de limitations dans le domaine de l’analyse des données.
Ainsi, les requêtes de comparaison, très utilisées en décisionnel, sont difficiles à
formuler. Certaines ne sont pas du tout formulables ; c’est le cas du classement : par
exemple, SQL ne sait pas récupérer les cinq meilleurs clients d’une entreprise.
D’autres sont formulables mais à condition d’être un expert en SQL.

Afin de remédier à ce problème, des systèmes décisionnels ont été développés.


De façon chronologique, on peut considérer que les premiers systèmes de pilotage
ont été constitués par des outils qui, via des requêtes, permettaient de constituer
des tableaux de bord. Ces outils se sont enrichis de fonctionnalités de simulation et
d’interfaces de présentation. Ce fut alors l’avènement des outils EIS et SIAD. Ces
outils aussi puissants soient-ils, ne permettent que de faire une photographie en
deux dimensions d’une situation donnée. On est donc : « capable d’identifier un
dysfonctionnement, mais pas d’en connaître la cause ».*
Pour pouvoir rechercher et identifier les causes, il fallait introduire une nouvelle
dimension au système ″photographique ″ en deux dimensions existant, la dimension
de l’agrégation qui permet d’expliquer l’origine de l’information étudiée. Cette
nouvelle dimension a été introduite par les systèmes multidimensionnels au travers
des systèmes OLAP.

*
[Haciane2003]

3
1. DE L’INFORMATIQUE OPERATIONNELLE A
L’INFORMATIQUE DECISIONNELLE

Les applications de l’informatique se divisent en deux grandes catégories:


l’informatique opérationnelle de gestion et de production et l’informatique
décisionnelle stratégique.
Dans la première catégorie, il s’agit en général d’automatiser des processus
essentiellement répétitifs en vue d’améliorer la productivité. Cette informatique
permet à l’entreprise de rester présente sur le marché sans lui donner, pour autant,
un véritable avantage compétitif. L’informatisation opérationnelle ne constitue pas un
facteur majeur de différentiation, du fait même que ces processus sont facilement
duplicables.
L’informatique stratégique, au contraire, englobe toutes les applications à même
d’offrir une réelle différenciation.

Quelle entreprise ne voudrait pas :


· fidéliser ses clients en les identifiant mieux : leur proposer les produits ou services
susceptibles de les intéresser.
· maîtriser les risques qu’elle prend.
· optimiser ses activités.
· exploiter intelligemment les données stockées.
· avoir plus d’information que ses concurrents.
· anticiper.

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.

Un système décisionnel nécessite une vision globale du système d’information


opérationnel. Il se caractérise par une simplicité d’utilisation, une disponibilité, une
réactivité (utilisé à tout moment, par de plus en plus de personnes, avec des
requêtes toujours plus exigeantes) et une convivialité des outils d’interrogation.

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é.

La plupart des informaticiens maîtrisent des approches pour la mise en œuvre


de systèmes d’information, le plus souvent centrées sur des méthodologies telles que
Merise ou Information Engineering. Dans leurs composantes liées à la modélisation
des données, ces méthodologies sont à la fois précises, puissantes et assez peu
contestées. Au niveau des modèles de données, le modèle entité-association est le
plus utilisé, débouchant le plus souvent sur la création d’un modèle logique de type
relationnel. Que l’on en connaisse ou non de manière formelle les concepts, toutes
les théories associées à ces modèles sont largement utilisées dans les entreprises.
Ces techniques sont aujourd’hui tellement ancrées dans nos esprits que nous
oublions souvent de remonter à leur origine. Elles sont apparues alors que
l’informatique était destinée à l’automatisation de la production et sont encore
utilisées avec succès dans des contextes de ce type, notamment pour les
applications à caractère transactionnel* communément appelées OLTP*.

Un système décisionnel viable implique un modèle de données spécifique et


évolutif.
Il se compose :
· D’un entrepôt de données ou d’une structure permettant d’accéder à l’ensemble de
l’information.
· D’outils d’analyse qui assurent la présentation des documents à l’aide d’interfaces
graphiques.

*
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.

Fast : Moins de 5 secondes par requête ;


Analysis : Analyse statistique/numérique prédéfinie ou ad hoc, avec un large éventail
de fonctions et un minimum de programmation ;
Shared : Sécurité du partage de l’information sensible ;
Multidimensional : Caractéristique clef d’OLAP ;
Information : Accès à toutes les données et informations, où qu’elles résident et de
façon illimitée en terme de volumétrie.

OLAP caractérise donc l’architecture nécessaire à la mise en place d’un système


d’information décisionnel. De ce fait, il s’oppose à OLTP (On-Line Transactional
Processing).
Effectivement, un système OLTP doit être conçu en vue de mises à jour, insertions,
suppressions les plus rapides possibles. Prenons le cas d’un logiciel de prise de
commande ; l’insertion d’une nouvelle commande ne doit prendre que quelques
millisecondes.

*
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.

A l’inverse, un système décisionnel, également appelé, est conçu pour répondre à


des requêtes complexes en lecture seule. Ceci justifie une remise en cause des
méthodes de conception d’un modèle de données.

Le tableau suivant résume les différences entre OLAP et OLTP.

OLTP OLAP
CONCEPTION - Orientée application - Orientée sujet
- Structure statique - Structure évolutive

DONNEES - Détaillées, actuelles - Résumées, agrégées


- Peuvent être MAJ - Historiques
- Accessibles de façon - Sont recalculées
individuelle - Accessibles de façon
ensembliste

UTILISATEURS - Agents opérationnels - Managers


- Des milliers - Des centaines

UTILISATION - Traitées de façon - Traitées de façon


répétitive heuristique
- Requêtes simples - Requêtes complexes
- Sensibles aux - Non sensible aux
performances performances

TAILLE DE LA BASE - 100 MB à 1GB - 100 GB à 1TB

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.

La figure suivante représente une analyse multidimensionnelle formant un cube dont


les dimensions (ou axes) sont : magasins, mois et catégories.

*
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 :

Figure 3 : Représentation graphique des ventes d’un magasin donné

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 :

Figure 5 : Représentation graphique des ventes d’un mois donné

Les ventes du magasin « le Locle » en produits de nettoyage pendant le mois de


février sont représentées ci-après par la figure 6.

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 :

TOTAL TTC= TOTAL HT * (100+TVA)/100

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.

La base de données OLAP peut donc répondre à des questions du type :

Quelle est la grande surface qui a cumulé le plus de ventes en terme de


produits d’entretien pendant le mois de Mars ?
Quelle est la part de ventes réalisée par les magasins destinés à une clientèle
masculine pendant le premier trimestre ?

Toutes les dimensions d'une variable n'ont pas la même importance.


Il est possible que chaque magasin ne propose pas toutes les catégories de produits.
Quelque soit le mois de l’année, la variable vente sera donc nulle pour les magasins
au niveau des cases qui correspondent aux catégories de produits qu’ils ne
commercialisent pas.
Afin d'optimiser la gestion de l'espace disque et l'accès aux données, il convient
donc d'indiquer au moteur OLAP quelles sont les caractéristiques d'une variable. Une
dimension peut être clairsemée ou dense.
Ici, pour la variable vente, la dimension mois est dense alors que les dimensions
catégorie et magasin sont clairsemées.
Le système se charge alors d'optimiser le stockage des informations. L’outil Oracle
Express, Par exemple, définit automatiquement une dimension composite, qui est
constituée de l'ensemble des couples (catégorie- magasin) porteurs de données.

*
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*.

1. Vue multidimensionnelle (Multidimensional Conceptual View)


La base s’appuie sur un hyper cube (cube à n dimensions). L’administrateur définit
une fois pour toute les dimensions qui représentent une façon de trier l’information
et regroupent une liste de membres du même type (temps, produit, région, ...).
L’analyse pourra ainsi être affinée dans le détail (vision pyramidale). L’utilisateur
choisit deux ou trois critères à visualiser sous forme de tableau ou de cube. Il peut
également faire pivoter les axes d’analyse pour projeter les informations sous un
angle différent. Ainsi, après avoir examiné les ventes par région, il peut permuter
les axes pour une visualisation par mois. Ce critère est certainement le critère-clé
du concept OLAP car il reflète la dimensionnalité de l’entreprise telle que la
perçoivent ses membres qui ne sont autres que les utilisateurs du système.

2. Transparence du serveur OLAP à différents types de logiciels (Transparency)


Permet d’implanter le système OLAP sans affecter les fonctionnalités du système
central. Ainsi, l’utilisateur doit pouvoir utiliser ses progiciels habituels (tableur,
reporting, interface graphique, ...) sans percevoir la présence d’un outil OLAP.
L'utilisateur ne doit pas se rendre compte de la provenance des données si celles-
ci proviennent de sources hétérogènes.

3. Accessibilité à de nombreuses sources de données (Accessibility: OLAP as a


Mediator)
Les outils OLAP ont leur propre schéma logique de stockage de données physiques
mais doivent accéder aux données et réaliser n’importe quelle conversion pour
présenter une vue simple et cohérente des données.

*
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.

4. Performance continue du système de reporting (Uniform Reporting


Performance)
L’augmentation du nombre de dimensions ou du volume de la base de données ne
doit pas entraîner de dégradation visible par l’utilisateur. Cependant, les
performances dépendent de la complexité graphique : dans les bons produits, la
performance est presque linéairement dépendante du nombre de cellules utilisées
pour produire le rapport.

5. Architecture Client / Serveur (Client Server Architecture)


La plupart des données OLAP sont stockées sur des systèmes puissants et sont
accessibles via des PC. Il est donc nécessaire que les produits OLAP travaillent en
environnement client/serveur mais aussi que les composants serveur d'un produit
OLAP intègrent facilement ses différents clients (avec un minimum d’effort et de
programmation pour l’intégration).

6. Dimensions génériques (Generic Dimensionality)


Toutes les dimensions doivent être équivalentes en structures et en possibilités de
calcul. Toute fonction appliquée à une dimension s’applique aussi aux autres. Il ne
doit exister qu’une seule structure logique pour toutes les dimensions.

7. Gestion dynamique des matrices creuses (Automatic Adjustment of Physical


Level)
On parle ici d’optimisation des matrices creuses : les cellules non renseignées (pas
de correspondance entre les dimensions) ne doivent pas encombrer la mémoire et
ainsi ralentir les temps d’accès. On doit pouvoir modifier la structure de données de
l’outil OLAP et changer dynamiquement les méthodes d’accès, lesquelles doivent

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.

8. Support Multi-Utilisateurs (Multi-User Support)


Support des accès concurrents (récupération, mise à jour, ...), garantie de
l’intégrité et de la sécurité afin que plusieurs utilisateurs puissent accéder au même
modèle d’analyse ou encore créer des modèles d’analyse provenant des mêmes
données de l’entreprise.

9. Opérations à travers les dimensions (Unrestricted Cross-dimensional


Operations)
On doit pouvoir effectuer des calculs sur toutes les combinaisons possibles de
dimensions sans restriction technique. De plus, les outils OLAP gèrent les calculs
inter dimensions sans faire appel aux usagers du système pour définir un calcul
hiérarchique, ce qui signifie que les outils OLAP doivent pouvoir effectuer des
calculs sur des hiérarchies inhérentes à des dimensions requises dans l’analyse
sans pour cela faire intervenir les utilisateurs.

10. Manipulation intuitive des données (Intuitive Data Manipulation)


L’utilisateur dispose d’une ergonomie de consultation : toute manipulation doit être
accomplie via une action directe sur les cellules du modèle sans utiliser des menus
ou des chemins multiples à travers l’interface utilisateur, on parle ici de navigation.

11. Souplesse et facilité de constitution des rapports (Flexible Reporting)


L’analyse et la présentation des données sont plus simples lorsque les lignes,
colonnes et cellules de données qui doivent être comparées, sont organisées de
façon logique, par des regroupements correspondant à la vision de l’entreprise.
C’est pour cela que l’élaboration de rapports doit être souple et conviviale pour un
non-initié.

*
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.

12. Nombre illimité de dimensions et de niveaux d’agrégation (Unlimited


Dimensions & Aggregation Levels)
Tout outil OLAP doit gérer au moins 15 à 20 dimensions dans le même modèle. Le
nombre de niveaux d’agrégation est illimité. Techniquement, aucun produit ne se
soumet à cette caractéristique parce que il n'y a pas d'entité illimitée sur un
ordinateur limité !

Pour la petite histoire…

La création de cette norme a servi de base à la fondation aux Etats-Unis de l’OLAP


Council, association de promotion de l’informatique décisionnelle, qui regroupe les
principaux éditeurs de logiciels respectant les douze règles édictées ci-dessus.

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.**

Ces quelques fonctions de navigation ne représentent qu’un aperçu de l’éventail des


possibilités qu’il est possible d’exploiter au travers des outils OLAP ; en effet, il y a
d’autres fonctionnalités telles que :

- Drill across : L’utilisateur peut, grâce à un menu, changer de dimension d’analyse.


Ainsi il peut regarder les chiffres d’affaires par magasin et par mois puis remplacer la
dimension temps par la dimension produit pour analyser les ventes par marques.

*
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

La modélisation dimensionnelle dérive des concepts qui ont amené à l’émergence


des bases de données multidimensionnelles, dites bases OLAP, il y a plus de dix ans.
La nouveauté est que ce type de modèle est indépendant de la technologie. Elle peut
permettre l’utilisation de toute base de données, qu’elle soit relationnelle,
multidimensionnelle, objet, etc.
L’objectif majeur d’un système décisionnel est l’analyse de la performance qui se
matérialise au travers d’un ensemble d’indicateurs. Ces indicateurs n’ont de sens que
mis en relation avec des dimensions d’analyse.
Les bases de données OLAP du marché sont des solutions conçues exclusivement
pour créer rapidement et exploiter les modèles de type multidimensionnel. Ils offrent
à l’utilisateur des outils sophistiqués permettant de naviguer d’une dimension à une
autre, de zoomer sur des informations plus détaillées, etc.

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

Les plus grandes forces de ce type de modèle sont la lisibilité et la performance. La


lisibilité tout d’abord : ce modèle est très parlant pour l’utilisateur et sa finalité est
évidente. Il est naturellement orienté sujet et définit clairement les indicateurs
d’analyse.
La performance ensuite : les chemins d’accès à la base de données sont prévisibles.

Il existe d’autres techniques de modélisation multidimensionnelle dérivées de la


modélisation en étoile, notamment la « modélisation en flocons* » ou « snowflake* »
(voir FIGURE 8).
Le flocon est simplement une étoile dont les branches sont elles-mêmes
décomposées en sous hiérarchies. Modéliser en flocons c’est donc conserver le cœur
du modèle en étoile, à savoir les tables de faits, et affiner la modélisation des tables
de dimensions pour les éclater en sous tables.

*
Voir glossaire

24
Figure 8 : Modèle en flocons

Ce type de modélisation est intéressant à deux points de vue. D’une part, il


normalise les dimensions réduisant la taille de chacune des tables. D’autre part, ce
modèle permet de formaliser la notion de hiérarchie au sein d’une dimension. Un
autre avantage du modèle en flocon est qu’il normalise les dimensions en éliminant
les redondances qui pourraient s’y produire.

Cependant, un examen approfondi montre que cette structure n'apporte rien, et


complique même le modèle. Quand une hiérarchie apparaît dans une dimension, il
est préférable de tout enregistrer dans une seule et même table formant une grande
dimension. Par exemple, pour une dimension produit avec des catégories, puis des
sous-catégories (et ainsi de suite), toutes les échelles sont conservées dans la même
table de dimension. Il sera ensuite possible de naviguer (ou forer) par des opérations
de zoom dans cette échelle (en anglais drill up et drill down).

Le modèle en « constellation de faits » (voir FIGURE 9) partitionne les tables de


faits en tables plus petites pour y stocker les résultats agrégés.

25
Cependant, la mise en œuvre de cette structure reste complexe.

Figure 9 : Modèle en constellation de faits

26
4. LES DIFFERENTS TYPES DE MODELES OLAP

LES SERVEURS 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 :

MOLAP (MULTIDIMENSIONAL OLAP)

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.

MOLAP est particulièrement adapté à la modélisation et à la simulation financière.

ROLAP (RELATIONAL OLAP)

Ce système est capable de simuler le comportement d’un SGBD multidimensionnel


en exploitant un SGBDR classique. On entend par cela qu’il conserve la table de la
donnée de base sur le serveur OLTP d'origine (ou dans un entrepôt de données)
mais utilise un jeu indépendant de tables relationnelles pour stocker les références
dimensionnelles et les données agrégées, ce qui dispense de l’acquisition d’un SGBD
multidimensionnel ; il utilise aussi un middleware pour implémenter les opérations
spécifiques de l’OLAP. De ce fait, lorsque l’utilisateur interroge la base de données
relationnelle, un cube multidimensionnel est fourni en réponse.

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).

HOLAP (HYBRIDE OLAP)

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 :

MOLAP s'oppose à ROLAP, mais chacun de ces moteurs possède ses


arguments : pour ce qui est de MOLAP, les jointures sont déjà faites, il présente
donc de bons temps de réponse dans le cas d'une information très structurée ce
qui explique les performances. En revanche, pour ce qui est de ROLAP, les
jointures entre les tables de dimension et de fait sont effectuées au moment de
la requête ; il est donc plus tributaire des temps de réponse du SGBDR mais
propose cependant une plus grande liberté d'analyse sur des volumes
importants.
Du point de vue de l’accès aux données, MOLAP se rapproche du séquentiel
indexé alors que ROLAP s’appuie sur les techniques usuelles des SGBDR
(jointures, index, etc.).

Dans la généralité, un moteur OLAP est un engin de recherche et d'accès à


l'information. Il doit supporter les modes d'organisation et d'accès aux données
précités (MOLAP, ROLAP, HOLAP). Néanmoins, la plupart des utilisations se
limitent à un choix entre ROLAP et HOLAP.
Ces deux approches sont capables d'opérer directement à partir des tables OLTP
conventionnelles, mais cela génère un grand nombre d'accès et une dégradation
des performances du serveur. Aussi, il est généralement admis qu'un serveur
spécialisé duplique la base de données. Le nombre de niveaux hiérarchiques gérés
en table est dépendant de la granularité des dimensions. Le volume d'information
ainsi stocké peut être conséquent ; aussi, il est préférable de conserver
uniquement les données de base et de les agréger "à la demande". Pour optimiser
au maximum cet aspect, les serveurs OLAP utilisent des techniques (dynamic
sparse matrixes) qui permettent d'éliminer les valeurs à zéro ou nulles. Cette
technique est particulièrement efficace en ce qui concerne les applications dédiées
à l'analyse des ventes à des niveaux de granularité très fins.

29
VOLAP (VECTORIAL OLAP)*

Après quatre années de développement, deux ingénieurs français, Sylvain Baron et


Gilles Hervy, ont inventé une toute nouvelle technologie universelle, le VECTORIAL-
OLAP (VOLAP). Cette solution, qui devrait révolutionner le marché du décisionnel, est
aujourd'hui portée par Microlis sous Windows, le logiciel d'aide à la décision édité par
Sylicom. Microlis est construit sur une logique de rangement qui permet aux
directions générales et opérationnelles d'exploiter l'information.

" 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.

Sylvain Baron en explique le fonctionnement : " Le V-OLAP est l'organisation


vectorielle des données dont, à partir d'une forme relationnelle normale, on opère le
produit cartésien des principales relations (ou leurs jointures naturelles, si
nécessaire), afin d'obtenir une grande table (ou matrice). Chaque colonne de la
matrice (baptisée vecteur) est extraite et rangée dans un fichier (ou dans une
composante de fichier). Chaque vecteur colonne de la matrice (ou base père) est
ainsi une des dimensions de l'hypercube correspondant en organisation
multidimensionnelle. Le problème des matrices creuses (influant sur les
performances) est ainsi définitivement résolu ".

Le VOLAP présente donc de nombreux avantages ; il couvre déjà toutes les


exigences d'OLAP, comme la vue multidimensionnelle des données, la visualisation
de toutes les tranches du cube, une grande liberté quant au nombre de niveaux
d'agrégation, au nombre de dimensions et aux calculs ; un atout pour la simulation
et la modélisation. Les performances, en termes de volumes et de temps de
réponses sortent de l'ordinaire : certains traitements réalisés habituellement en plus
*
http://www.grd-publications.com/art/ls041/ls041138.htm

30
d'une heure sont ramenés à quelques secondes, du fait que les calculs s'effectuent
par vecteur.

AUTRES VARIANTES OLAP

DOLAP (DESKTOP OLAP)

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.

Figure 10*: les outils OLAP au sein d’une architecture décisionnelle

*
http://www.01net.com/article/189226.html

31
WOLAP (WEB OLAP)*

Consiste en l'utilisation d'OLAP à partir d’un navigateur Web.


Cependant, les technologies ne devraient pas exister juste " dans l'intérêt des
technologies ". Une technologie doit résoudre un problème commercial. Ainsi la
question devient - quel problème commercial le Web OLAP résout-il? La réponse se
situe dans les imperfections du client /serveur traditionnel que nous pouvons
résumer dans les points suivants :

Emprunte importante du client : OLAP est conçu comme une application


client/serveur. Le client sert d’interface à l’utilisateur pour interagir avec le
serveur et effectuer des requêtes ; le serveur OLAP gérera et contrôlera toutes
les opérations concernant la base de données OLAP. Par conséquent, la
construction d’une application serveur est beaucoup moins compliquée que
celle d’une application client, car d’une certaine manière, on n’a pas à prendre
en considération l’utilisateur ; par contre, pour une application client, il faut
proposer des interfaces spécifique faciles à manipuler ou qui soient familières à
l’utilisateur.
Le temps : le processus de déploiement du client OLAP dépend de
l’emplacement où est effectué, du système d’exploitation et du matériel en
place. Plus de temps sera requis si le processus est entravé par des facteurs
tels que différentes localisations pour l’organisation ou encore l’existence dans
l’organisation de différents matériels et plateformes.
Coûteux effort de déploiement : l’achat d’un OLAP client/serveur induit des
frais ; en plus du coût du produit en lui même, les utilisateurs doivent payer
des droits de licence. La licence est basée sur le nombre de clients et de
serveurs.
Complexité du processus d’installation et de configuration : ces tâches
nécessitent d’effectuer beaucoup de tests afin que l’installation soit convenable.
Bien des efforts doivent être déployés lorsque des erreurs inattendues
surviennent.
*
http://staf.uum.edu.my/amran/CogRamm2002.pdf

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.

La plupart des applications du Web OLAP emploient une variation de cette


architecture qui fournit une application middleware qui réside sur un serveur. Ce
composant middleware peut se relier directement au navigateur Web ou peut
communiquer avec le serveur HTTP qui renverrait alors des données ou des pages
HTML avec des données additionnelles fournies par le middleware au navigateur .
Ce middleware du Web OLAP exécute un certain nombre de fonctions que les pages
HTML seules ne peuvent pas fournir. Il communique avec la base de données où les
données d'entrepôt résident. Il maintient l'état (mémorise les précédentes
transactions sur la base de données) et potentiellement, exécute dessus des calculs
et protège les données qui doivent être retournées au client.

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.

Figure 11 : transmission de la requête d’un client à partir du Web

Il y a quelques avantages à employer le middleware pour effectuer des parties de


traitement OLAP. En plaçant le middleware entre l’OLAP front-end et la base de
données, le traitement est efficacement fait plus près des données. Cette approche
est différente d'autres types d'OLAP où de grandes quantités de données sont
déplacées à la machine du client pour créer un cube (DESKTOP OLAP ou DOLAP).
Employer le middleware ou une autre approche qui effectue le traitement près des
données réduit les frais de déplacement des données et offre ainsi des possibilités
intéressantes d'améliorer l'exécution.

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.

JOLAP (JAVA OLAP)

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.

Cette interface Java est indépendante de la structure de données sous-jacente,


que celle-ci repose sur une base OLAP native ou sur un schéma en étoile appliqué à
un SGBDR. JOLAP n'est pas sans rappeler l'interface MDAPI (Multidimensional API)
proposée par l'organisme OLAP Council. Mais alors que MDAPI, peu employée, se
contente de définir des mécanismes standards de requête (consultation) d'une base
OLAP, JOLAP, conforme à la plate-forme J2EE, inclut d'emblée les fonctions de mise
à jour.

35
5. DOMAINES D’UTILISATION ET ACTEURS DU MARCHE

D’OLAP

OLAP POUR QUI ?

D'abord utilisés sur les terrains de la finance et du marketing, les produits


décisionnels incluant des fonctions OLAP se sont immiscés depuis quelques années
dans l'ensemble des départements de l'entreprise (ressources humaines, ventes,
opérations, etc.), tous secteurs confondus.

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.

Les professionnels du marketing, quant à eux, penchent plutôt pour l'évaluation de


scénarios : analyser des ventes réalisées par rapport à des prévisions suivant des
dimensions comme les acheteurs, les produits et la date. Pour leur part, les
professionnels de la finance doivent analyser des téraoctets de données. Ils seront
tentés d'effectuer des calculs statistiques poussés, qui portent sur plusieurs
dimensions, comme par exemple le rendement d'un portefeuille, les marchés et les
dates. Le cube produit peut être stocké, puis réutilisé à la volée, dans un autre calcul
de plus grande ampleur (Data mining) : le type de titre le plus rentable, le moins
fluctuant. Le calcul produit devient alors un hypercube.

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.

Dans le diagramme de la FIGURE 12, nous présentons l’évolution des parts de


marché des principaux éditeurs de produits OLAP entre 1998 et 2002 (plusieurs des
éditeurs fournissent de multiples produits et applications OLAP). Les chiffres incluent
le serveur OLAP et le logiciel client.

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 BENEFICES D’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.

La grande souplesse du mode de requêtage qui serait le principal point fort


d'un dispositif OLAP. En fonction des données dont il dispose dans la base
sous-jacente, un utilisateur peut commencer par générer une représentation
d'un chiffre d'affaires par produit ou par région puis lui préférer une vue par
région et par produit. L'opération ne nécessitera que quelques clics.
Avec une base multidimensionnelle, il lui suffit en effet de faire pivoter le
cube sans pour autant régénérer une requête.

Les applications OLAP qui sont couronnées de succès augmentent la


productivité des gestionnaires, des développeurs et de l’organisation entière.
L’inhérente flexibilité des systèmes OLAP signifie que les utilisateurs
d’applications OLAP peuvent devenir plus autonomes. Les gestionnaires ne sont
plus dépendants des développeurs, OLAP leur permet de modéliser des
problèmes, ce qui serait impossible en utilisant des systèmes moins flexibles
avec des temps de réponse irréguliers et plus longs. Plus de contrôle et des
accès en temps voulu à des informations stratégiques égal à une prise de
décision plus efficiente.

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é".

En donnant la possibilité de modéliser de réels problèmes commerciaux et


en utilisant de façon plus efficace les ressources, OLAP permet à
l’organisation toute entière de répondre plus vite aux demandes du marché.
La réponse du marché, en retour, rapporte souvent un meilleur revenu et du
profit.

Les développeurs bénéficient aussi de l’utilisation du logiciel OLAP adéquat.


Malgré le fait qu’il est possible de construire un système OLAP en utilisant
un logiciel conçu pour le traitement des transactions ou la collecte de
données, ce n’est certainement pas une utilisation efficiente du temps du
développeur. De par l’utilisation de logiciel conçu spécialement pour OLAP,
les développeurs peuvent livrer des applications aux utilisateurs plus
rapidement, fournissant ainsi un meilleur service. Une livraison plus rapide
des applications réduit aussi l’accumulation des applications.

OLAP réduit davantage l’accumulation des applications en rendant les


utilisateurs autosuffisants pour la construction de leurs propres modèles.
Cependant, contrairement aux applications départementales autonomes
fonctionnant sur des réseaux de PC, les applications d’OLAP sont
dépendantes des Data warehouses et des systèmes de traitement des
transactions pour mettre à jour leur source de données. Résultat : le
développeur gagne plus d’utilisateurs autonomes sans renoncer au contrôle
de l’intégrité des données.

40
... ET SES INCONVENIENTS ?

Le stockage des données en multidimensionnel ou OLAP a été conçu pour


optimiser les performances des applications décisionnelles. Mais ses
contraintes, en termes de volume, incitent certains éditeurs à opter pour un
modèle relationnel. Explications…

La pertinence d'une application décisionnelle repose souvent sur la quantité de


données que l'on peut croiser à volonté pour en tirer des tendances, analyser
des ventes ou l'historique de clients, selon différents critères tels que la région,
le sexe, la catégorie socioprofessionnelle, etc.
Pour optimiser ces performances, le moteur SQL de la base de données est
souvent remplacé par un moteur OLAP (On-Line Analytical Processing).
Avantage? Il pré calcule certaines données, limitant ainsi les délais d'attente
pour l'utilisateur.

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.

Un mal nécessaire mais pas toujours indispensable, comme le souligne Khoder


Arnaout, responsable des solutions analytique chez Micropole Univers, SSII
spécialisée dans le décisionnel: «l'OLAP permet de faire des croisements
d'informations dans tous les sens et d'effectuer des simulations très riches. Mais
certaines opérations, telles que le reporting de masse, n'ont pas besoin de cette
flexibilité. Les croisements de données sont toujours les mêmes et la volumétrie

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»*.

En d'autres termes, si les requêtes varient peu (pas d'analyse interactive à la


volée) et/ou si le volume de données est important et actualisé régulièrement
(pré calculs trop fréquents), le moteur SQL constitue alors le meilleur
compromis.

Pour les raisons citées précédemment, à savoir le volume de stockage excessif


ainsi que les problèmes de performances qui en découlent, les produits OLAP
s’adaptent mal à la gestion de très grandes bases de données. De ce fait, les
produits OLAP n’ont pas l’envergure d’entrepôts de données à la mesure d’une
entreprise. En revanche, ils sont plus adaptés aux Data marts, moins
volumineux, d’autant plus que la modélisation dimensionnelle est
fondamentalement très orientée métier car un modèle est défini à partir d’un
besoin ou d’un problème précis et est difficilement fédérable. Chaque entité
aura ses propres indicateurs et axes d’analyse, seuls certains d’entre eux
seront transversaux.

*
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*

Express est à la base de toute la technologie multidimensionnelle (OLAP) proposée


par Oracle. Conçu et développé par la société Management Decision Systems
puis vendu à Information Resources Inc., Oracle en a fait l’acquisition en 1995.
La famille de produits Express comprend des produits serveur et desktop, des outils
de développement, des outils de requête client-serveur et web, et des applications
métier.

La première version d’Express nécessitait une très grande capacité de traitement et


de mémoire virtuelle et le produit ne tournait que sur des grands mainframes IBM
3270 sur système d’exploitation VM/CMS.
Lorsque le portage des bases de données est devenu plus facile avec la sortie de
Express MDB, le logiciel original a été rebaptisé Classic Express. C’est ce même
Classic Express qui est devenu Oracle Express Server - avec l’acquisition par Oracle
en 1995, et qu’à partir de la release 2 de la nouvelle base de données de l’éditeur
est renommé Oracle 9i OLAP. C’est toujours et encore le même produit qui a
suivi les évolutions technologiques depuis 20 ans.

Outre les produits serveur, il y a eu également un PC-Express, puis un Oracle


Personal Express. Cependant, avec l’avènement de la technologie web, le besoin
pour de telles applications « personnelles » est devenu bien moindre.

*
www.allshare.fr/Download/Evolution%20Oracle%20Express%20vers%20Oracle%209i%20Option%2
0OLAP.pdf

45
UTILISATION DU PRODUIT ORACLE EXPRESS

Afin de montrer l’utilisation de l’outil ORACLE EXPRESS à des fins d’analyse


multidimensionnelle, nous avons imaginé un exemple pratique de base de données
qui serait celle d’une société de chaussures appelée Au bon pied.

Cette société souhaiterait suivre l'évolution de ses ventes de chaussures suivant


différents critères d’analyse (dimensions) tels que : le temps, le magasin, la
référence, la couleur et la pointure. Elle souhaiterait également pouvoir aisément
connaître la valeur prise par certains indicateurs tels que le prix TTC ou le prix
moyen.

Les étapes décrites ci-après résument brièvement l’utilisation de l’outil ORACLE


EXPRESS par la société Au bon pied dans le cadre de la création d’une base de
données OLAP, de son chargement, de la consultation des données qu’elle contient
ainsi qu’un bref aperçu des possibilités d’effectuer les opérations nécessaires à la
manipulation d’une telle base grâce à un langage de 4ème génération (L4G).

46
Etape 1 : La structure

Grâce aux exemples de la partie précédente, la base de données OLAP de la société


"Au Bon Pied" existe maintenant sur le papier. Pour la rendre un peu plus interactive,
nous allons utiliser un des produits du marché : Oracle Express.
Pour construire très rapidement et très simplement une base multidimensionnelle,
Oracle propose un outil interactif intitulé Oracle Express Administrator. Nous
allons utiliser ce produit dans cette première étape, pour construire la base de
données "AUBONPIED".
Après une phase de connexion à Oracle Express, éventuellement situé sur une autre
machine, une fenêtre d'accueil apparaît, permettant de créer une nouvelle base.
Après avoir saisi un nom et une description pour notre base, la fenêtre suivante
apparaît :

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.

Il faut maintenant remplir cette base avec les données.

Etape 2 : Alimentation de la base

Nous allons ici distinguer deux types de données :


Celles qui servent à initialiser la base, et qui correspondent aux positions des
différentes dimensions. Pour simplifier, nous saisirons ces données
directement avec Express Administrator, ce n'est bien entendu pas
obligatoire.

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.

Etape 3 : Consultation de la base

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, ...

Etape 4 : Un peu de code

Un langage spécifique permet de manipuler les données au sein d'une base Oracle
express. Avec ce langage, il est possible de :

• Définir entièrement une base multidimensionnelle, avec ses dimensions,


variables, formules, ...
• Insérer des données dans la base, éventuellement en chargeant des fichiers
plats ou en se connectant directement à une base relationnelle.
• Agréger les données sur les hiérarchies ou écrire des calculs complexes.

55
• Sélectionner des données précises pour constituer des fichiers d'extraction ou
des états.

Les produits comme Express Administrator ou Express Analyzer utilisent


directement ce langage pour envoyer des commandes à la base multidimensionnelle.
Des programmes de traitement batch peuvent être écrits et lancés automatiquement
tous les jours, toujours grâce à ce L4G.
Nous proposons ici quelques exemples commentés de programmes utilisant la base
"Au bon pied". A noter que ces exemples ont été simplifiés afin de ne faire
apparaître que les points importants du langage. Néanmoins, ils sont compilés et
exécutés sans problème par Oracle Express.

1. Création de la base "Au bon pied"


Ce premier exemple permet de créer la base OLAP de la société "Au Bon Pied", avec
les principales dimensions, variables et formules qui la composent. Cette base est
partielle, elle ne contient pas les hiérarchies sur la dimension TEMPS.

" Création de la base


DATABASE CREATE 'AUBONPIED.DB'

" Création des dimensions.


" On indique leur nom et leur type de données
DEFINE CATEGORIE DIMENSION ID
DEFINE COULEUR DIMENSION ID
DEFINE MAGASIN DIMENSION TEXT WIDTH 32
DEFINE POINTURE DIMENSION ID
DEFINE REFERENCE DIMENSION INTEGER
DEFINE TEMPS DIMENSION ID

" Création des variables.


" On indique leur nom, leur type de données et les dimensions associées
" On spécifie les dimensions denses et clairsemées (sparse).
DEFINE NOMBRE VARIABLE DECIMAL <TEMPS SPARSE <MAGASIN REFERENCE>>
DEFINE TOTALHT VARIABLE DECIMAL <TEMPS SPARSE <MAGASIN REFERENCE>>
DEFINE TVA VARIABLE DECIMAL <TEMPS>

" Création des formules.


" On indique leur nom, leur type de données, les dimensions associées
" On indique ensuite le texte de la formule
DEFINE TOTALTTC FORMULA DECIMAL <TEMPS MAGASIN REFERENCE>
EQ TotalHT*TVA

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>".

DEFINE LEC_FIC PROGRAM


PROGRAM
variable _funit integer
variable _i integer

" Ouverture en écriture du fichier de données


_funit = fileopen('exemple.txt' read)

" On saute la première ligne qui est la description des colonnes


fileread _funit stopafter 1

if not filenext(_funit)
" Il n'y a qu'une ligne dans le fichier, rien à faire
then goto DONE

" Boucle sur les lignes du fichier


_i=0
while true
do
" Chargement des données dans les dimensions et variables correspondantes
" Pour les fichiers de type ruled, on indique les positions des différentes colonnes
fileview _funit ruled -
_i = _i + 1 -
COL 1 WIDTH 4 STRIP APPEND REFERENCE -
COL 9 WIDTH 8 STRIP APPEND TEMPS -
COL 25 WIDTH 10 STRIP APPEND MAGASIN -
COL 41 WIDTH 5 STRIP NOMBRE -
COL 49 WIDTH 6 STRIP TOTALHT
" Ici, on peut ajouter tout type de traitement spécifique à chaque ligne.
" Enregistrement suivant
if not filenext(_funit)
then goto DONE
doend
DONE:
" Fermeture du fichier
fileclose _funit
update

" Affichage de l'heure (Time Of Day) et du nombre d'enregistrements créés


show joinchars (tod ' - ' _i ' enregistrements chargés')
END

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.

"Definition d'un nouvel objet de type Program


DEFINE LEC_BASE PROGRAM
PROGRAM
variable _i integer

" Connexion à Oracle 8i


sql.dbms='oracle'
sqlmessages=yes
sql connect 'admin' identified by 'pass'
if sqlcode ne 0
then signal err_connect joinchars('Probleme de connection ' sqlerrm)
" Définition d'un curseur pour la lecture des données
sql declare C1 cursor for -
SELECT id_modele, desc_modele FROM modele

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

" Fermeture du curseur et de la base relationnelle


sql close C1
sql disconnect
END

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.

DEFINE CUMUL PROGRAM


PROGRAM

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

lmt temps to vJours " On ne garde que le ou les jours en paramètre


limit aute.hierdim to 'JMA' " On ne s'occupe que de la dimension jour-mois-année

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

" Pour les autres dimensions, on conserve toutes les positions


limit magasin to all
limit reference to all

show joinchars(tod, ' - Rollup des ventes sur temps')


" Calcul des agrégats sur la hiérarchie de temps
rollup nombre over temps using aute.parent
rollup totalht over temps using aute.parent

END

59
CONCLUSION

Les données ne naissent pas pertinentes; elles le deviennent, Et c’est afin de


disposer de l’information pertinente pour prendre les bonnes décisions au bon
moment que l’informatique décisionnelle a vu le jour.
C’est dans ce contexte que sont apparues les technologies OLAP qui permettent une
analyse multidimensionnelle et évolutive, interactive des données.

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.

Néanmoins, si cette technologie permet de répondre à des questions et de vérifier


des hypothèses beaucoup plus complexes que les systèmes d'interrogation de Bases
de Données relationnelles, elle n'a pas d'imagination par elle-même : elle ne permet
pas de découvrir des associations nouvelles sans intervention de l'utilisateur ou de
l'expert. Ceci étant du domaine du Data mining.

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

[Franco1997] : Le Data Warehouse – Le Data Mining ; Jean-Michel


FRANCO ; Eyrolles ; 1997

[Kimball2000] : Le Data Webhouse : Analyser le comportement client


sur le Web ; Ralph KIMBALL, Richard MERZ; Eyrolles, 2000

[Haciane2003] : Mini-projet de 1ère année Magister (INI) : Modèles et


techniques utilisées dans le processus de développement de Data
webhouse ; Ahmed HACIANE ; 2003

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