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

Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

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

Page 2: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

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

Page 3: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

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

Page 4: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

3

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]

Page 5: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

4

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.

Page 6: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

5

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

Page 7: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

6

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

Page 8: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

7

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

Page 9: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

8

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.

Page 10: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

9

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

- Structure statique

- Orientée sujet

- Structure évolutive

DONNEES - Détaillées, actuelles

- Peuvent être MAJ

- Accessibles de façon

individuelle

- Résumées, agrégées

- Historiques

- Sont recalculées

- Accessibles de façon

ensembliste

UTILISATEURS - Agents opérationnels

- Des milliers

- Managers

- Des centaines

UTILISATION - Traitées de façon

répétitive

- Requêtes simples

- Sensibles aux

performances

- Traitées de façon

heuristique

- Requêtes complexes

- Non sensible aux

performances

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

Page 11: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

10

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

Page 12: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

11

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 :

Page 13: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

12

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.

Page 14: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

13

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

Page 15: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

14

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

Page 16: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

15

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

Page 17: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

16

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

Page 18: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

17

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)

Page 19: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

18

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

Page 20: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

19

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

Page 21: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

20

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.

Page 22: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

21

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]

Page 23: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

22

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

Page 24: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

23

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

Page 25: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

24

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

Page 26: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

25

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.

Page 27: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

26

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

Figure 9 : Modèle en constellation de faits

Page 28: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

27

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.

Page 29: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

28

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.

Page 30: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

29

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.

Page 31: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

30

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

Page 32: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

31

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

Page 33: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

32

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

Page 34: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

33

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.

Page 35: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

34

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.

Page 36: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

35

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.

Page 37: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

36

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.

Page 38: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

37

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

Page 39: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

38

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

* Source : www.OLAPreport.com

Page 40: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

39

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.

Page 41: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

40

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.

Page 42: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

41

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

Page 43: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

42

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

Page 44: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

43

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

Page 45: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

44

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.

Page 46: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

45

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

Page 47: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

46

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

Page 48: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

47

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 :

Page 49: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

48

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.

Page 50: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

49

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 :

Page 51: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

50

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.

Page 52: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

51

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

Page 53: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

52

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

Page 54: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

53

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.

Page 55: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

54

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.

Page 56: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

55

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.

Page 57: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

56

• 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

Page 58: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

57

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

Page 59: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

58

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

Page 60: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

59

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

Page 61: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

60

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.

Page 62: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

Glossaire

Page 63: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

62

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.

Page 64: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

63

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.

Page 65: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

64

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.

Page 66: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

65

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.

Page 67: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

66

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.

Page 68: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

67

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.

Page 69: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

68

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.

Page 70: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

Bibliographie & Webographie

Page 71: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

70

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

Page 72: Les outils OLAPiniste.free.fr/.../Expos%E9_Les%20outils%20OLAP.pdf · En effet, bien que le langage SQL ait été défini à l’origine pour faire de l’aide à la décision, il

71

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)