ED Cours 23-24

Vous aimerez peut-être aussi

Vous êtes sur la page 1sur 108

FACULTÉ DES SCIENCES DE SFAX

Département d’informatique et des Communications

Chapitre 1 : Entrepôt de données et Système


d’Information Décisionnel

Filière: LSI 2 Imen GABSI CHARFI


imen.gabsi.charfi@gmail.com
A.U : 2023-2024
Plan
2

 Introduction

 Objectifs et définition d’un DW

 Les 4 Caractéristiques des DW

 DW VS base de données

 Magasins de données

 Intérêt des magasins de données

 Architecture générale
Introduction
3

 Un système d’information décisionnel (Business Intelligence) est un


ensemble de ressources (humaines, matérielles et logicielles) permettant
d’organiser les données de façon spécifique facilement accessibles et
appropriées à la prise de décision

 Principe : Exploitation des données dans le but de faciliter la prise de


décision par les décideurs

 Objectif : pilotage d’entreprise


Introduction
4

 La prise de décision stratégique dans une entreprise nécessite le croisement


de multiples informations concernant tous les départements
 Production, RH, achats, ventes, marketing,…

 Les données sont généralement :


 Éparpillées dans les départements et non connectées entre elles

 Hétérogènes dans leurs formats techniques, leurs organisations structurelles et


parfois leurs sémantiques

 Implémentées pour l’action et non pour l’analyse

 Volatiles pas d’historisation systématique


Introduction
5

 L'enjeu des systèmes décisionnels est de donner accès aux données


existantes dans l‘entreprise, sous une forme intégrée, afin de faciliter leur
interrogation croisée et massive

Mettre en place un système d’information dédié aux applications


décisionnelles: Un Entrepôt de Données (Data Warehouse (DW))
Objectifs d’un DW
6

 Mettre en place une base de données utilisée à des fins d’analyse

 Permettre un accès à diverses sources de données et assurer la qualité des


données

 Extraire, filtrer, et intégrer les données pertinentes, à l’avance, pour des


requêtes ultérieures

 Dégager des connaissances et faire un apprentissage sur l’entreprise, le


marché et l’environnement
Objectifs d’un DW
7

 Aide au traitement des données en fournissant une plateforme de données


historiques consolidées pour l’analyse

 Entreposage de données (data warehousing): le processus de construction et


de l’utilisation du data warehouse
 La copie périodique et coordonné de données provenant de diverses sources,
internes et externes à l’entreprise, dans un environnement optimisé pour l’analyse
Objectifs et définition d’un DW
8

 une collection de données orientées sujet, intégrées, non volatiles,


historisées disponibles pour le support du processus de prise de décision

 Rassembler les données de l’entreprise dans un même lieu sans surcharger


les BD (systèmes opérationnels)

 Une base de données d’aide à la décision qui est entretenue de manière


séparée de la base de donnée opérationnelle de l’entreprise
Les 4 Caractéristiques des DW
9

1) Données orientées sujet

2) Données intégrées

3) Données non volatiles

4) Données datées
Les 4 Caractéristiques des DW
10

1) Données orientées sujet:


 Données organisées autour des grands sujets (thématiques): client, produit, vente

 Ne tiens pas compte de l’organisation fonctionnelle des données


Les 4 Caractéristiques des DW
11

2) Données intégrées:

 Normalisation des données

 Définition d’un référentiel unique


Les 4 Caractéristiques des DW
12

3) Données non volatiles

 Les données ne sont ni modifiables, ni supprimable.

 Traçabilité des informations et des décisions prises

 Copie des données de production


Les 4 Caractéristiques des DW
13

4) Données datées
 du fait que les données sont non volatiles, des intervalles de temps les sont associés.

 Les données persistent dans le temps.

 Mise en place d’un référentiel temps.


DW VS base de données
14

 L’échelle de temps dans le DW est beaucoup plus logique que dans les bases
de données (BD)
 BD opérationnelle: valeur courante des données

 DW: information dans une perspective historique (ex: les 5 dernières années)

 Chaque structure dans le DW contient un élément décrivant le temps


DW VS base de données
15

 Pourquoi dissocier une BD d’un ED?


 Les objectifs de performances dans les BD ne sont pas les mêmes que ceux dans
les Eds:
 BD: requêtes simples, méthodes d’accès et d’indexation

 ED: requêtes OLAP souvent complexes!!

 La nécessité de combiner des données provenant de diverses sources, d’effectuer


des agrégations dans un ED et d’offrir des vues multidimensionnelles

 Les données d’un ED sont souvent non volatiles et ont donc une plus longue durée
de vie que celles d’une BD
DW VS base de données
16

BD ED

Fonctions de Orienté transaction Orienté analyse


l’entreprise concernées
par les données Orienté application Orienté sujet

détaillées agrégées

Types de données courantes historisées

évolutives statiques

nombreux décideurs
Utilisateurs
administrateurs /opérationnels
Opérations réalisées Consultation, ajout suppression Consultation uniquement
sur les données et modification
Magasins de données
17

 Data mart: sous-ensemble d’un DW

 Destiné à répondre aux besoins d’un secteur ou d’une fonction particulière de


l’entreprise

 Point de vue spécifique selon des critères métiers


Intérêt des magasins de données
18

 Nouvel environnement structuré et formaté en fonction des besoins d’un métier


ou d’un usage particulier

 Moins de données que DW


 Plus facile à comprendre, à manipuler

 Amélioration des temps de réponse

 Utilisateurs plus ciblés: DM plus facile à définir


Architecture générale
19
Architecture générale
20

 Flux de données
 Entrant
 Données issues de différentes sources et de différents formats de stockage. Ceci
regroupe les fichiers texte, les rapports, les fichiers de base de données issus de
différents systèmes de gestion de bases de données (SGBD), . . . etc.
 Pour qu’elles soient exploitables, ces données doivent passer par le processus ETL
 Extraction : multi-source, hétérogène
 Transformation: filtrer, trier, homogénéiser, nettoyer
 Chargement: insertion des données dans l’entrepôt

 Sortant
 Mise à disposition des données pour les utilisateurs finaux
Architecture générale
21

 Zone de préparation
 Zone temporaire de stockage de données extraites

 Réalisation des transformations avant l’insertion dans le DW:


 Nettoyage

 Normalisation…

 Données souvent détruites après chargement dans le DW


Architecture générale
22

 Zone de stockage (DW, DM)


 On y transfère les données nettoyées

 Stockage permanent des données

 Zone de présentation (de restitution)


 Donne accès aux données contenues dans le DW

 Peu contenir des outils d’analyse programmés:


 Rapports

 Requêtes
Exercice
23

 Classer les expressions citées ci-dessous en données caractérisant l’aspect


décisionnel de celles caractérisant l’aspect opérationnel:

 Réalisation des opérations au jour le jour  Pas de mise à jour interactive de la part des utilisateurs

 Faible probabilité de l’accès  Grande quantité de données utilisée par les traitements

 Orientées application, détaillées  Petite quantité de données utilisées par un traitement

 Utilisée de façon aléatoire  Mise à jour interactive possible de la part des utilisateurs

 Forte probabilité d’accès  Orientées activité (thème, sujet) condensées

 Utilisées de façon répétitive


FACULTÉ DES SCIENCES DE SFAX
Département d’informatique et des Communications

Chapitre 2 : Modélisation et conception


multidimensionnelle des ED

Filière: LSI 2 Imen GABSI CHARFI


imen.gabsi.charfi@gmail.com
A.U : 2023-2024
Plan
25

 Introduction

 Concepts de base de la modélisation multidimensionnelle

 Modèle en étoile

 Modèle en flocon

 Modèle en constellation

 Approches de conception des ED


Introduction
26

 La Modélisation multidimensionnelle est une nouvelle méthode de


conception
 Introduction de nouveaux concepts et types de table:
 Fait, mesure et dimension Table des faits, table de dimensions

 Introduction de nouveaux modèles: en étoile, en flocon, en constellation

 Analyser un ensemble de FAITS par rapport à des DIMENSIONS pour comprendre


et mieux expliquer les faits
Concepts de base : Fait
27

 Fait représente le sujet d'analyse  Que voulez vous analyser ?


 Exemples de Faits: Ventes, Achats

 Constitué de plusieurs mesures (indicateurs) relatives au sujet traité

 Ces mesures sont numériques et généralement valorisées de façon continue


 on peut les additionner, les dénombrer ou bien calculer le minimum, le maximum ou la
moyenne

 Exemple de mesures: Quantité, Revenu, montant, chiffre d’affaire


Concepts de base : Dimension
28

 Un fait est analysé suivant différentes perspectives ou axes caractérisant ses


mesures de l’activité : dimensions  Quels sont vos critères d'analyse ?
 Une dimension :
 modélise un axe d'analyse selon lequel vont être étudiées les faits: le critère suivant
lequel on souhaite évaluer, quantifier, qualifier le fait

 fournit le contexte (qui, quoi, quand, où, pourquoi et comment) des faits

 Exemples de Dimensions : date, client, produit, fournisseur, magasin

 se compose de paramètres (attributs ou membres) correspondants aux informations


faisant varier les mesures de l'activité
Concepts de base : Table de fait
29

 Table principale du modèle dimensionnel

 Contient des données


 Exemple : La table de faits des « Ventes » peut être constituée des mesures d'activités
suivantes :
 quantité de produits vendus Fait :Vente
Clé_date
 montant total des ventes
Clé_produit Clés étrangères vers
Clé_magasin les dimensions

Quantité
Montant Mesure
Concepts de base : Table de Dimension
30

 Dans l'exemple précédent, le fait « Vente » peut être analysé suivant


différentes axes correspondant à trois dimensions : la dimension Temps, la
dimension Géographie et la dimension Produit :

Dimensionmagasin DimTemps DimProduit


Clé_magasin Clé_date Clé_produit Clé primaire

Région Description_prod Description_prod


Ville Année Marque emballage Attributs de la dimension
responsable Jour poids
mois

 La table de dimension Temps est Commune à l’ensemble du DW


 Elle est Reliée à toute table de faits
Concepts de base: Hiérarchie de dimensions
31

 Une dimension peut être hiérarchisée : contenir plusieurs niveaux hiérarchiques


 Les attributs/membres d’une dimension sont organisés suivant des hiérarchies

 Chaque membre appartient à un niveau hiérarchique ou niveau de granularité


particulier  Jusqu'à quel niveau de détail voulez vous aller ?

 Granularité : niveau de détail d'une dimension

 La définition de la granularité dépend des besoins d'analyse et de la disponibilité


des données détaillées
Concepts de base: Hiérarchie de dimensions
32

 Exemples
 Dimension temporelle: jourmoisannée

 Dimension géographique: magasinville  région  pays

 Dimension produit: Produit  catégorie  marque


Modèle en étoile
33

 Le modèle est constitué d’une table de fait centrale et des dimensions

 Les dimensions n’ont pas de liaison entre elles

 Avantages
 Facilité de navigation

 Nombres de jointures limité

 Inconvénients
 Redondance dans les dimensions
Modèle en étoile
34
Modèle en Flocon
35

 Variante du modèle en étoile

 Une table de fait et des dimensions décomposé en sous hiérarchies


 Un seul niveau hiérarchique dans une table de dimension

 La table de dimension de niveau hiérarchique le plus bas est reliée à la table de fait
 On dit qu'elle à la granularité la plus fine
Modèle en Flocon
36

 Avantages
 Réduction de la redondance

 Maintenance des tables de dimensions simplifiée

 Economie d’espace disque

 Inconvénients
 Modèle plus complexe

 Dégradation de la performance à cause des jointures additionnelles.


Modèle en Flocon
37

Temps
ID Jour
Modèle en constellation
38

 Un ensemble de schémas en étoiles et/ou en flocon dans lesquels les tables


de faits se partagent certaines tables de dimensions
 Un modèle en constellation comprend
 plusieurs tables de faits

 et des tables de dimensions communes ou non à ces tables de faits


Modèle en constellation
39

 Avantage
 Fournit un schéma flexible

 Inconvénient
 il est beaucoup plus complexe et donc difficile à mettre en œuvre et à maintenir
Modèle en constellation
40
Exercice
41

 Il s’agit de modéliser un entrepôt de données des ventes d’une entreprise.


Cette entreprise cherche à analyser le chiffre d'affaire, les quantités et les
notes par client, par produit et par date. Le chiffre d’affaire correspond au
montant de vente ; la quantité correspond à la quantité vendue et la note
correspond à une évaluation faite par le client sur la qualité du produit acheté.
Chaque produit est caractérisé par sa référence, son nom et son prix. Chaque
client est caractérisé par un numéro, son nom, son numéro de téléphone et
son adresse.

 Donner le modèle en étoile permettant de faire ces analyses


Exercice
42

 Dans cette entreprise, chaque produit appartient à une seule catégorie selon la
taille et sa fréquence de demande.

 Aussi, l'entreprise veut analyser son activité par jour, par mois, par trimestre,
par semestre et par année, et par ville du client.

 Transformer le modèle précédent vers un modèle en flocon en ajoutant


les nouvelles informations d'analyse
Exercice
43

 Le deuxième objectif de l’entreprise consiste à analyser l'activité des représentants


de l’entreprise par client, par date, par vendeur et par zone géographique.

 L’activité des représentants est évaluée en calculant la quantité commandée, la


quantité précommandée, le kilométrage et le nombre de visites. Chaque vendeur
est caractérisé par une référence, un nom, un prénom et un salaire. Chaque zone
est caractérisée par un pays et une ville.

 Donner le modèle en étoile correspondant

 Donner le modèle en constellation de l’ED de l’entreprise


Approche de conception d’ED
44

 Approche ascendante (dirigée par les sources) (bottom-up)

 Approches descendante (dirigée par les besoins) (top-down)

 Approches mixte (hybride) (Middle-out)


Approche ascendante
45
Approche ascendante
46

 Les magasins de données sont créés ensuite intégrés pour construire un


entrepôt de données complet
 Cette intégration est mise en œuvre à l'aide d'une architecture de bus

 Dans cette architecture, une dimension est partagée entre les faits dans deux ou
plusieurs magasins de données
 Ces dimensions, appelées dimensions conformes, ont connecté les magasins de
données pour former un entrepôt de données, qui est généralement appelé entrepôt de
données virtuel
Approche ascendante
47

 Avantages
 Résultats rapide: des magasins de données cohérents peuvent être crées rapidement
 les magasins de données sont créés en premier, les rapports peuvent être générés
rapidement.

 L'entrepôt de données peut être étendu facilement.


 Il s'agit simplement de créer de nouveaux magasins de données, puis de les intégrer à
d'autres.

 Inconvénient
 Le volume de travail d’intégration pour obtenir un entrepôt de données
Approche descendante
48
Approche descendante
49

 L'entrepôt de données est construit en premier

 Les magasins de données sont ensuite créés à partir de l'entrepôt de données

 L’entrepôt de données stocke les informations « atomiques », c’est-à-dire les


données au niveau de granularité le plus bas, à partir desquelles des
magasins de données dimensionnels peuvent être construits
Approche descendante
50

 Avantages
 Vision claire et conceptuelle des données

 Développer un nouveau magasin de données à partir de l’entrepôt de données est


très facile

 Inconvénients
 Cette approche est inflexible aux besoins changeants des départements

 Nécessite du temps
Approche descendante vs Approche ascendante
51

 Répartit le vaste problème en  Les informations départementales


sous-problèmes plus petits. sont stockées.
 résoudre le problème essentiel de  Règles et contrôle centralisés.
bas niveau et les intègre dans un  Règles et contrôle départementaux.
problème plus élevé.
 Pas une union de plusieurs data
marts.
 Peut programmer les data marts
essentiels en premier.
 Simple stockage central des
informations sur le contenu.
Approche Mixte
52

 Concevoir intégralement l’entrepôt de données de données (toutes les


dimensions, tous les faits, toutes les relations), puis créer des divisions plus
petites et plus gérables.

 Avantages
 Profite des avantages des deux approches

 Développement d‘un modèle de données de manière itérative

 Inconvénients
 Implique parfois des compromis de découpage
 Dupliquer des dimensions identiques pour des besoins pratiques
FACULTÉ DES SCIENCES DE SFAX
Département d’informatique et des Communications

Chapitre 3 : Alimentation d’un Entrepôt de


données

Filière: LSI 2 Imen GABSI CHARFI


imen.gabsi.charfi@gmail.com
A.U : 2023-2024
Introduction
54

 Après avoir conçu le modèle des données, comment alimenter l'entrepôt ?


 Faut-il ramener toutes les données sous le même format ?

 quel format choisir et pourquoi ?

 Quel(s) langage(s) d'interrogation va-t-on utiliser ?

 Quelle architecture à utiliser?


Introduction
55

 Le processus d’alimentation d’un ED (ou entreposage des données)


consiste à :
 rassembler des données de multiples sources souvent hétérogènes

 les homogénéiser selon des règles précises

 Ces règles sont


 mémorisées sous forme de métadonnées (information sur les données) stockées
dans le dictionnaire de données

 Exploitées pour assurer des tâches d’administration et de gestion des donnés


entreposées
Introduction
56

 Chaque composant de l'entrepôt fournit des métadonnées


 Une BD est dédiée aux métadonnées

 Métadonnées : toutes les informations nécessaires pour la construction et


l'administration de l'entrepôt
 informations présentes dans l'entrepôt: données source, données dérivées,
dimensions, hiérarchies, indexes, partitions, requêtes prédéfinies ...

 informations d'administration: règles de nettoyage, transformation, extraction,


politique de rafraîchissement, sécurité, statistiques, traçage des données
Processus d’alimentation d’un ED : ETL
57

Sources de données Cible

Transformation

Extraction Chargement
Base de données

Entrepôt de données

Fichier plat, excel


Processus d’alimentation d’un ED
58

 Permet la consolidation des données à l’aide des trois opérations suivantes:


 Extraction: identifier et extraire les données des sources

 Transformation: appliquer diverses transformations aux données pour les nettoyer,


les intégrer et les agréger;

 Chargement: insérer les données transformées dans l’entrepôt et gérer les


changements aux données existantes.
Processus d’alimentation d’un ED : Extraction
59

 Les problèmes des sources de données


 Sources diverses

 Sources sur différentes plateformes et OS

 Qualité de données douteuse et changeante dans le temps

 Incohérence entre les différentes sources

 Données dans un format difficilement interprétable ou ambigu

Quelles sont les données de productions qu’il faut sélectionner


pour alimenter le DW ?
Processus d’alimentation d’un ED: Extraction
60

 La sélection des données utiles à partir des BD de production n’est pas simple
 Toutes les données sources ne sont forcément utiles
 Doit-on prendre l’adresse complète ou séparer le code postal ?

 Les données sont :


 hétérogènes (différents SGBD et différentes méthodes d’accès)
 complexes (différents modèles logiques et physiques principalement orientés vers les
traitements transactionnels)
 De plusieurs niveaux (niveau détaillé, niveau agrégé)
Processus d’alimentation d’un ED: Extraction
61

 La définition de la granularité dépend du niveau de raffinement de l’information qu’on


veut obtenir
 La forme des données provenant des sources constitue le niveau le plus fin au niveau du
DW

 Les données sont parfois assemblées (agrégées) avant d’être « injectées » dans le DW et
constituent ainsi un autre niveau de détail
 La synthèse de ces données sources a pour but de les enrichir

 Les données sélectionnées seront réorganisées pour devenir des informations


Processus d’alimentation d’un ED : Extraction
62

 Identification des sources


 Énumérer les champs cibles (métriques et attributs de dimension) nécessaires à l‘ED

 Pour chaque champ cible, trouver la source et le champ correspondant de cette source
 Si plusieurs sources sont trouvées  choisir la plus pertinente

 Si le champ cible exige des données de plusieurs sources  former des règles de
consolidation
 Si la donnée source contient plusieurs données cibles  définir des règles de
découpage
 Exemple: un seul champs pour l’adresse et le pays du client
Processus d’alimentation d’un ED : Extraction
63

 Extraction complète
 Capture l'ensemble des données à un certain instant

 Utilisée dans deux situations


 Chargement initial des données

 Rafraîchissement complet des données

 Peut être très coûteuse en temps (plusieurs heures/jours)


Processus d’alimentation d’un ED : Extraction
64

 Extraction incrémentale
 Capture uniquement les données qui ont changées ou ont été ajoutées depuis la
dernière extraction

 Peut être faite de deux façons


 Extraction temps-réel: s'effectue au moment où les transactions surviennent dans les
systèmes sources

 Extraction différée: extrait tous les changements survenus durant une période donnée
Processus d’alimentation d’un ED : Extraction des données
65

 L’extraction doit se faire conformément aux règles précises

 Elle ne doit pas perturber les activités de production

 Attention aux données cycliques: celles qu’on doit calculer à chaque période
pour pouvoir les prendre en considération
Processus d’alimentation d’un ED : Transformation
66

 Suite d’opérations qui a pour but de rendre les données cibles homogènes et
puissent être traitées de façon cohérente

 Types de transformations
 Révision de format
 Exemple: Changer le type ou la longueur des champs individuels
Processus d’alimentation d’un ED : Transformation
67

 Décodage de champs:
 Consolider les données de sources
multiples
 Exemple: ['homme', 'femme'] vs ['M', 'F']
vs [1,2]

 Traduire les valeurs cryptiques


 Ex: 'AC', 'IN', 'SU' pour les statuts actif,
inactif et suspendu
Processus d’alimentation d’un ED : Transformation
68

 Pré-calcul des valeurs dérivées et des agrégations


 Exemples:
 profit calculé à partir de ventes et coûts

 calcul des ventes par produit par semaine et par région

 Découpage de champs complexes


 Exemple: extraire les valeurs prénom, secondPrénom et nomFamille à partir d'une seule
chaîne de caractères nomComplet

 Conversion de dates
 Exemple: '24 FEB 2011' vs '24/02/2011' vs '02/24/2011‘
Processus d’alimentation d’un ED : Chargement
69

 Types de chargement
 Chargement initial

 Chargement incrémental

 Rafraîchissement complet
Processus d’alimentation d’un ED : Chargement
70

 Chargement initial
 Se fait une seule fois lors de l'activation de l'entrepôt de données

 Peut prendre plusieurs heures

 Chargement incrémental
 Se fait une fois le chargement initial est complété

 Tient compte de la nature des changements

 Peut être fait en temps-réel ou en lot


Processus d’alimentation d’un ED : Chargement
71

 Rafraîchissement complet
 Utilisé lorsque le nombre de changements rend le chargement incrémental trop
complexe

 Exemple: lorsque plus de 20% des enregistrements ont changé depuis le dernier
chargement
FACULTÉ DES SCIENCES DE SFAX
Département d’informatique et des Communications

Chapitre 4 : Stratégies d’implantation d’un


entrepôt de données

Filière: LSI 2 Imen GABSI CHARFI


imen.gabsi.charfi@gmail.com
A.U : 2023-2024
Plan
73

 Introduction

 Stratégies d’implantation d’un entrepôt de données


 OLAP

 ROLAP

 MOLAP

 HOLAP
Stratégies d’implantation d’un entrepôt de données
74

 Entrepôt de données : stockage de données volumineuses, homogènes,


exploitables, multidimensionnelles, consolidées et agrégées

 Comment exploiter et analyser ces données ?


 L'analyse multidimensionnelle est la capacité à analyser des données qui ont été
agrégées suivant plusieurs dimensions.
 Objectif: accéder à des données déjà agrégés selon les besoins de l'utilisateur, de façon
simple et rapide

On utilise pour cela des cubes OLAP (On Line Analytical Processing)
OLAP
75

 ensemble des moyens et techniques axés sur l’exploration et l’analyse rapide


des données selon une approche multidimensionnelle à plusieurs niveaux
d’agrégation

 OLAP vise à assister l’usager dans son analyse en lui facilitant l’exploration de
ses données et en lui donnant la possibilité de le faire rapidement
 L’usager n’a pas à maîtriser des langages d’interrogation et des interfaces
complexes

 L’usager interroge directement les données, en interagissant avec celles-ci


OLAP : cube de données
76

 Les données sont


 représentées dans des cubes ou hypercubes à n dimensions

 structurées suivant plusieurs axes d'analyses (dimensions) comme le temps, la


localisation ...

 Un cube est un tableau multidimensionnel ou les cellules contiennent les


valeurs des indicateurs (métriques ou mesures: nombre d’unités vendues,
chiffre d’affaire…)
 Une cellule est l'intersection des différentes dimensions

 Le calcul de chaque cellule est réalisé au chargement


OLAP : cube de données
77

Axes d’analyse

Dim_produit
Dim_commande

Quantity
Prix

Mesures
OLAP : cube de données
78

Exemple de cube des ventes

Donnée : quantité de vente d’une pièce, pendant une année, dans une région
donnée
OLTP vs OLAP
79

 Dresser un tableau qui décrit la différence entre OLTP et OLAP


OLAP
80

 Trois principaux types de système OLAP


 Systèmes OLAP Relationnel (ROLAP)

 Systèmes OLAP Multidimensionnel (MOLAP)

 Systèmes OLAP Hybride (HOLAP)


ROLAP
81

 Systèmes ROLAP : technologie de stockage relationnelle

 Stratégie la plus couramment utilisée pour implanter un ED

 Les données multidimensionnelles sont stockées dans un SGBD Relationnel


 Faits et dimensions sont modélisées à travers les tables

 Elles sont organisées en schéma en étoile ou en flocon


ROLAP
82

 Les SGBD relationnels doivent être adaptés car ils n’ont pas les
caractéristiques adéquates pour répondre aux besoins des ED :
 Extension du modèle relationnel pour supporter les requêtes d’analyses
multidimensionnelles
 Extensions du langage SQL à de nouveaux opérateurs comme cube

 Nouvelles fonctions telles que « rank » et « percentile » pour compléter les fonctions
classiques de SQL (count, sum et avg)

 Usage de vues matérialisées

 Indexation binaire pour améliorer les performances


ROLAP
83

 Le moteur OLAP est un élément complémentaire pour


 Faire des calculs de données dérivés et des agrégations à différents niveaux

 Générer des requêtes SQL adaptées au schéma relationnelle de l’ED (grâce aux
vues matérialisées existantes)
ROLAP
84

 Le moteur OLAP traduit dynamiquement le modèle logique de données


multidimensionnel M en modèle de stockage relationnel R
 Transformation d’une requête multidimensionnelle m sur M en une requête
relationnelle r sur R

 L’efficacité de la requête détermine la performance et le passage à l’échelle global


du système
Techniques ROLAP
85

 L’importance des technique/stratégies d’optimisation spécifiques distinguant


les produits ROLAP :
 Techniques d’indexation spécifiques
 Indexation binaire : (oracle, DB2, microsoft SQL server, sybase IQ)

 Index de jointure : (oracle 9i)

 Sélection et matérialisation de vues

 Fragmentation des tables de l’entrepôt


Techniques d’indexation ROLAP
86

 Les requêtes définies sur un schéma en étoile sont appelées requêtes de


jointure en étoile comportant:
 un nombre de condition de sélection définis sur des tables de dimension

 des conditions de jointures entre la table des faits et les tables de dimension

 Pour optimiser les sélections et les jointures : les index


 Un index peut être défini sur une seule colonne d’une table, ou sur plusieurs colonnes
d’une même table

 Il peut être également défini sur plusieurs tables comme les index de jointure
Techniques d’indexation ROLAP: indexation binaire
87

 indexation binaire (bitmap index): Index de vecteurs de bits

 Un vecteur de bits pour chaque valeur d’attribut

 Principe général
 Dans une table, pour un attribut donné : association de la liste des tuples dont
l’attribut contient la même valeur pour un groupe d’attribut

 Représentation de la liste à l’aide d’un vecteur de bits


 1 si le tuple associé fait partie de la liste

 0 dans le cas contraire


Techniques d’indexation ROLAP: indexation binaire
88
Techniques d’indexation ROLAP: indexation binaire
89

 Avantages
 Longueur du vecteur de bits ( un vecteur de bits pour chaque valeur d’attribut ) =
nombre de tuples de la table

 Opérations sur les bits très rapides (AND, OR, XOR, NOT)
 Optimisation de requêtes de types sélection, comparaison, jointure, agrégation ...
Techniques d’indexation ROLAP: indexation binaire
90

 Inconvénients
 Coût de maintenance important : tous les index binaires d’une table doivent être
actualisés lors de l’insertion d’un nouveau tuple dans la table

 Espace important pour leur stockage


 Utilisation de technique de compression pour réduire ce coût
Techniques d’indexation ROLAP: Indexation de Jointure Binaire
91

 Au contraire des index binaires standards où les attributs indexés appartiennent


à la même table, un index de jointure binaire (IJB) peut être défini
 sur une table des faits en utilisant un seul attribut (IJB mono-attribut)

 ou plusieurs attributs appartenant à une ou plusieurs tables de dimension (IJB


multi-attributs)

 Principe
 pré-calculer les jointures entre une ou plusieurs tables de dimension et la table
des faits dans les ED modélisés par un schéma en étoile
Techniques d’indexation ROLAP: Indexation de Jointure
Binaire
92

 Soit ED composé d’une table de fait ventes et une table de dimension Produit
 L’attribut catégorie ayant 4 valeurs différentes
 La table de fait est composée de 59 instances
 La construction de l’index de jointure binaire défini sur l’attribut catégorie
Techniques d’indexation ROLAP: Indexation de Jointure Binaire
93

 Soit l’entrepôt de données composé d’une table de fait ventes et deux tables
de dimension Client et Temps
Techniques d’indexation ROLAP: Indexation de Jointure Binaire
94

 Pour créer un IJB


CREATE BITMAP INDEX <nom de l’index>
ON <Table des Faits> (<Tables de Dimensions (Liste d’Attributs))
FROM TABLES
WHERE <clause de jointure entre les tables>;

 Exemple: pour créer Le IJB multi-attributs sur Ville et Mois


CREATE BITMAP INDEX IJB_Ville_Mois
ON Ventes(Client.Ville, Temps.Mois)
FROM Ventes V, Client C, Temps T
WHERE V.CID= C.CID AND V.TID=T.TID
ROLAP et sélection et matérialisation de vues
95

 Une vue ordinaire stocke le résultat d’une requête en mémoire centrale comme une
table virtuelle

 Une vue matérialisée (très utilisée dans le cadre des ED)

 est stockée d’une façon permanente sur un support de stockage non volatile

 Elle permet de stocker des données agrégées(résumées) et des résultats de pré-


calcul

 Utilisé par les requêtes pour améliorer les performances (éviter les opérations de
jointures et des agrégations couteuses)
ROLAP et sélection et matérialisation de vues
96

 Les vues matérialisées sont stockées dans la même BD que la table de fait et
les tables de dimensions
 Transparentes pour les utilisateurs et l’application

 On peut créer une vue matérialisée sur une vue ou une autre vue matérialisée

 La syntaxe de création d’une vue matérialisée est la suivante :


permettent de spécifier le mode de maintenance
Create materialized view [options] des vues matérialisées après une mise à jour des
tables de références de base
AS requête;

 L’avantage des vues matérialisées réside dans le fait qu’elles peuvent être utilisées
avec d’autres techniques d’optimisation comme les index ou la fragmentation
ROLAP et Fragmentation des tables de l’entrepôt
97

 La fragmentation est une technique d’optimisation de performance

 Elle consiste à diviser un ensemble de données en plusieurs fragments de


façon à ce que la combinaison de ces fragments, produit l’intégralité des
données source, sans perte ou rajout d’information
 Deux types de fragmentation
 Fragmentation horizontale (par sélection)

 Fragmentation verticale (par projection)


ROLAP et Fragmentation des tables de l’entrepôt
98

 Fragmentation horizontale (par sélection)

 La table est fragmentée par rapport à ses instances en un ensemble de lignes


ROLAP et Fragmentation des tables de l’entrepôt
99

 Fragmentation verticale (par projection)


 La table est fragmentée selon ses attributs en un ensemble de colonnes.
ROLAP et Fragmentation des tables de l’entrepôt
100

 Les requêtes sont évaluées sur chaque fragment


 Réponse complète : besoin d'une requête de reconstruction
 Fragmentation horizontale : union

 Fragmentation verticale : jointure


ROLAP
101

 Avantages :
 Technologie relationnelle mure

 Stockage de très grands volumes de données

 Possibilité de définition de données complexes et multidimensionnelles en utilisant


un modèle relativement simple

 Réduction du nombre de jointures a réaliser dans l'exécution d'une requête


ROLAP
102

 Inconvénients
 Temps de réponses potentiellement élevés

 Pas de possibilité de réaliser des requêtes OLAP avec des calculs complexes

 Structure de l'entrepôt en étoile ou flocon seulement


MOLAP
103

 Un SGBD Multidimensionnelle est utilisé

 Représente les données sous la forme d'un tableau multidimensionnel (cube) où:
 Les coordonnées d'une case correspondent à une combinaison de valeurs des
dimensions du cube

 Le contenu d'une case correspond aux faits (mesures) pour ces valeurs
MOLAP
104

 Avantages
 Stockage des données de manière multidimensionnelle

 Bonnes performances du fait qu’ils effectuent la pré-agrégation et le pré-calcul


des données sur tous les niveaux des hiérarchies du modèle de l’entrepôt

 très rapide car pas de jointure à faire puisque le calcul des agrégats dans des
tables : en colonne ou en ligne
MOLAP
105

 Inconvénients
 Adaptés à de petits ED et lorsque le modèle multidimensionnel ne change pas
beaucoup

 Les techniques incrémentales de rafraîchissement associées sont encore limitées :


Nécessité de reconstruire périodiquement l’ED
ROLAP vs MOLAP
106

ROLAP MOLAP
en mode relationnel des cubes multidimensionnels
dans une seule source Les données sont transférées
Stockage de données
relationnelle d’une source relationnelle vers
des cubes
Extraction des données à la demande Pré-calcul du cube à l’avance
Quantité de données à gérer illimitée limitée
Performances peuvent être limitées meilleurs
Langage d’interrogation SQL MDX
utilisé
HOLAP
107

 Solution hybride entre MOLAP et ROLAP


 Stockage des données détaillées de l'ED dans un SGBD Relationnel – ROLAP

 Stockage des données agrégées dans un SGBD Multidimensionnel – MOLAP

 Architecture générale de ces systèmes


HOLAP
108

 De nombreux systèmes commerciaux utilisent HOLAP

 Possibilité d'avoir des ED de taille importante tout en ayant des temps de


réponse satisfaisants

Vous aimerez peut-être aussi