Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parDanièle Floch Modifié depuis plus de 10 années
1
Principes et mise en œuvre du modèle OLAP -1°ère Partie- La modélisation multidimensionnelle 1
2
2 Le modèle multidimensionnel (1) « On a vendu U unités du produit X dans la région Y à la date Z" Plusieurs données : les ventes, le produit, la région; la date On peut classifier ces données : Une valeur mesurée : la vente <==== Le fait Des données qui permettent de situer la valeur mesurée : le produit, la région, la date <=== les Dimensions Le modèle multidimensionnel est bien adapté pour représenter des données qui peuvent sexprimer de la façon suivante:
3
Le Cube OLAP 3 Avec PALO Laccès à une donnée se fait de la façon suivante : PALO.DATA(,, …., )
4
4 Le modèle multidimensionnel (2) Quand on passe à 3 dimensions, on obtient un cube. Les produits: Ecrous, Vis, Boulons, Joints, … Les dates: Janvier, Février, Mars, … Les régions: Est, Ouest, Centre
5
5 Le modèle multidimensionnel (3) On peut modèliser la base de données Ventes produits Table des faits Tables des dimensions
6
6 Le modèle multidimensionnel Dimension : Une dimension peut être définie comme un thème, ou un axe (attributs), selon lequel les données seront analysées (en fonction de …) Ex. Temps, Découpage administratif, Produits Une dimension contient des membres organisés en hiérarchie, chacun des membres appartenant à un niveau hiérarchique (ou niveau de granularité) particulier Ex. Pour la dimension Temps, les années, les mois et les jours peuvent être des exemples de niveaux hiérarchiques. 1998 est un exemple de membre du niveau Année
7
7 Le modèle multidimensionnel Granularité: Une dimension contient des membres organisés en hiérarchie: Chacun des membres appartient à un niveau hiérarchique (ou niveau de granularité) particulier Granularité dune dimension : nombre de niveaux hiérarchiques Exemple: Le temps année – semestre – trimestre - mois
8
8 Granularité dune dimension (2)
9
9 Le modèle multidimensionnel Mesure : Une mesure est un élément de donnée sur lequel portent les analyses, en fonction des différentes dimensions Ex. coût des travaux, nombre daccidents, ventes, dépenses, Salaires.
10
10 Le modèle multidimensionnel Le Fait : Un fait représente la valeur dune mesure, mesurée ou calculée, selon un membre de chacune des dimensions (ex. ce qui est recueilli par les systèmes transactionnels). Ex. « le coût des travaux en 1995 pour la région 02 est 250 000 $ » est un fait qui a été obtenu en ajoutant toutes les mesures prises tout au long de lannée 1995 sur tous les découpages administratifs appartenant à la région 02.
11
11 Le modèle multidimensionnel Cube : Un ensemble de mesures organisées selon un ensemble de dimensions (aussi hypercube) Ex. Un cube de ventes qui comprend : Les dimensions Temps, Produit, Région La mesure Ventes en euro.
12
12 Les différents modèles de données Il y a plusieurs modèles possibles pour les cubes OLAP: Le modèle en étoile Le modèle en flocon de neige (snow flake) Le modèle en constellation
13
Le modèle en étoile Fait Id mesure1 mesure2 … mesuren Id_dimension1 Id_dimension2 … Id_dimensionn Id mesure1 mesure2 … mesuren Id_dimension1 Id_dimension2 … Id_dimensionn Dimension1 Id Valeur Id Valeur Dimension2 Id Valeur Id Valeur Dimensionn Id Valeur Id Valeur id_dimension1 = id id_dimension2 = id Id_dimension1n= id 13 Les dimensions ne sont pas hiérarchisées.
14
Le modèle en flocon de neige (snow flake) Fait Dimension1 Dimension2 Dimensionn Dimension12 Dimension11 Dimension21 Dimension22 Dimensionn1 Dimensionn2 Les dimensions sont hiérarchisées 14
15
Le modèle en constellation On na un ensemble de faits repérés selon des dimensions dimension Fait 15
16
Principes et mise en œuvre du modèle OLAP -3 ème partie- Opérations sur les cubes OLAP 16
17
Principes des opérations sur les cubes OLAP Les opérateurs appliqués sur un cube sont algébriques : Le résultat est un autre cube Les opérateurs peuvent être combinés Les opérateurs permettent : Des extractions – Slicing : Prendre une tranche du cube – Dicing : Extraire un sous-cube Des changements de granularité dune dimension – Roll-up (agrégation dune dimension -> Résumé) – Drill-down (informations plus détaillées) Des pivots -17-
18
Exemples à partir du cube … -18- 100 80 33 26 28 80 100 52 174 Locations NA (North America) Euro Asia Africa Time 2000 Q1, Q2,Q3,Q4 2001 Q1, Q2,Q3,Q4 2002 Q1, Q2,Q3,Q4 2003 Q1, Q2,Q3,Q4 Product Computer Component Modems Wireless Mouse Other Components CellPhones Radar Detector
19
Lopérateur Slicing (1) Sélection de tranches du cube par des prédicats selon une dimension -19- Slice Product =« wireless Mouse » 28 52
20
Lopérateur Slicing (2) Sélection de tranches du cube par des prédicats selon une dimension -20- Slice pour la Location = « Asia » 80
21
Lopérateur Dicing (1) Extraction dun sous-cube -21- Dice for Product=« Cellphones » And Location=« NA » And Year=« 2000 »
22
Lopérateur Roll-up (dézoomer) 100 80 33 26 28 80 100 52 174 -22- 28 => Wireless Mouse 59 => Radar Detector (33) + CellPhones (26) Roll-up Products Components
23
Lopérateur Drill-down (zoomer) 100 80 33 26 28 80 100 52 174 -23- 254 80 33 28 80 52 100 Computer components Other components 59100 Drill-down sur Product Des components vers les unités
24
Lopérateur pivot Changement daxes -24- Pivot
25
Synthèse des opérateurs -25-
26
Principes et mise en œuvre du modèle OLAP - 4 ème partie - Implémentations du modèle OLAP -26-
27
Trois possibilités 1. Relational OLAP (ROLAP) Données sont stockées dans un SGBD relationnel Un moteur OLAP permet de simuler le comportement d'un SGBD multi-dimensionnel 2. Multidimensional OLAP (MOLAP) Structure de stockage en cube Accès direct aux données dans le cube 3. Hybrid OLAP (HOLAP) Données stockées dans SGBD relationnel (données de base) ET une structure de stockage en cube (données agrégées) -27-
28
ROLAP (1) Idée: Données stockées en relationnel. La conception du schéma est particulière: schéma en étoile, schéma en flocon Des vues (matérialisées) sont utilisées pour la représentation multidimensionnelle Les requêtes OLAP (slice, rollup…) sont traduites en SQL. Avantages/inconvénients Souplesse, évolution facile, permet de stocker de gros volumes. Mais peu efficace pour les calculs complexes -28-
29
ROLAP (2) Architecture fonctionnelle -29- Exemples: Hyperion (Oracle) Mondrian (OLAP Open source écrit en java)
30
Exemple dimplémentation au dessus dun SGBD relationnel CREATE MATERIALIZED VIEW (column_list) AS SELECT … La vue est pré-calculée par le SGBD Pré-calcul des agrégats et jointures Elle est maintenue lors des mises à jour Les requêtes sont reformulées contre la vue d'une manière transparente pour l'usager 30
31
Exemple dimplémentation au dessus dun SGBD relationnel Table: Emp(#emp, job, salary) Définition de la vue: CREATE MATERIALIZED VIEW job_avg_sal AS select job, avg(sal) avg_sal FROM emp GROUP BY job; Interrogation de la vue: SELECT job FROM job_avg_sal WHERE avg_sal > 10000 31
32
ROLAP et Modèle en étoile (1) Principes Une (ou plusieurs) table(s) de faits comprenant une ou plusieurs mesures. Plusieurs tables de dimension dénormalisées : descripteurs des dimensions. Les tables de dimension n'ont pas de lien entre elles Avantages : Facilité de navigation Performances : nombre de jointures limité ; gestion des données creuses. Gestion des agrégats Inconvénients : Redondances dans les dimensions Alimentation complexe. -32-
33
ROLAP et Modèle en étoile (2) -33-
34
ROLAP et Modèle en étoile (3) -34-
35
ROLAP et Modèle en étoile (4) -35- Exercice: A partir du schéma, Créer la vue matérialisée qui représente le fait « units _solds »
36
CREATE MATERIALIZED VIEW faits_units_sold AS SELECT unit_solds, description || ' ' || color || ' ' || size as Product, year, city, store_name FROM sales, product, period, store WHERE product.product_code = sales.product_code AND period.period_code = sales.period_code AND store.store_code = sales.store_code 36 La vue matérialisée qui représente la fait « units _solds »
37
ROLAP et Modèle en flocons (1) Le schéma en flocons est dérivé du schéma en étoile Dans le modèle en flocons, les tables de dimensions sont normalisées MAIS la table des faits reste inchangée. Avec ce schéma, chacune des dimensions est décomposée selon sa (ou ses) hiérarchie(s). -37-
38
Dun modèle dimensionnel en étoile … -38-
39
… A un modèle dimensionnel en flocons -39-
40
ROLAP et Modèle en flocons (2) Principes: Modèle en étoile + normalisation des dimensions Utile lorsque les tables représentant les dimensions sont trop volumineuses Avantages : réduction du volume Inconvénients : navigation plus difficile à cause des nombreuses jointures -40-
41
MOLAP (1) Idée: Modélisation directe du cube Ces cubes sont implémentés comme des matrices à plusieurs dimensions – CUBE [1:m, 1:n, 1:p…] (mesure) Le cube est indexé sur ses dimensions Avantages/inconvénients: rapide formats propriétaires ne supporte pas de très gros volumes de données -41-
42
MOLAP (2) Architecture fonctionnelle Exemples PALO Server (+ Excel Add-in) -42-
43
HOLAP (1) Hybrid OLAP tables de faits et tables de dimensions stockées dans SGBD relationnel (données de base) données agrégées stockées dans des cubes Les requêtes vont chercher les données dans les tables et les cubes Solution hybride entre MOLAP et ROLAP offrant un compromis au niveau coût et performance -43-
44
HOLAP (2) Architecture fonctionnelle Non vu dans le cadre de ce cours -44-
45
Principes et mise en œuvre du modèle OLAP -4 ème partie- Le modèle OLAP: Généralités -45-
46
On-Line Analytic Processing (1) OLAP est un terme pour décrire l'approche dimensionnelle de l'aide à la décision Tout comme le modèle relationnel, OLAP a été proposé par Edgar Codd (1923-2003) Douze règles qui représentent l'étalon de mesure servant à comparer les systèmes OLAP 6 critères ont été ajoutés en 1995 -46-
47
On-Line Analytic Processing (2) F1-Multidimensional Conceptual View Permet d'avoir une vision multidimensionnelle des données. F2-Intuitive Data Manipulation La manipulation de données se fait directement à travers les cellules d'une feuille de calcul, sans recourir aux menus ou aux actions multiples. F3-Accessibility : OLAP as a Mediator OLAP est décrit comme un «middleware» qui se place entre les sources de données hétérogènes et un front-end F4-Batch extraction vs interpretive La base OLAP dispose de deux niveaux de données, atomiques et agrégées (HOLAP) atteignables de façon transparente -47-
48
On-Line Analytic Processing (3) F5-OLAP AnalysisModels (Nouvelle) support des quatre modèles danalyse : Categorical(reporting), Exegetical (interactif avec front-end), Contemplative (What-if), Formulaic (Datamining) F6-Client-Server Architecture Il est essentiel que le produit soit Client-Serveur mais aussi que les composants serveur d'un produit OLAP intègrent facilement ses différents clients. F7-Transparency L'utilisateur ne doit pas se rendre compte de la provenance des données si celles-ci proviennent de sources hétérogènes. F8-Multi-User support Les outils OLAP doivent fournir des accès concurrents, l'intégrité et la sécurité. -48-
49
On-Line Analytic Processing (4) F9-Treatment of Non-NormalizedData Il doit être impossible de modifier manuellement les données pré- calculées F10-Storing OLAP Results: Keeping Them Separate from Source Data Les données de transactions doivent être maintenues séparément des données dexploitations OLAP F11-Extraction of Missing Values Les valeurs absentes doivent être traitées comme des NULL et non pas comme des 0 F12-Treatment of Missing Values Les valeurs absentes doivent être ignorées par lanalyseur OLAP -49-
50
On-Line Analytic Processing (5) F13-Flexible Reporting Lors de la création de rapports, les dimensions peuvent être présentées de n'importe quelle manière. F14-Uniform Reporting Performance Les performances ne doivent pas être diminuées lors d'augmentation du nombre de dimension ou de la taille de la base de données. F15-Automatic Adjustement of Physical Level Le système OLAP ajuste automatiquement son schéma physique pour s'adapter au type du modèle et au volume des données. -50-
51
On-Line Analytic Processing (5) F16-Generic Dimensionality Chaque dimension doit être équivalente par rapport à sa structure et ses capacités opérationnelles. F17-Unlimited Dimensions & Aggregation Levels Dimensions et niveaux d'agrégations illimités. Techniquement, aucun produit ne se soumet à cette caractéristique parce que il n'y a pas d'entité illimitée sur un ordinateur limité ! F18-Unrestricted Cross-dimensional Operations Les calculs doivent être possibles à travers toutes les dimensions. -51-
52
On-Line Analytic Processing (6) FAST : Le système doit être conçu pour répondre aux requêtes de l'utilisateur en moins de cinq secondes – Les analyses très simples moins d'une seconde – Les plus compliquées, environ 20 secondes. – Les temps de réponses doivent rester bons même avec beaucoup de données Si le système est trop lent, les utilisateurs estiment que lapplication est «plantée» Nécessite darchitectures de stockage dédiées et dalgorithmes de prétraitement. -52-
53
On-Line Analytic Processing (7) ANALYSIS : Le système peut prendre en compte n'importe quel domaine ou analyse statistique, et fournir un résultat exploitable par l'utilisateur final, sans avoir à utiliser un langage de programmation L'utilisateur doit au moins pouvoir définir de nouveaux calculs ad- hoc et obtenir des états sous la forme souhaitée, sans programmation. L'analyse peut concerner des séries temporelles, allocations de coût, conversions de devises, recherche d'objectifs, gestion d'exceptions, etc. -53-
54
On-Line Analytic Processing (8) SHARED : Toutes les conditions de sécurité et de confidentialité doivent être remplies, éventuellement jusqu'au niveau de la cellule Le système doit en particulier gérer les accès multiples en écriture en toute sécurité. -54-
55
On-Line Analytic Processing (9) MULTIDIMENSIONNAL : C'est la condition essentielle des applications OLAP. Les systèmes OLAP doivent fournir une vue "conceptuelle" multidimensionnelle des données, incluant le support des hiérarchies simples ou multiples. -55-
56
On-Line Analytic Processing (10) INFORMATION : Linformation comprend l'ensemble des données et des informations dérivées, quel que soit leur volume et leur stockage. -56-
57
OLTP / OLAP : Bilan (1) OLTP Les utilisateurs SONT les «rouages» de lentreprise Beaucoup dutilisateurs concurrents Ne traitent quun seul compte à la fois Exécutent un grand nombre de fois la même tâche Lisent et modifient les données Exigent des performances de temps réel OLAP Les utilisateurs OBSERVENT les «rouages» de lentreprise Peu dutilisateurs Traitent beaucoup de comptes simultanément Lisent uniquement les données qui sont souvent récapitulées -57- Les utilisateurs :
58
OLTP / OLAP : Bilan (2) OLTP Nécessaire au fonctionnement de lentreprise Normalisé En règle générale non historisé (mises à jour) Maintenant (now) OLAP Utilisée pour analyser le fonctionnement de lentreprise Souvent agrégées/récapitulées Le temps est fondamental Passé -58- Le contenu des données
59
OLTP / OLAP : Bilan (3) OLTP Beaucoup de tables Petites requêtes sur une seul table Accès de type navigationnel Granularité des verrous minimum Peuvent être regroupées en îlots hétérogènes OLAP Peu de tables mais de grande taille Homogènes Données dénormalisées Requêtes larges sur une grosse quantité de données, ramenant un jeu limité Accès de type jointure Temps de réponses de lordre de quelques secondes à quelques dizaines de secondes -59- Structures de données
60
OLTP / OLAP : Bilan (4) OLTP Forte disponibilité Sauvegardes fréquentes Beaucoup de petites transactions Peu de temps de maintenance off-line OLAP Disponibilité faible Sauvegardes peu fréquentes mais très volumineuses En règle général, une transaction par jour (chargement de données) Non normalisée et redondante Beaucoup de maintenance, mais off-line -60- Administration
61
OLTP / OLAP : Bilan (5)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.