olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

14
Systèmes d’Informations Systèmes d’Informations Décisionnels Décisionnels Master Recherche ECD Année 2006-2007 Fadila Bentayeb [email protected] Plan 1. Analyse en ligne (OLAP) 2. Fouille de données en ligne 1. Analyse Multidimensionnelle • OLAP Le décisionnel • Modélisation dimensionnelle des données • Opérateurs OLAP Contexte • Définition • Qui utilise OLAP et Pourquoi? • De l ’OLTP à l ’OLAP On-Line Analytical Processing OLAP

Upload: api-3750267

Post on 07-Jun-2015

1.094 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

Systèmes d’Informations Systèmes d’Informations

DécisionnelsDécisionnels

Master Recherche ECD

Année 2006-2007

Fadila Bentayeb

[email protected] Plan

1. Analyse en ligne (OLAP)

2. Fouille de données en ligne

1. Analyse Multidimensionnelle

• OLAP

• Le décisionnel

• Modélisation dimensionnelle des données

• Opérateurs OLAP

• Contexte

• Définition

• Qui utilise OLAP et Pourquoi?

• De l ’OLTP à l ’OLAP

On-Line Analytical Processing

OLAP

Page 2: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

Contexte

Un entrepôt de données offre des données

• nombreuses

• homogènes

• exploitables

• multidimensionnelles

• consolidées

Comment exploiter ces données à des

fins d ’analyse?

• Le terme OLAP désigne l’ensemble des moyens et des techniques à mettre en œuvre pour réaliser des systèmes d ’aide à la décision efficaces.

• Traitements semi-automatiques visant à interroger, visualiser et synthétiser les données

• Définis et mis en œuvre par les décideurs

On-Line : signifie que le processus se fait en ligne

l'utilisateur doit avoir la réponse de façon quasi-instantanée

Définition

Services financiers•Gestion du budget, des coûts

•Analyse des performances

Services commerciaux•Analyse des ventes

•Prévisions

Services marketing

•Analyse du marché, des

prévisions de ventes, des

offres promotionnelles

Production•Planification de la production

•Analyse des défauts

Qui utilise OLAP et Pourquoi?

Toutes ces applications sont capables de fournir aux managers l'information dont ils ont besoin pour prendre leurs décisions (stratégiques)

• OLTP: On Line Transaction Processing

Les applications OLTP sont des applications de production. Elles sont

constituées de traitements factuels concernant les produits, les ressources ou les

clients de l ’entreprise.

• OLAP: On Line Analytical Processing

Les applications OLAP sont des applications d ’aide à la décision. Elles sont

constituées de traitements ensemblistes réduisant une population à une valeur

ou un comportement.

Requêtes OLAP exécutées sur le data warehouse

Requêtes OLTP exécutées sur les données sources

De l ’OLTP vers l ’OLAP

Page 3: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

OLTP OLAP

Conception Orientée conception

Structure statique

Orientée sujet

Structure évolutive

Données Détaillées

Actuelles

mises à jour

Résumées, Agrégées

Historiques

Recalculées

Principales différences

entre OLTP et OLAP

OLTP OLAP

Utilisation Requêtes simples

Sensibles aux performances

Requêtes complexes

Non sensibles aux performances

Utilisateurs Agents opérationnels Décideurs

Taille

NB. Users

100 MB-GB

Des milliers

100 GB-TB

Des centaines

Principales différences

entre OLTP et OLAP

• Architecture décisionnelle

• Systèmes décisionnels

• Requêtes OLAP : Exemples

Le Décisionnel

Magasins de donnéesData Marts

Base de données décisionnelle

Outils d ’analyse

Sources de données

Système OLTP Système décisionnel OLAP

BDD

Architecture décisionnelle

Page 4: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

• Les sources de données

• internes: bases de production

• externes: Internet, bases des partenaires

• L’entrepôt de données : lieu de stockage centralisé des

informations utiles pour les décideurs

• Les magasins de données : extraits de l ’entrepôt orientés

sujet. Données organisées de manière adéquate pour permettre

des analyses rapides pour la prise de décision

• Les outils d ’analyse : permettent de manipuler les données

suivant des axes d ’analyse

Systèmes décisionnels

• Quels sont les produits dont les ventes ont chuté l’an

dernier ?

• Quelles sont les quinze meilleures ventes par magasin et

par semaine durant le premier trimestre de l ’année 2001?

• Quelle est la tendance des chiffres d’affaire (CA) par

magasin depuis 3 ans ?

• Quelles prévisions peut-on faire sur les ventes d’une

catégorie de produits dans les 6 mois à venir ?

Requêtes OLAP : Exemples

• La base MOLAP (Multidimensional) est l'application physique du

concept OLAP. Il s'agit réellement d'une structure multidimensionnelle.

Les bases MOLAP sont rapides et performantes mais limités au gigaoctet.

• La base ROLAP (Relational) est une base relationnelle classique

organisée pour réagir comme une base OLAP. Elles sont lentes et peu

performantes mais sans limites de taille.

• La base HOLAP (Hybride) est un compromis entre les deux concepts

précédents : une base MOLAP pour les données souvent consultées (la

minorité selon Pareto), une base ROLAP pour les autres (la majorité).

• La base DOLAP (Desktop) est une base OLAP très limitée en taille

hébergée sur le poste client. Elle est bien entendu très rapide

Bases OLAPEvolution du concept OLAP Modélisation dimensionnelle des données

• Principe

• Données multidimensionnelles (table, tableau)

• Modélisation conceptuelle

• Modélisation Logique

• ROLAP

• MOLAP

• HOLAP

• Listes multi-chaînées

Page 5: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

Principes des outils OLAP

• Restructurer et stocker dans un format multidimensionnel les

informations issues de fichiers plats ou de bases relationnelles

• Le format multidimensionnel organise les données le long de

dimensions

Avantages

• forme conceptuelle proche de la perception qu’en a l ’analyste

• donnée multidimensionnelle = point dans un espace à

plusieurs dimensions

Principes

Ventes 1996

pièces régions quantités

50

60

40

70

40

50

50

60

écrous

écrous

écrous

clous

clous

vis

vis

vis

est

ouest

sud

est

nord

ouest

sud

nord

table relationnelle

qui représente des

quantités de pièces

vendues en 1996

dans quatre régions

Dimensions: pièces, régions, quantités

Données multidimensionnellestable relationnelle

Représentation bi-dimensionnelle de la table Ventes 1996

sudouest nordestVentes 1996

écrous

clous

vis

40

5050 60

40

70

6050

Combinaison non connue

ou inexistante. Ex. les

ventes de vis dans la région

est

vis

est

Généralisation: Cube, Hypercube, Table multidimensionnelle

Case vide

Données multidimensionnelles tableau

Modélisation Conceptuelle

• Concepts de base

• Concept de fait

• Concept de dimension

• Concept d ’hiérarchie

• Différents modèles

• en étoile

• en flocon

• en constellation

Page 6: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

• Utiliser un système de gestion de bases de données (SGBD)

existant :

• SGBD relationnels (ROLAP)

• SGBD orientés objet (OOLAP)

• Utiliser un système de gestion de bases de données

multidimensionnelles (MOLAP)

• Utiliser un système hybride (HOLAP)

Modélisation logique

Technologie de stockage relationnelle

• taille très grande

• langage : SQL étendu.

• l’opérateur CUBE permet de construire un cube à partir de tables relationnelles.

• temps de réponse pénalisés par de nombreuses jointures. C’est une solution peu rapide mais efficace sur de grands volumes de données

• traduction de requêtes OLAP en requêtes SQL

• détermination de vues matérialisées à interroger• de niveau adéquat• de coût moindre

ROLAP

COMMANDE

Date Cde

PRODUITPRODUIT

Nom ProduitDescription Produit

Catégorie

Description catégorie

Prix unitaireCLIENT

Nom Client

Adresse Client

Ville

DATE

Date

Mois

AnnéeVENDEUR

Nom Vendeur

Ville Vendeur

Quota

VILLE

Nom Ville

Région

Pays

TABLE DE FAITS

Quantité

Prix Total

Modèle en étoile : exemple

D

I

M

E

N

S

I

O

N

S MESURES

Ventes

COMMANDE

N° Cde

Date Cde

PRODUITPRODUIT

Code produit

Nom Produit

Description Produit

Catégorie

Description catégorie

Prix unitaireCLIENT

N° Client

Nom Client

Adresse Client

Ville

DATE

Clef date

Date

Mois

Année

VENDEUR

Code vendeur

Nom Vendeur

Ville Vendeur

Quota

VILLE

Nom Ville

Région

Pays

TABLE DE FAITS

N° Cde

Code vendeurN° Client

Clef dateCode produit

Nom Ville

QuantitéPrix Total

Mesures

ROLAP

Page 7: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

• technologie des bases de données multidimensionnelles

• structure de stockage : tableaux

• techniques de compression

• correspondance directe avec la vue multidimensionnelle

• gestion de la faible densité (sparsity)

• structure d ’index : dimensions peu denses

• bitmap indexing, join indexing

• données : tableaux des dimensions denses

MOLAP

• C’est un système multidimensionnel « pur ».

• Gère des structures multidimensionnelles natives

• tableaux à n dimensions (cubes, hypercubes)

• Axes = Dimensions

• Cellules contiennent les mesures

• Le calcul des agrégats dans un tel tableau se fait en colonne ou en

ligne et est par conséquent très rapide. Pas de jointure à faire

• Temps d’accès optimisés

• Taille limitée

• Absence d’un langage d’interrogation des données. Nécessité de redéfinir les opérations de manipulation de structures multidimensionnelles

MOLAP

Nom éditeur technologie

Essbase Arbor Software MOLAP

DB2 OLAP Server IBM ROLAP/HOLAP

Metacube Informix ROLAP

SQL Server Microsoft HOLAP

DSS Microstrategy ROLAP

MDDB SAS Institute MOLAP/ROLAP

Express-server Oracle MOLAP/ROLAP

Quelques solutions

sudouest nordestVentes 1996

écrous

clous

vis

40

505060

40

70

6050

Ventes 1996

pièces régions quantités

50

60

40

70

40

50

50

60

écrous

écrous

écrous

clous

clous

vis

vis

vis

est

ouest

sud

est

nord

ouest

sud

nord

Tuples éclatés pour former les noms des lignes et des colonnes et

les valeurs aux intersections

De la table relationnelle versla table bi-dimensionnelle

Page 8: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

mouchoirs

savon

parfum

couches

janv99

févr99

mars99

Lyon

Grenoble

Valence

3403,88 F

2087,25 F

2891,55 F 2226,4 F

4032,5 F

2691,3 F

4432,88 F

3403,88 F

Magasin Produit Date Ville PrixTotal

Carrefour mouchoirs janv99 Lyon 2691,36F

Casino savon mars99 Valence 4032,54F

Auchan parfum mars99 Grenoble 2226,40F

Casino couches févr99 Valence 4432,96F

Carrefour couches févr99 Lyon 3403,88F

Casino parfum mars99 Valence 2087,25F

Auchan savon mars99 Grenoble 2891,55F

Casino mouchoirs janv99 Valence 2178,72F

Auchan mouchoirs janv99 Grenoble 3332,16FD

Auchan couches févr99 Grenoble 3403,88F

Table relationnelle(sur 4 dimensions Magasin, Produits, Date, Ville)

Tableau multidimensionnel(sur 3 dimensions Produits, Date, Ville)

Cube creux

De la table relationnelle vers un cube (3 dimensions)

Plus on a de dimensions plus on a de cellules vides.

Combinaisons sans valeurs ou non encore connues : Cube creux

Une BD est considérée comme éparse si elle a moins de 40%

de ses cellules pleines

On dispose de 100 000 données (Tuples)

4 dimensions ayant une cardinalité de 30 modalités chacune:

30 * 30 * 30 * 30 = 810 000 cellules

(dont 710 000 vides : 12,3% seulement sont pleines)

Techniques de compression des données

Données éparses

Plus grands que la taille

mémoire

Techniques de morcellement de

cubes en cuboïdes

Problèmes Solutions

Données éparses • Techniques de compression

• Nouvelle structure

Cubes de données

•Approche relationnelle : 30% du temps est consacré aux I/O.

•Approche multidimensionnelle : 20%. (70% calculs et 10%

décompression)

HOLAP : Hybrid OLAP

combinaison des technologies ROLAP et MOLAP

• données détaillées dans BDR

• données agrégées dans BDMD

HOLAP

Page 9: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

• Opérateurs liés à la structure

• Opérateurs liés à la granularité

• Opérateurs ensemblistes

Opérateurs OLAP

• Opérations liées à la structure

• Manipulation et visualisation du cube

• Opérations liées au niveau de granularité des données

• Agrégation : données résumées

• Désagrégation : données détaillées

Traitements Données

• changement de niveau de détail selon différents niveaux de détail

• Changement de points de vue selon plusieurs dimensions

• Plus opérations OLTP/ensemblistes classiques

Opérateurs OLAP

vis

clous

écrous

10 50

60

20

7020

10

50

50

50

30

30

20

50

50

60

1996

1995

1994

Est

Ouest

Sud

Nord

10

50

60

60

6060

40 4040

Rotate consiste à faire effectuer à un cube une rotation autour

d ’un de ses trois axes passant par le centre de deux faces opposées,

de manière à présenter un ensemble de faces différent. Une sorte

de sélection de faces et non des membres.

Rotate

Ventes

1996

1995

1994

50

70 50

50

60

7060

30

20

50

100

40

40

40

4010

1010

20 20

60

60

30

écrous

clous

visEst

Ouest

Sud

Nord

années

pièces

régions

1996

1995

1994

50

70 50

50

60

7060

30

20

50

100

40

40

40

4010

1010

20 20

60

60

30

écrous

clous

visEst

Ouest

Sud

Nord

1996

1995

1994

50

70 50

60

50

7050

60

60

50

10010

10

60

60

30

écrous

clous

visEst

Ouest

Nord

Sud

40

40

20 20

40

40

10

Switch

Switch consiste à inter-changer la position des

membres d ’une dimension

Page 10: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

1996

1995

1994

5070 50

50

60

7060

30

20

50

100

40

40

40

4010

1010

20 20

60

60

30

écrousclous

visEst

Ouest

SudNord

Ventes Est

écrous

vis

clous

1996 19941995

50 70

4070 50

100

1010

Ventes Sud

écrous

vis

clous

1996 19941995

40 20

10

6060

Ventes Ouest

écrous

vis

clous

1996 19941995

60 10

4010

30

5050

Ventes Nord

écrous

vis

clous

1996 19941995

40 20

10

2030

50

50 60

1996

1995

1994

5070 50

50

60

7060

30

20

50

100

40

40

40

4010

1010

20 20

60

60

30

écrousclous

visEst

Ouest

SudNord

Est

Ouest

Sud

Nord

Est

Ouest

Sud

Nord

Est

Ouest

Sud

Nord

Ventes 1996 1995 1994

é

c

r

o

u

s

c

l

o

u

s

v

i

s

50 70 100

60 3010

30 20

10

50

20

60

40

5050

10

60

10

50

70

60

40

10

50

40

40 20

10

Nest permet de grouper sur

une même représentation bi-

dimensionnelle toutes les

informations (mesures et

membres) d ’un cube

quelque soit le nombre de ses

dimensions.

1996

1995

1994

5070 50

50

60

7060

30

20

50

100

40

40

40

4010

1010

20 20

60

60

30

écrousclous

visEst

Ouest

SudNord

Ventes Est Nord SudOuest

vis

écrous

clous

1996 50

1995 70

1994 100

1996 60

1995 10

1994 30 1994 10

1996 40

1995 20

1995 10

1994 10

1996 50

1995 50

1994 50

1996 60

1995 30

1994 20

1996 50

1995 60

1994 60

1996 70

1995 50

1994 40

1995 10

1994 40

1996 40

1995 20 1995 10

Push consiste à

combiner les membres

d ’une dimension aux

mesures du cube, i.e. de

faire passer des

membres comme

contenu de cellules.

Les opérations agissant sur la granularité d ’observation des données caractérisent la hiérarchie de navigation entre les différents niveaux.

• Roll-up ou forage vers le haut: consiste à représenter les données du cube à un niveau de granularité supérieur conformément à la hiérarchie définie sur la dimension.

Une fonction d ’agrégation (somme, moyenne, etc) en paramètre de l ’opération indique comment sont calculés les valeurs du niveau supérieur à partir de celles du niveau inférieur

• Drill-down ou forage vers le bas : consiste à représenter les données du cube à un niveau de granularité de niveau inférieur, donc sous une forme plus détaillée.

Opérations liées à la granularité

Page 11: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

• Hiérarchiser l ’information en différents niveaux

de détails appelés niveaux de granularité.

• Un niveau est un ensemble nommé de membres

• Le niveau le plus bas est celui de l ’entrepôt

• Des opérations d ’agrégation successives sur ces

données offrent de nouveaux points de vue de

moins en moins détaillés de l ’information et

constituent autant de niveaux supérieurs.

Granularité

lieu

sud nordouest

Marseille montpelliernantes bordeaux

poitierParis lille

est

Lyon grenoble dijon

produit

écrous vis clous

temps

1994 1995 1996

régions

Villes

pièces Années

Base Ventes : Granularité

Base VentesDEA ECD

F. Bentayeb

1996

1995

1994

50

70 50

50

60

7060

30

20

50

100

40

40

40

4010

1010

20 20

60

60

30

écrous

clous

visEst

Ouest

Sud

Nord

années

pièces

régions

•Cube : Ventes

•cellule : écrous, est, 1994, 100

•référence: écrous, est, 1994

•mesure : 100

•membre/paramètre : est

•dimension : lieu

•niveau : régions

Ventes

On peut : •agréger les produits par catégories ou•détailler les régions par villes.

Est ouest sud nord

temps

écrous

clous

vis

10

1010

20 150 170 110

160 50 10 60

110

60

220 100 60

220 100 60

Ventes

Roll-up

Page 12: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

Représentation cubique du Roll-upDEA ECD

F. Bentayeb

1996

1995

1994

50

70 50

50

60

7060

30

20

50

100

40

40

40

4010

1010

20 20

60

60

30

écrous

clous

visEst

Ouest

Sud

Nord

temps220

100

60

10 10

60

110

L ’opération CUBE consiste à

calculer tous les agrégats suivant

tous les niveaux de toutes les

dimensions.

CUBE = généralisation du roll-up

Fonction d ’agrégat = somme

L’union de plusieurs group-by donne naissance à un cube.Select ALL, ALL, ALL, Sum(quantité)

From VENTES

UNION Select pièces, ALL, ALL, Sum(quantité)

From VENTES

Group-By pièces ;

UNION Select pièces, années, ALL, Sum(quantité)

From VENTES

Group-By pièces, années ;

UNION Select pièces, années, régions, Sum(quantité)

From VENTES

Group-By pièces, années, régions ;

L’opérateur cube est une généralisation N-dimensionnelle de

fonctions d’agrégations simples . C’est un opérateur relationnel.

Select pièces, années, régions, Sum(quantité Ventes)

From VENTES

Group-By CUBE pièces, années, régions ;

Représentation cubique du Roll-up

• permet d’obtenir des détails sur la signification d’un résultat en

affinant une dimension ou en ajoutant une dimension

• opération coûteuse d’où son intégration dans le système

• Exemple : un chiffre d’affaire suspect pour un produit donné

• ajouter la dimension temps : envisager l’effet week-end

• ajouter la dimension magasin: envisager l’effet

géographique

Drill-down

Drill-down ~ opération réciproque de Roll-up

dijonbordeaux grenoble lille lyon marseille montpellier nantes paris poitiers

clous

écrous

vis

30

20

10

20

30

10

30

30

20

10

10

10

40

50

20

2030

40

10

10

10

10

20

10

10

1070

60

30

101020

20

10

10

10

30 40 20

20

1996

1994

1995

Drill-down du niveau des régions au niveau villes

Drill-down

Page 13: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

1996

1995

1994

50

70 50

50

60

7060

30

20

50

100

40

40

40

4010

1010

20 20

60

60

30

écrous

clous

visEst

Ouest

Sud

Nord

temps220

100

60

10 10

60

110

clous

est sud nord

écrous

vis

Ventes 94-96

220

160 50

170 110150

10

20

60

1060100

Projectionouest

Slicing and dicing

1996

1995

1994

50

70 50

50

60

7060

30

20

50

100

40

40

40

4010

1010

20 20

60

60

30

écrous

clous

visEst

Ouest

Sud

Nord

années

pièces

régions

1996

1995

écrous

clous Sud

Nord

40

40

20

40

40

20

Sélection

Slicing and dicing

• Pré-calcul des agrégats

• Gestion des hiérarchies

Calcul des agrégats

trois possibilités

• ne pas stocker d ’agrégats

•coûteux en temps

• stocker tous les agrégats

• coûteux en espace

• ne stocker qu’une partie des agrégats

Calcul des agrégats

Page 14: olap - bien expliqué, schemas bon mais pas reutilisables - eric lyon

Utilisation de vues matérialisées (ROLAP) choisies en

fonction

• du grain (niveau d ’agrégation)

• des requêtes utilisateurs (frequently asked queries)

• ne stocker qu’une partie des agrégats

Le grain doit être suffisament fin pour pouvoir répondre aux

requêtes

Gérer les hiérarchies

•Cabibbo L. and Torlone R. « Querying multidimensional databases ». In : Proceedings of the

sixth International Workshop on Database Programming Languages, Estes Park, Colorado, USA,

August 1997, p. 17

•Zhao Yihong, Deshpande Prasad M., Naughton Jeffrey F., «An Array-Based Algorithm for

Simultaneous Multidimensional Aggregates», in SIGMOD Record n° 26, Vol 2, 1997.

•R. Kimball, L. Reeves, M. Ross, W. Thornthwaite, "Concevoir et déployer un data warehouse",

Eyrolles, 2000

•W.H. Inmon, “Building the Data Warehouse”, John Wiley and Sons, 1996

•H. Gupta, Selection and maintenance of views in a data warehouse’’, Ph.d. thesis, Standford

University, September 1999.

•S. Chaudhuri and U. Dayal., “An overview of data warehousing and olap”, technology. Sigmod

Record, 26(l):65-74, March 1997.

•V. Sandoval, “ L’informatique décisionnelle ”, Chez Hermès, 1997.

•J.Gray, A. Bosworth, A. Leyman, H. Pirahesh, “Data Cube : A relationnal Aggregation Operator

Generalizing Group-By, Cross-Tab, and Sub-Total”, in Data Mining and Knowledge Discovery

Journal, 1(1), 1997

•C. Alalouf, “Hybrid OLAP : The best of Both World”, White Paper by Speedware Corporation,

november 1997.

Bibilographie