Les entrepôts de données et l analyse de données



Documents pareils
Entrepôts de données. NEGRE Elsa Université Paris-Dauphine

Introduc;on à l intelligence d affaires et aux entrepôts de données

Les Entrepôts de Données

Urbanisation des SI-NFE107

Les entrepôts de données

Bases de données multidimensionnelles et mise en œuvre dans Oracle

Business Intelligence : Informatique Décisionnelle

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK

et les Systèmes Multidimensionnels

Bases de Données Avancées

Plan. Introduction Eléments de la théorie des systèmes d'informations Les entrepôts de données (Datawarehouse) Les datamart Architecture Modélisation

BI = Business Intelligence Master Data-ScienceCours 2 - ETL

Business & High Technology

Entrepôt de données 1. Introduction

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

MTI820 Entrepôts de données et intelligence d affaires. Les applica+ons de BI

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Plan. Ce qu est le datawarehouse? Un modèle multidimensionnel. Architecture d un datawarehouse. Implémentation d un datawarehouse

Un datawarehouse est un entrepôt de données (une base de données) qui se caractérise par des données :

LES ENTREPOTS DE DONNEES

BI = Business Intelligence Master Data-ScienceCours 3 - Data

Les Entrepôts de Données. (Data Warehouses)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise

ETL Extract - Transform - Load

Datawarehouse: Cubes OLAP. Marlyse Dieungang Khaoula Ghilani

Architecture des entrepôts de données

Introduction à la B.I. Avec SQL Server 2008

Fouille de Données : OLAP & Data Warehousing

et les Systèmes Multidimensionnels

La place de la Géomatique Décisionnelle dans le processus de décision

L information et la technologie de l informationl

Bases de Données OLAP

Le Data Warehouse. Fait Vente. temps produit promotion. magasin. revenu ... Produit réf. libellé volume catégorie poids. Temps jour semaine date ...

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

SWISS ORACLE US ER GRO UP. Newsletter 5/2014 Sonderausgabe. OBIF DB licensing with VMware Delphix 12c: SQL Plan / Security Features

Chapitre 9 : Informatique décisionnelle

Evry - M2 MIAGE Entrepôts de Données

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Eduardo Almeida. Master Alma Université de Nantes

Evry - M2 MIAGE Entrepôt de données

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

BI = Business Intelligence Master Data-Science

Introduction au domaine du décisionnel et aux data warehouses

Catalogue Formation «Vanilla»

Option OLAP d'oracle Database 10g

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Mémoire de fin d études. Thème Conception et réalisation d un Data Warehouse pour la mise en place d un système décisionnel

Présentation du module Base de données spatio-temporelles

Entrepôts de Données

Ministère de l Enseignement Supérieur et de la Recherche Scientifique. Ecole nationale Supérieure d Informatique (ESI) (Oued Semar, Alger) Mémoire

Introduction à l Informatique Décisionnelle - Business Intelligence (7)

FreeAnalysis. Schema Designer. Cubes

Département Génie Informatique

Big Data On Line Analytics

Techniques d optimisation des requêtes dans les data warehouses

QU EST-CE QUE LE DECISIONNEL?

Entrepôt de Données. Jean-François Desnos. ED JFD 1

Guide de référence pour l achat de Business Analytics

Le Géodécisionnel. P7 : Projet Bibliographique Dans le cadre du Mastère ASIG. Les SIG au service du géodécisionnel.

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

2 Serveurs OLAP et introduction au Data Mining

Analyse comparative entre différents outils de BI (Business Intelligence) :

Sécurité des entrepôts de données dans le Cloud Un SaaS pour le cryptage des données issues d un ETL

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

Intégration de données hétérogènes et réparties. Anne Doucet

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

X2BIRT : Mettez de l interactivité dans vos archives

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise.

Business Intelligence, Etat de l art et perspectives. ICAM JP Gouigoux 10/2012

Datawarehouse and OLAP

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Méthodologie de conceptualisation BI

Guide de référence pour l achat de Business Analytics

Collabora'on IRISA/INRA sur le transfert de nitrates et l améliora'on de la qualité des eaux des bassins versants:

Didier MOUNIEN Samantha MOINEAUX

UNIVERSITÉ MOHAMMED V AGDAL. FACULTÉ DES SCIENCES Rabat THÈSE DE DOCTORAT. Présentée par ELhoussaine ZIYATI Discipline : Sciences de l ingénieur

Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement

Technologie data distribution Cas d usage.

Rejoignez la Communauté

Systèmes d information décisionnels (SIAD) Extraction de connaissances (KDD) Business Intelligence (BI)

République Algérienne Démocratique et Populaire

SQL Server SQL Server Implémentation d une solution. Implémentation d une solution de Business Intelligence.

JEDOX FACTSHEETS SELF-SERVICE BUSINESS INTELLIGENCE, ANALYTICS & PERFORMANCE MANAGEMENT

L offre décisionnel IBM. Patrick COOLS Spécialiste Business Intelligence

Master Exploration Informatique des données DataWareHouse

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Théories de la Business Intelligence

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

MyReport, une gamme complète. La Business Intelligence en toute simplicité : Concevez, partagez, actualisez! pour piloter votre activité au quotidien.

La Stratégie d Intégration Advantage

Chapitre 10. Architectures des systèmes de gestion de bases de données

Business Intelligence

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

Business Intelligence avec Excel, Power BI et Office 365

SQL SERVER 2008, BUSINESS INTELLIGENCE

Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel

Transcription:

LOG660 - Bases de données de haute performance Les entrepôts de données et l analyse de données

Quelques définitions Entreposage de données (data warehousing): «La copie périodique et coordonnée de données provenant de diverses sources, internes et externes à l entreprise, dans un environnement optimisé pour l analyse» Les entrepôts de données (data warehouse): Orientés sujet: Les données sont organisées par sujet (ex: clients, produits, ventes, etc.). Intégrés: Les données, qui proviennent de diverses sources hétérogènes, sont consolidées et intégrées dans l entrepôt. Historiques: Les données ont très souvent une composante temporelle (ex: date et heure d une transaction). Non-volatiles: Une fois insérées dans l entrepôt, les données ne sont jamais modifiées ou effacées; elle sont conservées pour des analyses futures. R. Godin, C. Desrosiers - Hiver 2011 2

OLTP vs OLAP [1/2] Critère But Types de données Online Transaction Processing (OLTP) Contrôler et exécuter les tâches quotidiennes et fondamentales de l entreprise Données opérationnelles (transactions) Online Analytical Processing (OLAP) Assister dans la planification, la résolution de problème et la prise de décision Données historiques consolidées Sources de données BD transactionnelles Entrepôts de données ou magasins de données Ce que montre les données Portrait instantané des processus d affaires de l entreprise Insertions et mises-à-jour Requêtes Courtes requêtes d insertion et de mise-à-jour lancées par les usagers finaux Simples requêtes retournant quelques enregistrements (lignes) de la BD Vue multidimensionnelle de plusieurs activités d affaires de l entreprise Longs traitements en lot servant à rafraichir les données Requêtes complexes impliquant souvent plusieurs tables et faisant l agrégation de valeurs Temps de réponses Instantané Quelques secondes à 1 minute max. R. Godin, C. Desrosiers - Hiver 2011 3

OLTP vs OLAP [2/2] Critère Espace requis Online Transaction Processing (OLTP) Relativement petit si les données historiques sont archivées Online Analytical Processing (OLAP) Grand due aux données historiques et aux données d agrégation Modélisation de la BD Sauvegarde et récupération Un grand nombre de tables hautement normalisées Fait de façon régulière, critique pour l entreprise Moins de tables, tables typiquement dénormalisées, schémas en étoile ou flocon Fait de façon irrégulière, peut récupérer des données OLTP Reporting Routinier et très ciblé Ad hoc, multidimensionnel, à plus large portée Ressources requises Simple DBMS relationnel DBMS spécialisé multi-processeurs et à grande capacité Nombre d utilisateurs simultanés Grand Petit R. Godin, C. Desrosiers - Hiver 2011 4

Bénéfices des entrepôts de données Directs: Permettent de mener des analyses poussées sur différents sujets d affaires; Fournissent une vue consolidée des données de l entreprise (une seule vérité); Procurent de l information de qualité, plus rapidement; Libèrent les ressources (ex: serveurs) dédiées au traitement des transactions des tâches d analyse; Simplifient l accès aux données. Indirects: Améliorent le savoir de l entreprise; Procurent un avantage concurrentiel à l entreprise; Améliorent la satisfaction des clients; etc. R. Godin, C. Desrosiers - Hiver 2011 5

Architecture d un entrepôt de données Sources de données ERP / CRM Processus ETL Accès Applications (visualisations) Legacy POS OLT / Web Sélection Extraction Transformation Intégration Métadonnées Entrepôt de données Datamart Datacube API / Intergiciels Rapports de routine Forage de données / textes OLAP, tableaux de bord Externes Chargement Autres R. Godin, C. Desrosiers - Hiver 2011 6

Sources de données Enterprise resource planning (ERP): Gèrent les processus opérationnels d'une entreprise (ex: ressources humaines, finances, distribution, approvisionnement, etc.). Customer relationship management (CRM): Gèrent les interactions d une entreprise avec ses clients (ex: marketing, ventes, après-vente, assistance technique, etc.). Systèmes legacy: Matériels et logiciels obsolètes mais difficilement remplaçables. Point of sale (POS): Matériels et logiciels utilisés dans les caisses de sorties d un magasin. Externes: Ex: données concurrentielles achetées, données démographiques. R. Godin, C. Desrosiers - Hiver 2011 7

Les magasins de données (datamart) Caractéristiques: Contiennent une portion du contenu de l entrepôt de données; Se concentre sur 1 sujet d analyse (ex: les ventes OU les livraisons, mais pas les deux) = 1 seul schéma en étoile; Servent à faire des analyses simples et spécialisées (ex: fluctuations des ventes par catégorie de produits); Nombre de sources limitées, provenant la plupart du temps d un même département; ETL simplifié par rapport à un entrepôt de données; Même processus de conception que les entrepôts de données, mais demande moins de ressources. R. Godin, C. Desrosiers - Hiver 2011 8

Architecture Datamart bus Systèmes source ETL Datamarts liés par dimensions conformes Reporting Utilisateurs Source 1 Datamart 1 Source 2 Staging Area Datamart 2 Infrastructure de reporting Source 3 Datamart 3 Entrepôt de données conceptuel R. Godin, C. Desrosiers - Hiver 2011 9

Architecture Datamart bus Caractéristiques: Approche bottom-up, où on construit l entrepôt un datamart à la fois; Datamarts développés par sujet/processus d affaires; Modélisation dimensionnelle (schéma en étoile), au lieu du diagramme entité-relation; Entrepôt de données conceptuel, formé de magasins de données inter-reliés à l aide d une couche d intergiciels (middleware). Intégration des données assurée par les dimensions partagées entre les datamarts (i.e., dimensions conformes); Approche incrémentale qui donne des résultats rapidement (développement agile); R. Godin, C. Desrosiers - Hiver 2011 10

Architecture Hub-and-spoke Systèmes source ETL Datamarts dépendants Entrepôt Source 1 de données d entreprise Datamart 1 Reporting Utilisateurs Source 2 Staging Area EDW Datamart 2 Infrastructure de reporting Source 3 Datamart 3 Concentrateur (hub) Rayons (spokes) R. Godin, C. Desrosiers - Hiver 2011 11

Architecture Hub-and-spoke Caractéristiques: Approche top-down, proposée par B. Inmon et al. Entrepôt (hub) contient les données atomiques (niveau de détail le plus fin) et normalisées (3FN); Les datamarts (spokes) contiennent principalement des données agrégées (pas atomique) et suivant le modèle dimensionnel; La plupart des requêtes analytiques sont faites sur les datamarts; Intégration et consolidation complète des données de l entreprise; Développement plus long, dû à la complexité du processus ETL et de la modélisation; Meilleure qualité des données que l architecture par bus de datamarts. R. Godin, C. Desrosiers - Hiver 2011 12

Intégration des données (ETL) Processus Extract, Tranform, Load (ETL): 1. Extraire les données des sources hétérogènes (extract) Identifier les sources utiles; Comprendre les schémas. 2. Consolider les données (transform) Données redondantes / manquantes; Différents noms / types; Incohérences. 3. Charger les données intégrées dans l entrepôt (load) Mode différé (batch) ou quasi temps-réel. Partie la plus longue du développement (jusqu à 70% du temps total). R. Godin, C. Desrosiers - Hiver 2011 13

Intégration des données (ETL) Les problèmes des sources de données: 1. Sources diverses et disparates; 2. Sources sur différentes plateformes et OS; 3. Applications legacy utilisant des BD et autres technologies obsolètes; 4. Historique de changement non-préservé dans les sources; 5. Qualité de données douteuse et changeante dans le temps; 6. Structure des systèmes sources changeante dans le temps; 7. Incohérence entre les différentes sources; 8. Données dans un format difficilement interprétable ou ambigu. R. Godin, C. Desrosiers - Hiver 2011 14

Extraction des données Extraction différée: Extrait tous les changements survenus durant une période donnée (ex: heure, jour, semaine, mois). Systèmes opérationnels sources BD sources Extraction d'aujourd'hui Extraction d'hier Fichiers d'extraction utilisant les timestamps Option 1: Capture basée sur les timestamps Programme d'extraction Zone de préparation de données (staging area) Programme de comparaison Option 2: Capture par comparaison de fichiers Fichiers d'extraction utilisant la comparaison R. Godin, C. Desrosiers - Hiver 2011 15

Extraction des données Extraction temps-réel: S'effectue au moment où les transactions surviennent dans les systèmes sources. Systèmes opérationnels sources BD sources triggers Journal de transactions Option 1: Capture à l'aide des journaux de transactions Fichiers générés par les sources Option 3: Capture dans les applications sources Fichiers générés par les triggers Option 2: Capture à l'aide de triggers Zone de préparation de données (staging area) R. Godin, C. Desrosiers - Hiver 2011 16

Transformation des données Types de transformation: Révision de format: Ex: Changer le type ou la longueur de champs individuels. Décodage de champs: Ex: ['homme', 'femme'] vs ['M', 'F'] vs [1,2]. Pré-calcul des valeurs dérivées: Ex: profit calculé à partir de ventes et coûts. Découpage de champs complexes: Ex: extraire les valeurs prénom, secondprénom et nomfamille à partir d'une seule chaîne de caractères nomcomplet. Pré-calcul des agrégations: Ex: ventes par produit par semaine par région. Déduplication Ex: Plusieurs enregistrements pour un même client R. Godin, C. Desrosiers - Hiver 2011 17

La modélisation dimensionnelle Définition: Technique de conception logique permettant de structurer les données de manière à les rendre intuitives aux utilisateur d'affaires et offrir une bonne performance aux requêtes. Caractéristiques: Divise les données en faits et dimensions; Les faits (mesures) sont généralement des valeurs numériques provenant des processus d'affaires; Les dimensions fournissent le contexte (qui, quoi, quand, où, pourquoi et comment) des faits; Schéma en étoile: une table de faits entourée de plusieurs tables de dimension (normalement entre 8 et 15). R. Godin, C. Desrosiers - Hiver 2011 18

Exemple de schéma en étoile (Commande de produits) Tables de dimension DateCommande Produit ClientExpediéÀ ReprésentantVente TypeEnvoi Tables de faits Commande iddatecommande (FK) iddateenvoidemandée (FK) idproduit (FK) idclientvenduà (FK) idclientexpediéà (FK) idclientchargéà (FK) idreprésentantvente (FK) idtypecommande (FK) idtypeenvoi (FK) nocommande (DD) Tables de dimension DateEnvoiDemandée ClientVenduÀ ClientChargéÀ TypeCommande nolignecommande (DD) quanctécommandée totalbrut mesures totalnet R. Godin, C. Desrosiers - Hiver 2011 19

Exemple de schéma en étoile (Commande de produits) Tables de dimension: DateCommande iddate (PK) date jourdesemaine jourdumois jourdeannée jourdansmoisfiscal jourdansannéefiscale congéférié jourdetravail semainedumois... Produit idproduit (PK) descripcon SKU marque souscatégorie catégorie département poids taille couleur... ClientExpédiéÀ idclient (PK) nomfamille prénom sexe datenaissance dateabonnement forfaitabonnement adresserue adresseville adresseprovince... R. Godin, C. Desrosiers - Hiver 2011 20

Modèle dimensionnel vs ER Modèle entité-relation (ER): Représente les données sous la forme d'entités (tables) et de relations (références ou tables); Normalisation du schéma (ex: 3FN). Modèle dimensionnel: Représente les données comme des faits et des dimensions; Les tables ne sont pas normalisées. Avantages du modèle dimensionnel: Compréhensibilité: Données regroupées selon des catégories d'affaires qui ont un sens pour les utilisateurs d'affaires; Performance: La dénormalisation évite les jointures coûteuses; Autres optimisations (ex: index de jointure en étoile). R. Godin, C. Desrosiers - Hiver 2011 21

Tables de faits Caractéristiques: Correspondent normalement à un seul événement d'affaires Ex: achat d un produit par un client, envoi du produit au client, commande de matériaux auprès d un fournisseur, etc. Contiennent deux types de colonnes: Des métriques associées à l événement d affaire: Ex: total des ventes, nombre d items commandés, etc. Des clés étrangères vers les tables de dimension: Ex: ID du client qui fait la commande, ID du produit commandé, etc. Contiennent typiquement un très grand nombre de lignes: Jusqu'à plusieurs milliards de lignes; Souvent plus de 90% des données du modèle. R. Godin, C. Desrosiers - Hiver 2011 22

Tables de dimension Caractéristiques: Ensemble hautement corrélé d'attributs (jusqu'à plusieurs dizaines) regroupés selon les objets clés d'une entreprise: Ex: produits, clients, employés, installations, etc. Propriétés des attributs: Descriptif (ex: chaînes de caractères); De qualité (ex: aucune valeur manquante, obsolète, erronée, etc.); Valeurs discrètes (ex: jour, âge d'un client); Rôles des attributs: Filtrer/agréger les données (ex: ville, catégorie produit, etc.); Étiqueter les résultats (ex: champs descripteurs). R. Godin, C. Desrosiers - Hiver 2011 23

Tables de dimension Hiérarchies: Ensemble d'attributs d une table de dimension ayant une relation hiérarchique (x est inclus dans y); Correspondent à des relations de type 1 à plusieurs; Définissent les chemins d'accès dans les données (drill-down paths); Peuvent être simples: Produit : tous ) catégorie ) marque ) produit; Lieu Ou multiples: : tous ) pays ) province ) ville ) code postal. année année fiscale trimestre trimestre fiscal mois mois fiscal jour R. Godin, C. Desrosiers - Hiver 2011 24

Tables de dimension Choix des dimensions: Demande le jugement et l'intuition du modélisateur; Ex: mettre la région (pays, ville, code postal, etc.) comme des attributs de client ou une dimension séparée? Plus on a d'attributs non-corrélés dans une dimension plus la table correspondante aura de lignes: Ex: 10,000 produit x 100 magasins = 1,000,000 de lignes dans la table de dimension ProduitMagasin. Règles générales: Les dimensions sont observables au niveau du grain de la table de faits; Les attributs non-corrélés vont dans des dimensions séparées. R. Godin, C. Desrosiers - Hiver 2011 25

Dimension temporelle Dimension temporelle: iddate (PK) date Dimension: Temps jourdesemaine jourdumois jourdeannée jourdansmoisfiscal jourdansannéefiscale congéférié jourdetravail semainedumois... Mettre toutes ces valeurs, même si la plupart peuvent être déduites des autres; Pré-générer les lignes de la table (ex: 10 prochaines années) pour faciliter la référence et éviter les mises à jour R. Godin, C. Desrosiers - Hiver 2011 26

Dimension temporelle Dimension temporelle: Avoir un grain trop fin dans la dimension temporelle (ex: temps du jour) peut causer l'explosion du nombre de rangées: Ex: 31,000,000 secondes différentes dans une année. Solution: mettre le temps du jour dans une dimension séparée: Dimension Date : année ) mois ) jour; Dimension TimeOfDay : heure ) minute ) secondes; 86,400 + 365 lignes au lieu de 31,000,000 lignes. R. Godin, C. Desrosiers - Hiver 2011 27

Changements dimensionnels Dimensions à évolution lente: En anglais: Slowly Changing Dimensions (SCD); Même si elles sont plus statiques que les faits, les dimensions peuvent également changer: Ex: adresse/âge d'un client, catégorie d'un produit, etc. Plusieurs stratégies d'historisation: SCD Type 1: Écraser l'ancienne valeur avec la nouvelle SCD Type 2: Ajouter une ligne dans la table de dimension pour la nouvelle valeur SCD Type 3: Avoir deux colonnes dans la table de dimension correspondant à l'ancienne et la nouvelle valeur R. Godin, C. Desrosiers - Hiver 2011 28

Changements dimensionnels SCD Type 1: idproduit description code catégorie 1001 'BébéLala' 'ABC999-Z' 'Éducation' idproduit description code catégorie 1001 'BébéLala' 'ABC999-Z' 'Stratégie' Impossible de faire des analyses sur l'ancienne valeur; À utiliser seulement lorsque l'ancienne valeur n'est pas significative pour les besoins d'affaires; Exige de mettre à jour les données agrégés avec l'ancienne valeur. R. Godin, C. Desrosiers - Hiver 2011 29

Changements dimensionnels SCD Type 2: idproduit description code catégorie dateeffective dateexpirée 1001 'BébéLala' 'ABC999-Z' 'Éducation' '2007-10-08' '9999-12-31' idproduit description code catégorie dateeffective dateexpirée 1001 'BébéLala' 'ABC999-Z' 'Éducation' '2007-10-08' '2008-10-31' 1002 'BébéLala' 'ABC999-Z' 'Stratégie' '2008-11-01' '9999-12-31' Permet de faire des analyses historiques; Demande l'ajout d'une nouvelle ligne par changement; À utiliser lorsque l'ancienne valeur a une signification analytique ou si le changement est une information en soi. R. Godin, C. Desrosiers - Hiver 2011 30

Changements dimensionnels SCD Type 3: idproduit description code oldcatégortie newcatégorie datemodif 1001 'BébéLala' 'ABC999-Z' 'Éducation' 'Éducation' '9999-12-31' idproduit description code oldcatégortie newcatégorie datemodif 1001 'BébéLala' 'ABC999-Z' 'Éducation' 'Stratégie' '2008-11-01' Rarement employée; Profondeur de l'historique est de un seul changement; Utilisé lorsqu'on veut vouloir comparer les faits avec l'ancienne ou la nouvelle valeur; R. Godin, C. Desrosiers - Hiver 2011 31

Mini-dimensions Sert lorsque qu'une dimension renferme des attributs qui peuvent changer souvent: Ex: le profil démographique des clients (âge, revenu, etc.). Solution: mettre les attributs plus volatiles dans une dimension séparée (mini-dimension) où le grain est différent; Dimension: Client idclient (PK) nom adresse datedenaissance... Dim: GroupeDémographique idgroupedémographique (PK) groupeage sexe groupesalaire groupenombreenfants étatcivil mini-dimension R. Godin, C. Desrosiers - Hiver 2011 32

Autres modèles dimensionnels Schéma en flocon: Provient de la normalisation des tables de dimension; Exemple: R. Godin, C. Desrosiers - Hiver 2011 33

Autres modèles dimensionnels Schéma en flocon: Avantages: Petite économie d'espace; Plus facile de mettre à jour les dimensions en cas de changement. Désavantages: Schéma moins intuitif aux utilisateurs d'affaires; Dégradation de la performance à cause des jointures additionnelles. En général, on préfère ne pas normaliser les tables de dimension. R. Godin, C. Desrosiers - Hiver 2011 34

Stratégie de stockage Stockage vertical: La plupart des RDBMS transactionnels stockent les données horizontalement: ligne 1 ligne 2 ligne 3 col 1 col 2 col 3 col 1 col2 col 3 Facilite les requêtes retournant une ou plusieurs lignes. Dans les entrepôts de données, les requêtes portent souvent sur les colonnes (ex: SUM, AVG, MIN, MAX, etc.) Il peut être plus efficace (500x plus rapide dans certains cas) de stocker les données par colonnes: col 1 col 2 col 3 ligne 1 ligne 2 ligne 1 ligne 2 R. Godin, C. Desrosiers - Hiver 2011 35

Stratégie d'indexation Index de jointure en étoile (star join): Pré-calcule les lignes des tables de dimension pouvant être jointes avec la table de faits; Évite de joindre les tables de dimension les unes après les autres. Exemple: Bitmap join index (Oracle) Fait la pré-jointure de colonnes située dans des tables de dimension différentes; Les colonnes à pré-joindre doivent avoir un domaine restreint (comme pour les index bitmap standards); Peut accélérer jusqu'à 10 fois la jointure (benchmarks Oracle). R. Godin, C. Desrosiers - Hiver 2011 36

Stratégie d'indexation Exemple bitmap join index: Requête à optimiser: SELECT SUM(Inventaire.quantité) FROM Inventaire, Produit, Fournisseur WHERE Inventaire.idProduit = Produit.id AND Inventare.idFournisseur = Fournisseur.id AND Produit.catégorie='moteur_mazda' AND Fournisseur.province='QC' Index à créer: CREATE BITMAP INDEX indexjointure ON Inventaire(Fournisseur.province, Produit.catégorie) FROM Inventaire, Fournisseur, Produit WHERE Inventaire.idProduit = Produit.id AND Inventare.idFournisseur = Fournisseur.id Fournisseur id nom ville province notéléphone... Inventaire idfournisseur idproduit... quantité Produit id modèle catégorie sous-catégorie... R. Godin, C. Desrosiers - Hiver 2011 37

Stratégie d'agrégation Exemple d'agrégation: 300 magasins; 40,000 produits; 80 marques (500 produits par marque); En moyenne, une vente à chaque semaine, pour chaque produit, dans chaque magasin. Requête sur 1 produit, 1 magasin, 1 semaine: Agrégation de 1 ligne de la table de faits. Requête sur 1 produit, tous les magasins, 1 semaine: Agrégation de 300 lignes de la table de faits. Requête sur 1 marque, tous les magasins, 1 année: Agrégation de 7,800,000 lignes de la tables de faits. R. Godin, C. Desrosiers - Hiver 2011 38

Stratégie d'agrégation Tables de faits agrégés (agregate fact table): Accélèrent les requêtes analytiques en pré-calculant l'agrégation de faits à différents niveaux des hiérarchies dimensionnelles; Dupliquent l'information contenue dans la table de faits atomique (niveau le plus granulaire). Exemple (suite): Table de faits agrégés où chaque ligne donne le total des ventes durant une semaine, pour une marque de produits dans un certain magasin; Requête sur 1 marque, tous les magasins, 1 année: Agrégation de 15,600 lignes au lieu de 7.8 millions. R. Godin, C. Desrosiers - Hiver 2011 39

Stratégie d'agrégation Exemple d'agrégation sur deux dimensions: Produit idproduit marque catégorie département... Magasin idmagasin ville région province... Date agrégée idsemaine mois trimestre année... Date iddate semaine mois trimestre année... Transaction idmagasin idproduit iddate... montant Transaction agrégée idmagasin idcatégorie idsemaine... montant Produit agrégé idcatégorie marque catégorie département... R. Godin, C. Desrosiers - Hiver 2011 40

Stratégie d'agrégation Comment choisir les agrégations: Tenir compte du type et de la fréquence des requêtes faites à l'entrepôt (profilage de requêtes); Choisir les dimensions les plus souvent utilisées; Choisir un niveau de hiérarchie offrant un bon compromis entre l'utilité et le gain en performance Ex: l'agrégation des magasins Ikea au niveau "ville" n'est pas utile car il y a peu de magasins dans une ville (max. 3); Chaque nouvelle ligne doit agréger au moins 10 lignes de la table de faits atomiques. Approches d'agrégation: BD relationnelles avec vue matérialisées (ROLAP); BD multidimensionnelles (MOLAP). R. Godin, C. Desrosiers - Hiver 2011 41

Stratégie d'agrégation (ROLAP) Agrégation par vues matérialisées: Table physique synchronisée avec les résultats d'une requête; Synchronisation temps-réel, en lot ou sur demande; Permet les indexes, le partitionnement, contrôle d'accès, etc. Hiérarchie d'agrégations possible en créant une nouvelle vue à partir d'autres vues. Exemple (Oracle): CREATE MATERIALIZED VIEW TransactionAgrégée REFRESH FORCE ENABLE QUERY REWITE AS SELECT idmagasin, P.catégorie AS catégorie, D.semaine AS semaine, SUM(T.montant) AS montantagrégé FROM Transaction T, Produit P, Date D WHERE T.idProduit = P.id AND T.idDate = D.id GROUP BY idmagasin, P.catégorie, D.semaine Paramètre REFRESH FORCE ENABLE QUERY REWRITE Description Synchronisation incrémentale lorsque possible, sinon complète Permet de réécrire la requête si cela améliore la performance R. Godin, C. Desrosiers - Hiver 2011 42

Stratégie d'agrégation (MOLAP) BD multi-dimensionnelles (MOLAP): Représentent 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; Utilisent des techniques de compression pour gérer le fait que la plupart des cases du cubes sont vides (sparse array compression); Se basent beaucoup sur le pré-calcul d'agrégations selon les hiérarchies dimensionnelles. R. Godin, C. Desrosiers - Hiver 2011 43

Stratégie d'agrégation (MOLAP) Avantages/inconvénients: Offrent une meilleure performance pour les opérations d'analyse multidimensionnelle (ex: slicing et dicing) que ROLAP; Facilitent la gestion des agrégations; Peuvent être limitées en termes du nombre de dimensions et de valeurs possibles pour ces dimensions (explosion de la mémoire pour les agrégations); Les mises à jour peuvent être plus coûteuses que ROLAP; La technologie est plus fermée que les ROLAP. Plusieurs produits commerciaux offrent une approche hybride (HOLAP) combinant les avantages du MOLAP et du ROLAP. R. Godin, C. Desrosiers - Hiver 2011 44

Outils d analyse de données Cycle analytique: 1 - Surveiller les activités Tableaux de bord Scorecards Rapports standards 5 - Agir et faire le suivi des résultats 2 - Identifier des exceptions Tableaux de bord, Rapports paramétrables Alertes Analyse prédictive Fouille de données 4 - Modéliser les alternatives 3 - Déterminer les causes Analyse OLAP Fouille de données R. Godin, C. Desrosiers - Hiver 2011 45

Requêtes ad-hoc Fonctions analytiques Oracle: SELECT col1, col2,..., FctAnalytique(args) OVER ([PARTITION BY <...>] -- partitionnement des lignes [ORDER BY <...>] -- ordre des lignes dans les partitions [<fenetre>] -- fenetre autour de la ligne courante ) Pour chaque partition, les lignes sont parcourues selon l ordre définie par le ORDER BY Pour chaque ligne, la fonction est évaluée sur l ensemble des lignes autour de celle-ci, défini par la fenêtre Exemples de fonctions: AVG, CORR, FIRST, RANK, LAG, LAST, MAX, MIN, etc. Exemples de fenêtres: ROWS BETWEN <x> PRECEDING and <y> FOLLOWING ROWS UNBOUNDED PRECEDING R. Godin, C. Desrosiers - Hiver 2011 46

Requêtes ad-hoc Exemple: SELECT noclient, datecommande, montant, SUM(montant) OVER (! PARTITION BY noclient! ORDER BY datecommande! ROWS UNBOUNDED PRECEDING) AS montantcumulatifduclient! FROM Vente! ORDER BY noclient, datecommande!! NOCLIENT DATECOMMAN MONTANT MONTANTCUMULATIFDUCLIENT! ---------- ---------- ---------- ------------------------! 1 10/01/2000 100 100! 1 15/01/2000 300 400! 1 25/02/2000 100 500! 1 04/03/2000 200 700! 1 10/04/2000 200 900! 1 15/04/2000 100 1000! 1 05/06/2000 200 1200! 2 10/01/2000 200 200! 2 16/01/2000 200 400! 2 20/02/2000 200 600! 2 15/03/2000 500 1100! 2 20/05/2000 200 1300! 2 05/06/2000 100 1400! 3 10/01/2000 500 500! 3 15/01/2000 100 600! 3 05/04/2000 200 800! 3 06/04/2000 400 1200! 3 25/05/2000 500 1700! 4 20/02/2000 400 400! 4 04/03/2000 300 700! 4 15/03/2000 100 800! Requête: Montant cumulatif par client. Partition: Fonction appliquée par groupes de clients; ORDER BY et ROWS UNBOUNDED PRECEDING: Fonction appliquée dans une fenêtre allant de la ligne courante jusqu au début de la table, où les lignes sont en ordre de date. R. Godin, C. Desrosiers - Hiver 2011 47

Analyse multidimensionnelle (OLAP) Caractéristiques: Représente les données sous la forme d un cube multidimensionnel (hypercube) où chaque coté est une dimension d analyse et chaque case une métrique; Permet de visualiser des données sous la forme de tableaux croisés appelés pivots; Permet de détailler les données à l aide des opérations de découpage: slice et dice; Permet de naviguer une hiérarchie dimensionnelle à l aide des opérations drill-down et roll-up. R. Godin, C. Desrosiers - Hiver 2011 48

Analyse multidimensionnelle Exemple de cube: Table Vente noclient noarticle datevente montant 1 10 10/01/2000 100 2 20 10/01/2000 200 3 10 10/01/2000 500 1 10 15/01/2000 300 3 40 15/01/2000 100 2 60 16/01/2000 200 4 60 20/02/2000 400 2 10 20/02/2000 200 1 40 25/02/2000 100 Article Client Date 4 10 04/03/2000 300 1 20 04/03/2000 200 R. Godin, C. Desrosiers - Hiver 2011 49

Analyse multidimensionnelle Opérations sur le cube: Rotate: sélection du pivot d analyse en faisant tourner le cube; Slice: extrait une tranche du cube, c est-à-dire, un sous-ensemble des valeurs du cube correspondant à une certaine valeur d une des dimensions non-découpées; Dice: provient de l application de l opération slice sur plus d une dimension; Drill-down: permet de détailler les données en descendant le niveau hiérarchique d une dimension; Roll-up (drill-up): permet d agréger les données en augmentant le niveau hiérarchique d une dimension; R. Godin, C. Desrosiers - Hiver 2011 50

Analyse multidimensionnelle Hiérarchie du cube (treillis): Article Client Date Article Date Article Date Article Date Client Client Client Article Date Article Date Article Date Client Client Client Article Client Date R. Godin, C. Desrosiers - Hiver 2011 51

Analyse multidimensionnelle Clause CUBE (SQL99): SELECT noclient,noarticle,sum(montant)! FROM Vente! GROUP BY CUBE(noClient,noArticle)!! NOCLIENT NOARTICLE SUM(MONTANT)! ---------- ---------- ------------! 1 10 500! 1 20 200! 1 40 100! 1 50 200! 1 60 200! 1 1200! 2 10 700! 2 20 300! 2 60 400! 2 1400! 3 10 1000! 3 20 400! 3 40 100! 3 50 200! 3 1700! 4 10 300! 4 60 500! 4 800! 10 2500! 20 900! 40 200! 50 400! 60 1100! 5100! Article Article Client Client Date Date Article Article Client Client R. Godin, C. Desrosiers - Hiver 2011 52 Date Date

Analyse multidimensionnelle Clause CUBE (SQL99): noarticle 10 20 40 50 60 total 1 500 200 100 200 200 1200 noclient 2 700 300 0 0 400 1400 3 1000 400 100 200 0 1700 4 300 0 0 0 500 800 total 2500 900 200 400 1100 5100 R. Godin, C. Desrosiers - Hiver 2011 53

Analyse multidimensionnelle Clause ROLLUP (SQL99): SELECT noclient,noarticle,sum(montant)! FROM Vente! GROUP BY ROLLUP(noClient,noArticle)!! NOCLIENT NOARTICLE SUM(MONTANT)! ---------- ---------- ------------! 1 10 500! 1 20 200! 1 40 100! 1 50 200! 1 60 200! 1 1200! 2 10 700! 2 20 300! 2 60 400! 2 1400! 3 10 1000! 3 20 400! 3 40 100! 3 50 200! 3 1700! 4 10 300! 4 60 500! 4 800! 5100! Article Article Article Client Client Date Date Date Client R. Godin, C. Desrosiers - Hiver 2011 54

Analyse multidimensionnelle Exemple OLAP graphique (Palo-Pivot): R. Godin, C. Desrosiers - Hiver 2011 55

Reporting Gestion des rapports: Rapports préformatés: Fournir une libraire de rapports fréquemment employés avec une description de leur contenu. Exemples: Ventes YTD vs ventes prédites; Taux mensuel d attrition par plan de service; Taux de réponses courrier par promotion par produit; Rapports paramétrables: Offrir la possibilité de modifier facilement le contenu du rapport à l aide de paramètres (ex: choix d un produit, d une région, etc.) R. Godin, C. Desrosiers - Hiver 2011 56

Reporting Gestion des rapports (suite): Conception simple: Permettre aux utilisateurs de pouvoir créer facilement de nouveaux rapports à l aide d une interface conviviale. Exécution sur le serveur: Éviter de surtaxer l ordinateur de l utilisateur en exécutant le rapport sur un serveur dédié. Rapports cédulés: Permettre aux utilisateurs de céduler l envoi de rapports à des intervalles ou lors d événements prédéterminés. Méthode d envoi: Permettre aux utilisateurs de choisir comment le rapport leur est envoyé (ex: courriel, page Web, etc.). R. Godin, C. Desrosiers - Hiver 2011 57

Exemple de création de rapport (Pentaho report designer) R. Godin, C. Desrosiers - Hiver 2011 58

Tableaux de bords Caractéristiques: Facilitent la prise de décision en mettant en valeur les indicateurs de performance et les problèmes à l aide d éléments visuels: Graphiques (ex: courbes, tarte, etc.); Jauges (ex: profits comparés aux objectifs d affaires); Feux de circulation (ex: rouge signifie problème); etc. Requièrent très peu de connaissances techniques de la part des utilisateurs; Combinent les données de divers systèmes pour offrir une vue unifiée de haut niveau de l entreprise; Tiennent souvent compte des changements ponctuels des données (ex: rafraichissement des éléments visuels à intervalles réguliers). R. Godin, C. Desrosiers - Hiver 2011 59

Exemple de tableau de bord (MicroStrategy) R. Godin, C. Desrosiers - Hiver 2011 60

Exemple de tableau de bord (Ctuit Radar) R. Godin, C. Desrosiers - Hiver 2011 61