Principes et mise en œuvre du modèle OLAP -1°ère Partie- La modélisation multidimensionnelle 1.

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Licence pro MPCQ : Cours
Distance inter-locuteur
Les numéros 70 –
Les numéros
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Vue d’ensemble du Data warehousing et de la technologie OLAP
Analyse fonctionnelle
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
NFE 107 : Urbanisation et architecture des systèmes d'information
La législation formation, les aides des pouvoirs publics
1 7 Langues niveaux débutant à avancé. 2 Allemand.
VI. Analyse des solutions techniques
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Développement d’applications web
Contrôles d'accès aux données
Amélioration de la sécurité des données à l'aide de SQL Server 2005
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Plan du Cours Définition de la BI Objectif de la BI Fonctionnement d’une plateforme BI Technologies de la BI Composantes de la BI Les caractéristiques.
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Chap 4 Les bases de données et le modèle relationnel
1 Bases de Données Distribuées Chapitre 22, Sections 22.6–22.14.
Le Concours de Conaissance Francais I novembre 2012.
Titre : Implémentation des éléments finis sous Matlab
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Gestion des bases de données
DataLab® Toute la connaissance client en quelques minutes
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
VI. Analyse des solutions techniques
Staf 2x Cours de bases de données
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Universté de la Manouba
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Les concepts et les méthodes des bases de données
1 INETOP
Évaluer et analyser les coûts de la régie communautaire de leau, comment ? Restitution du 16 nov Cartographie des activités et inducteurs de coût.
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
1. Représentation des informations
Mise en place d'une forêt (Aspects pratiques).
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Introduction.
Discussion autour du référentiel
Présentation Session RPSI
Créer des packages.
Principes et mise en œuvre du modèle OLAP
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Structure de stockage et relations
Ceci est une session expert Cette session est déconseillée aux novices des moteurs Analysis Services 2000 ou 2005 La session « Découverte de Analysis.
LE DATA WAREHOUSE.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
La gestion des bases de données
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES
Systèmes d'information décisionnels
Introduction Module 1.
DATA Warehouse Elabore par: Ajlani Wael Karous Nabil Salhi Mahmoud.
Cours 11 Entrepôts de données
Projet de session Par Eve Grenier Dans le cadre du cours SCG Réalisation d’applications en SIG Jeudi le 20 avril 2006.
PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007.
SQLSaturday Paris 2015 SSAS et le moteur relationnel Faire son choix.
Transcription de la présentation:

Principes et mise en œuvre du modèle OLAP -1°ère Partie- La modélisation multidimensionnelle 1

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:

Le Cube OLAP 3 Avec PALO Laccès à une donnée se fait de la façon suivante : PALO.DATA(,, …., )

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 Le modèle multidimensionnel (3) On peut modèliser la base de données Ventes produits Table des faits Tables des dimensions

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 est un exemple de membre du niveau Année

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 Granularité dune dimension (2)

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 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 $ » 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 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 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

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.

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

Le modèle en constellation On na un ensemble de faits repérés selon des dimensions dimension Fait 15

Principes et mise en œuvre du modèle OLAP -3 ème partie- Opérations sur les cubes OLAP 16

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-

Exemples à partir du cube … Locations NA (North America) Euro Asia Africa Time 2000 Q1, Q2,Q3,Q Q1, Q2,Q3,Q Q1, Q2,Q3,Q Q1, Q2,Q3,Q4 Product Computer Component Modems Wireless Mouse Other Components CellPhones Radar Detector

Lopérateur Slicing (1) Sélection de tranches du cube par des prédicats selon une dimension -19- Slice Product =« wireless Mouse » 28 52

Lopérateur Slicing (2) Sélection de tranches du cube par des prédicats selon une dimension -20- Slice pour la Location = « Asia » 80

Lopérateur Dicing (1) Extraction dun sous-cube -21- Dice for Product=« Cellphones » And Location=« NA » And Year=« 2000 »

Lopérateur Roll-up (dézoomer) => Wireless Mouse 59 => Radar Detector (33) + CellPhones (26) Roll-up Products Components

Lopérateur Drill-down (zoomer) Computer components Other components Drill-down sur Product Des components vers les unités

Lopérateur pivot Changement daxes -24- Pivot

Synthèse des opérateurs -25-

Principes et mise en œuvre du modèle OLAP - 4 ème partie - Implémentations du modèle OLAP -26-

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-

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-

ROLAP (2) Architecture fonctionnelle -29- Exemples: Hyperion (Oracle) Mondrian (OLAP Open source écrit en java)

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

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 >

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-

ROLAP et Modèle en étoile (2) -33-

ROLAP et Modèle en étoile (3) -34-

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 »

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 »

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-

Dun modèle dimensionnel en étoile … -38-

… A un modèle dimensionnel en flocons -39-

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-

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-

MOLAP (2) Architecture fonctionnelle Exemples PALO Server (+ Excel Add-in) -42-

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-

HOLAP (2) Architecture fonctionnelle Non vu dans le cadre de ce cours -44-

Principes et mise en œuvre du modèle OLAP -4 ème partie- Le modèle OLAP: Généralités -45-

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 ( ) Douze règles qui représentent l'étalon de mesure servant à comparer les systèmes OLAP 6 critères ont été ajoutés en

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-

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-

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-

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-

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-

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-

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-

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-

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-

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-

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 :

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

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

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

OLTP / OLAP : Bilan (5)