Le Data Warehouse. Ladjel BELLATRECHE. LISI/ENSMA - Poitiers bellatreche@ensma.fr



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

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

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

Les Entrepôts de Données

et les Systèmes Multidimensionnels

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

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

Datawarehouse: Cubes OLAP. Marlyse Dieungang Khaoula Ghilani

Les entrepôts de données

Urbanisation des SI-NFE107

ETL Extract - Transform - Load

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

Techniques d optimisation des requêtes dans les data warehouses

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

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

Bases de Données Avancées

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

LES ENTREPOTS DE DONNEES

2 Serveurs OLAP et introduction au Data Mining

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

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

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

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

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

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

Introduction à la B.I. Avec SQL Server 2008

et les Systèmes Multidimensionnels

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

Bases de Données OLAP

Eduardo Almeida. Master Alma Université de Nantes

Entrepôt de données 1. Introduction

Fouille de Données : OLAP & Data Warehousing

Business Intelligence : Informatique Décisionnelle

La problématique. La philosophie ' ) * )

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

Entrepôts de données : Systèmes OLAP : ROLAP, MOLAP et OLAP (5) 1 Introduction aux systèmes

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

Module BDR Master d Informatique (SAR)

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

Datawarehouse and OLAP

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

Hervé Couturier EVP, SAP Technology Development

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

Master Exploration Informatique des données DataWareHouse

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

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

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

BI = Business Intelligence Master Data-ScienceCours 3 - Data

Chapitre 9 : Informatique décisionnelle

Optimisation SQL. Quelques règles de bases

Pascale Borla-Salamet Consultante Avant Vente Oracle France. Oracle Exadata Performance et Optimisation de votre Datawarehouse

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

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

Tout ce que vous avez toujours voulu savoir sur SAP HANA. Sans avoir jamais osé le demander

Notes de cours : bases de données distribuées et repliquées

Le Langage SQL version Oracle

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

Administration des bases de données. Jean-Yves Antoine

Business & High Technology

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

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

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

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

Data Mining. Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Cours Bases de données

BI = Business Intelligence Master Data-Science

L information et la technologie de l informationl

Instructions Mozilla Thunderbird Page 1

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

BD51 BUSINESS INTELLIGENCE & DATA WAREHOUSE

Introduction à lʼinformatique. Décisionnelle (ID) / Business. Intelligence» (1)

FreeAnalysis. Schema Designer. Cubes

Bases de Données relationnelles et leurs systèmes de Gestion

A QUOI SERVENT LES BASES DE DONNÉES?

Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

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

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

Introduction aux outils BI de SQL Server Fouille de données avec SQL Server Analysis Services (SSAS)

QU EST-CE QUE LE DECISIONNEL?

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

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

SQL Server 2012 et SQL Server 2014

WEB page builder and server for SCADA applications usable from a WEB navigator

Entrepôts de Données

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Les bases de données

CHAPITRE 1 ARCHITECTURE

INTRODUCTION AUX BASES de DONNEES

Innovative BI with SAP Jean-Michel JURBERT D. de Marché BI, HANA, BIG DATA _ SAP France

OLAP : Mondrian + Pentaho. Maguelonne Teisseire Hugo Alatrista Salas hugo.alatrista- salas@teledetec9on.fr Flavien Bouillot

Forthcoming Database

BIRT (Business Intelligence and Reporting Tools)

Didier MOUNIEN Samantha MOINEAUX

Grégoire de Lassence. Copyright 2006, SAS Institute Inc. All rights reserved.

RAPID Prenez le contrôle sur vos données

FINI LA RÉCRÉ PASSONS AUX MÉGADONNÉES

AXIAD Conseil pour décider en toute intelligence

Catherine Chochoy. Alain Maneville. I/T Specialist, IBM Information Management on System z, Software Group

Transcription:

Le Data Warehouse Ladjel BELLATRECHE LISI/ENSMA - Poitiers bellatreche@ensma.fr 1

Plan Entrepôt de données Modélisation multidimensionnelle OLAP Traitement/Optimisation des Requêtes Conduite de Projet «entrepôt» 2

Data, Data everywhere yet... I can t find the data I need data is scattered over the network many versions,... I can t get the data I need need an expert to get the data I can t understand the data I found available data poorly documented I can t use the data I found results are unexpected data needs to be transformed from one form to other 3

Introduction Pourquoi le data warehouse? Améliorer les performances décisionnelles de l entreprise Comment? En répondant aux demandes d analyse des décideurs Exemples Clientèle: Qui sont mes clients? Pourquoi sont-ils mes clients?, Comment les conserver ou les faire revenir (préférence d achat, habitudes, )? Ces clients sont-ils vraiment intéressants pour moi? Marketing, actions commerciales: où placer ce produit dans les rayons? Comment cibler plus précisément le mailing concernant ce produit?. 4

Introduction Raisons d être d un entrepôt de données Rassembler les données de l entreprise dans un même lieu sans surcharger les BD (systèmes opérationnels) Permettre un accès universel à diverses sources de données et assurer la qualité des données Extraire, filtrer, et intégrer les informations 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 5

C est quoi un entrepôt de données? Industrie (Inmon 1992) Collection de données orientées sujets Consolidées dans une base de données unique Non volatiles et historisées variant dans le temps organisées pour le support d'un processus d'aide à la décision Recherche (Stanford 1995) Dispositif de stockage d informations intégrées de sources distribuées, autonomes, hétérogènes 6

Modélisation par sujet APPLICATIONS Production SUJETS Clients Gestion de stocks Vendeur Facturation Produit Livraison 7

Architecture d un entrepôt de données 1. Approche virtuelle (ou le non-entrepôt) Outils d analyse Inconvénients: pas de réelle intégration des données Middleware différentes vues non-réconciliées pas de vues dans le temps les requêtes peuvent facilement bloquer les transactions en cours 8

Architecture d un entrepôt de données: physique Phase Intégration Phase Traitement & Analyse Relationnelles Entrepôt de données Serveur OLAP* Rapports Réseaux Extraire Transformer Nettoyer Intégrer Rafraîchir Requêtes SELECT Objet FROM WHERE Légataires * OLAP: On-Line Analytical Processing Data Marts 9

Exploitation de l entrepôt Business Intelligence: Possibilité de visualiser et d exploiter une masse importante de données complexes Trois principaux outils: OLAP :On-Line Analytical Processing Data mining: fouille de données Formulation de requêtes et visualisation des résultats 10

Architecture d un entrepôt de données Souvent une architecture trois-tiers Serveur d entrepôt ( Warehouse Database Server ) Très souvent un système relationnel (ex. Oracle, Teradata de NCR) Serveur OLAP ( OLAP Server ) de type ROLAP, MOLAP, ou HOLAP (détails plus loin) Clients Outils de requêtes et de production de rapports Outils d analyse et de prospection de données 11

Domaines d applications Banque, Assurance Détermination des profils client (prêt, ) Commerce Ciblage de clientèle Compagnies de grande production Aménagement des rayons (2 produits en corrélation) Compagnies téléphoniques Santé 12

Base de données vs. Entrepôt de donnée 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 13

Modélisation classique (OLTP) Le modèle relationnel Table, attributs, tuples, vues, Normalisation (redondance) Requêtes simples (sélection, projection, jointure, ) Analyse difficile de l activité Le critère temps Représentation du passé Un fardeau pour les systèmes OLTP 14

Exemple Table historique Compte(NC, DateOp, Solde) Questions (ou Requêtes) Quel est le solde courant du client 525? % critère temps SELECT Solde FROM Compte WHERE NC = 525 AND DateOp = (SELECT MAX(DateOp) FROM Compte WHERE NC = 525) Quels sont les soldes courants de mes clients? 15

Requêtes décisionnelles plus complexes!! Exemples Combien de clients âgés entre 20 et 30 ans et résidant à Poitiers ont-ils acheté une caméra vidéo au cours des 5 dernières années? Quelle est la répartition des ventes par produit, ville et par mois au cours de la présente année? Quelles sont les composantes des machines de production ayant eu le plus grand nombre d incidents imprévisibles au cours de la période 1992-97? Critère temps est la base de l analyse décisionnelle 16

Récapitulatif Caractéristiques Opération Modèle Normalisation Données Mise à jour Consolidation Perception Opérations Taille Bases de données Gestion courante Surtout entité-relation Plus fréquente Actuelles, brutes Immédiate Très faible Bidimensionnelle Lecture et écriture Des giga-octets Entrepôts de données Support à la décision Étoile, flocon de neige Rare Historiques, agrégées Plutôt différée Très élevée Multidimensionnelle Lecture et rafraîchissement Plutôt des téra-octets 17

OLAP Traitement analytique interactif (Codd) typique dans les systèmes informationnels Catégorie de traitements dédiés à l aide à la décision Analyses diverses (multidimensionnelles) Information : surtout dérivée et sommaire Aide à la prise de décision 18

Modélisation Multidimensionnelle Dimension: Présente le point de vue selon lequel on veut voir le données décrites par un ensemble d attributs Axe de l analyse Exemple: Commandes, achats, réclamations, produits, clients,... Mesures/faits Fonction numérique qui peut être évaluée en tout point du data cube en agrégeant les données correspondant à ce point mesure d activité (critère d analyse) 19

Exemples des Faits Chiffre d affaire, nombre de ventes, gain,... le fait de vente Chaque enregistrement de fait représente le total des ventes d un produit dans un magasin dans une journée 20

Hyper cube OLAP Objectifs Obtenir des informations déjà agrégées selon les besoins des utilisateurs Représentation de l information dans un hyper cube à N dimensions Opérations OLAP Fonctionnalités qui servent à faciliter l analyse multidimensionnelles: opérations réalisables sur l hyper cube 21

Exemple d un cube de données PRODUIT Total Crème Lait Jus Trim1 10 TEMPS Trim2 Trim3 Trim4 20 21 99 51 Total Marseille Perpignan Toulouse Total V I L L E Le cube est adapté d un des transparents de J. Han Total Global 22

Multidimensional View of Data Sales volume (measure) as a function of product, time, and geography (dimensions). Region Dimensions: Product, Region, Time Hierarchical summarization paths Industry Country Year Category Region Quarter Product Product City Month Week Office Day Time

Comment stocker le cube de données ROLAP: Relational On-Line Analytical Processing The data cube is stored as relational table(s): a fact table with dimension tables MOLAP: Multidimensional On-Line Analytical Processing the data cube is stored as multi-dimensional array(s). 24

Modèle ROLAP ROLAP: Relational On-Line Analytical Processing Exploiter l expérience des modèles relationnels (un grand succès!!) Il faut des modèles bien adaptés aux ED! Schéma en étoile (star schema) Schéma en flocon de neige (snowflake schema) Schéma mixte (des deux précédents) 25

Modèle en étoile Autant de tables de dimension qu il existe de dimensions Exemple Temps, Produit, Client Une table de faits contenant la clé de chaque dimension et des mesures Exemple montant en dollars, nombre d unités vendues 26

Schéma en étoile TEMPS Table de dimensions Table de dimensions Code temps Date Année Mois Jour 1094 n-uplets CLIENT Code client Sexe Ville Etat Table des faits VENTES Code temps Code produit Code client Quantitée vendue Coût_dollars Coût_unitaire Table de dimensions PRODUIT Code produit Nom produit Prix unitaire Taille Poids gamme Type_paquet 300 000 n-uplets Age 3 000 000 n-uplets 100 000 000 n-uplets 27

Requête type SELECT P.brand, sum(dollars_sold), sum(units_sold) FROM SALES S, PRODUCT P, TEMPS T WHERE S.PID = P.PID (Jointure) AND S.TID = T.TID (Jointure) AND T.Quarter = 1 Q 97 (Sélection) GROUP BY P.brand ORDER BY P.brand TIME Requêtes de jointure en étoile Plusieurs de jointure Suivies par des sélection TID Day Month Quarter Year Holiday_flag Schéma en étoile Star Schema SALES TID PID SID Dollars_sold Units_sold CustomerID PRODUCT PID Description Brand Category STORE SID Name Address 28

Avantages & Inconvénients + Simple + Le plus utilisé!!! Possibilité de redondance car les tables de dimension ne sont pas nécessairement normalisées Taille de dimensions plus grosse 29

Modèle en flocon de neige Variante du modèle en étoile Les tables de dimension sont normalisées Réduction de la redondance mais exécution parfois plus lente des requêtes (jointure de tables) Modèle adopté par Oracle!! Modèle mixte Seules certaines tables sont normalisées 30

Exemple d un modèle en flocon de neige Year Year Month Month Year Date Date Month Sales Fact Table Date Product Product ProductNo ProdName ProdDesc Category QOH Country Country Region State State Country City City State Measures Store StoreID City Store Customer unit_sales dollar_sales Yen_sales Cust CustId CustName CustCity CustCountry 31

Définition d un schéma en étoile avec DMDL define cube ventes_star [temps, item, branche, lieu]: Montant_vente = sum(somme), moyenne_vente = avg(somme), unités_vendues = count(*) define dimension temps as (TID, Année, mois, jour) define dimension Produit as (PID, nom_item, marque, taille, poids) define dimension Client as (Cid, Nom, Sexe, Age, Ville) 32

Définition d un schéma snowflake avec DMQL define cube ventes_snowflake [temps, item, branche, lieu]: Montant_vente = sum(somme), moyenne_vente = avg(somme), unités_vendues = count(*) define dimension temps as (Id_temps, jour, jour_semaine, mois, trimestre, année) define dimension item as (Id_item, nom_item, marque, type, fournisseur(id_fournisseur, type_fournisseur)) define dimension branche as (Id_branche, nom_branche, type_branche) define dimension lieu as (Id_lieu, rue, ville(id_ville, département, pays)) 33

Estimation de la taille d un entrepôt Dimensionner l entrepôt Choix des granularités Choix d une machine/sgbd (benchmark) Exemple: Supermarché Auchan Dimensions Fait Temps : 4 ans * 365 jours = 1460 jours Magasin : 300 (national) Produit: 200000 références GENCOD (10% vendu par jour) 1460 * 300 * 20000 = 8.76 milliards d enregistrements Nombre de champs de clé = 3 Nombre de champs de faits = 4 Table des faits: 8.76 * 10 9 * 7 * 4 octets = 245 Go 34

MOLAP: Représentation Tableaux Temps Ville Produit Trim1 M P T Trim2 M P T Trim3 M P T Trim4 M P T Total M P T Tot Crème 8 4 6 9 27 Lait Jus Total 22 23 19 29 93 21 24 25 29 99 51 Répartition des ventes par produit, temps et ville M : Marseille, P : Perpignan, T : Toulouse 35

ROLAP versus MOLAP(I) MOLAP the storage model is an n-dimensional array Front-end multidimensional queries map to server capabilities in a straightforward way Direct addressing abilities Poor storage utilization when the data is sparse 36

ROLAP versus MOLAP(II) ROLAP exploits services of relational engine effectively provides additional OLAP services design tools for DSS schema performance analysis tools to pick aggregates to materialize SQL comes in the way of sequential processing and column aggregation Some queries are hard to formulate and can often be time consuming to execute 37

ROLAP vs. MOLAP Stockage Avantages Inconvénients ROLAP Standard bien établi Efficace pour le transactionnel Capacité d expansion élevée (téra-octets) Absence de vue conceptuelle SQL peut être inadéquat pour la formation de tableaux croisés MOLAP Implémentation souvent plus performante que ROLAP Inadéquat pour le transactionnel Capacité d expansion limitée (dizaines de giga-octets) Absence de standard 38

Serveurs ROLAP [Microstrategy] 39

Serveurs MOLAP 40

Hybrid OLAP HOLAP combines both ROLAP and MOLAP Data is partitioned in two subsets: infrequently used data is stored as relational tables frequently used data is stored as multidimensional arrays Données brutes dans ROLAP Données agrégées dans MOLAP The separation is transparent to the end user. Example if the DW keeps data from 1990, till today, the most recent years are stored in arrays while the first ones in tables 41

Opérations de base OLAP Group By Roll-up (ou drill-up) Drill-down Slice & dice Pivot Opérations OLTP classiques 42

Navigation dans un cube Visualization OLAP capabilities Interactive manipulation 43

Opérations multidimensionnelles Agrégations (consolidation) de données (précalculées) Réduction de temps de calcul Définition de hiérarchies dans les dimensions («granularités») Exemples Temps: jours/mois/trimestres/années Géographie: ville/région/pays 44

Exemple d hiérarchie dans dbminer (IBM) 45

GROUP BY Find total Sales for each city SELECT CityName, Sum(Sales) FROM SALES, LOCALIZATION WHERE SALES.LID = LOCALIZATION.LID GROUP BY CityName 46

ROLL-UP Agrégation des mesures en allant d un niveau particulier de la hiérarchie vers un niveau plus général Exemples Given total sales city, we can roll-up to get sales by state Syntaxe: SELECT... GROUP BY ROLLUP(Grouping-column-reference_list) Drill-Down: opération inverse de roll-up 47

Drill-Down Opération inverse du Roll-up Exemples Ventes par produit, ville et par heure (au lieu de produit, ville et jour). Par ajout d une dimension Exemple: ventes par produit, localisation, temps et fournisseur 48

Slice & dice Slice et dice projection et sélection du modèle relationnel Pivot (rotate) Réoriente le cube pour visualisation 49

Optimisation des requêtes Caractéristiques des entrepôts: Grand volume de données (TB) Requêtes décisionnelles complexes Peu de mises à jour (ajout seulement!) Exigence des décideurs: Temps de réponse raisonnable Respect des délais Objectif: Exécution rapide des requêtes la complexité des requêtes ou des données Nécessité de techniques d optimisation 50

Techniques utilisées Vues matérialisées Une vue est une requête nommée Une vue matérialisée : les données résultant de sa requête sont stockées et maintenues Index Structures permettant d'associer à une clé d un n- uplet l'adresse relative de cet n-uplet Traitement parallèle Groupement Fragmentation 51

Vues matérialisées Exigence de ressources: Espace disque Coût de maintenance (rafraîchissement des données) Coût de calcul Impossibilité de matérialiser toutes les vues Problème de Sélection des Vues (PSV): Sélectionner un ensemble de vues afin de maximiser ou minimiser une fonction objectif sous une contrainte Fonction «objectif»: Optimiser le coût d exécution des requêtes ou Optimiser le coût de maintenance 52

Exemple CREATE MATERIALIZED VIEW VUE1 ENABLE QUERY REWRITE REFRESH COMPLETE START WITH 1999-03-28 NEXT SYSDATE + 1 AS SELECT * FROM Vente, Client, Article WHERE Vente.noClient = Client.noClient AND Vente.noArticle = Article.noArticle 53

Maintenance des vues matérialisées Vues matérialisées sont calculées à partir des sources (tables) Mise à jour des sources implique la mise à jour des vues Deux méthodes de maintenance Statique Incrémentale 54

Réécriture des requêtes Processus de réécriture: Après le processus de sélection des vues, toutes les requêtes définies sur l entrepôt doivent être réécrites en fonction des vues Sélectionner la meilleure réécriture pour une requête est une tâche difficile. Processus supporté dans la plupart des SGBD multidimensionnels (Oracle) 55

Index avancés Inconvénient: Exigence de ressources (espace disque, coût de maintenance) Index populaires dans les entrepôts: Index simple: sur une seule table ou une seule vue (arbre B, index binaire, index de projection) Index de jointure: sur plusieurs tables dans un schéma en étoile (index de jointure en étoile [Redbrik]) Problème de sélection d index Algorithmes de sélection d index 56

Techniques d indexation Index bitmap (index binaire) Populaire dans les produits OLAP Microsoft SQL server, Sysbase IQ, Oracle 8i Un vecteur de bits pour chaque valeur d attribut Opération bit à bit pour l exécution de requêtes Comparaison Jointure Agrégation Plus compact que les B+ arbres (compression) 57

Exemple IdProduit Produit Ville Id1 Clous Lyon Id2 Vis Paris Id3 Clous Paris Id4 Ecrous Lyon 58

Exemple Index binaire sur les produits Id Clous Vis Ecrous Id1 1 0 0 Id2 0 1 0 Id3 1 0 0 Id4 0 0 1 Index binaire sur les villes Id Paris Lyon Id1 0 1 Id2 1 0 Id3 1 0 Id4 0 1 59

Caractéristiques des Bitmaps Les opérations de comparaison, jointure et d agrégation sont réduites à une arithmétique sur les bits, d où un traitement plus efficace La réponse à une requête multidimensionnelle va consister à faire l intersection des vecteurs de bits des diverses dimensions Réduction significative en espace et nombre d accès en mémoire secondaire 60

Bitmap vs. B*Tree Storage Assuming 1,000,000 row table Oracle8 Tuning Manual 61

Paramètres CREATE_BITMAP_AREA_SIZE Determines the amount of memory allocated for bitmap creation. Default is 8MB. If cardinality is small, this value can be reduced significantly. 62

Index de jointure Pré-calcule une opération de jointure Utilisé avec les schémas en étoile Maintient des relations entre Une clé étrangère (identifiant des tables de dimensions) Les clés primaires de la table des faits 63

Index de jointure Index de jointure idlignevente idligneclient idlignearticle v1 c1 a1 v2 c2 a2 v3 c3 a1 Table Vente idligne noclient noarticle datevente montant v1 1 10 10/01/2000 100 v2 2 20 10/01/2000 200 v3 3 10 10/01/2000 500 Table Client idligne noclient nomville c1 1 Montréal c2 2 Ottawa c3 3 Montréal c4 4 Paris Table Article idligne noarticle catégorie a1 10 Conifère a2 20 Conifère a3 40 Conifère a4 50 Feuillu a5 60 Feuillu 64

Jointure en étoile entre table de faits et dimensions SELECT * FROM Vente, Client, Article WHERE Vente.noClient = Client.noClient AND Vente.noArticle = Article.noArticle 65

Bitmap join index A bitmap join index is a bitmap index on one table (usually the fact table) that references columns in other tables (usually the dimension tables) Syntaxe: CREATE BITMAP INDEX sales_cutgender_bjix ON sales (customers.gender) FROM sales, customers WHERE sales.cust_id = customer.cust_id; 66

Exemple d un index de jointure binaire Customer.gender = M Customer.gender = F Sales record1 1 0 Sales record2 0 1 Sales record3 1 0 Sales record4 1 0 Sales record5 1 0 Sales record6 1 0 SELECT sales.time_id, customer.cust_gender, sales.amount FROM sales, customers WHERE sales.cust_id = customer.cust_id; 67

Intérêt des index de jointure binaire CREATE BITMAP INDEX EMPDEPT_IDX ON EMP1(DEPT1.DEPTNO) FROM EMP1, DEPT1 WHERE EMP1.DEPTNO = DEPT1.DEPTNO SELECT /*+ INDEX(EMP1 EMPDEPT_IDX) */ COUNT(*) FROM EMP1, DEPT1 WHERE EMP1.DEPTNO = DEPT1.DEPTNO; COUNT(*) --------------- 14 Elapsed: 00:00:00.67 68

Bitmap Join Index Example 2 EMP5/EMP6 have 2 million rows each with empno indexes on them: create bitmap index emp5_j6 on emp6(emp5.empno) from emp5, emp6 where emp5.empno=emp6.empno; Index created. Elapsed: 00:02:29.91 69

Bitmap Join Index Example 2 select count(*) from emp5, emp6 where emp5.empno=emp6.empno COUNT(*) ------------------- 2005007 Elapsed: 00:01:07.18 70

Bitmap Join Index Example 2 Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE 1 0 SORT (AGGREGATE) 2 1 NESTED LOOPS 3 2 TABLE ACCESS (FULL) OF 'EMP6' 4 2 INDEX (RANGE SCAN) OF 'EMP5I_EMPNO' (NON-UNIQUE) 71

Bitmap Join Index Example 2 FORCE THE USE OF THE BITMAP JOIN INDEX: 1 select /*+ index(emp6 emp5_j6) */ count(*) 2 from emp5, emp6 3* where emp5.empno=emp6.empno COUNT(*) ------------------- 2005007 Elapsed: 00:00:00.87! Same as with small tables! 72

Bitmap Join Index 10,000 Times Faster Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE 1 0 SORT (AGGREGATE) 2 1 BITMAP CONVERSION (COUNT) 3 2 BITMAP INDEX (FULL SCAN) OF 'EMP5_J6' 73

Fragmentation ou Partitionnement 74

What is partitioning? The decomposition of large objects into smaller, more manageable pieces Physical partitioning introduced in Oracle8, although logical partitioning (via partitioned views) has been around for some time Physical partitions have individual, and potentially different, storage attributes Each partition is stored in a separate segment and (optionally) in a separate tablespace 75

La fragmentation Types Fragmentation horizontale : en fonction des tuples Fragmentation horizontale dérivée : partitionner une table en fonction d une autre fragmentée Fragmentation verticale : en fonction des attributs Fragmentation mixte Fragmentation horizontale est bien adaptée aux ED : Partitioning option [Oracle 9i] 76

Partitioning option Entrées : Un schéma en étoile S (F, D 1, D 2,, D n ) Un ensemble de requêtes fréquentes Q Sortie : Un ensemble de sous-schémas en étoile Méthode : Décomposer une (des) table(s) de dimensions en utilisant la fragmentation horizontale Décomposer la table des faits en fonction des tables de dimensions fragmentées 77

Exemple VENTE1 CLIENT1 PRODUIT Age 18 VENTE2 CLIENT2 TEMPS VENTE3 CLIENT3 18 < Age 30 VENTE4 CLIENT4 30 < Age 40 Age > 40 78

Partitioning Support in Oracle8 Oracle supports partitioned tables and indexes. An example of a DDL that creates a partitioned table: CREATE TABLE sales (acct_no NUMBER(5), acct_name CHAR(30), amount_of_sale NUMBER(6), week_no INTEGER) PARTITION BY RANGE (week_no) (PARTITION sales1 VALUES LESS THAN (4) TABLESPACE ts0, PARTITION sales2 VALUES LESS THAN (8) TABLESPACE ts1,... PARTITION sales13 VALUES LESS THAN (52) TABLESPACE ts12) 79

Partition Joins Oracle8i Prior to 8i, Oracle would join partitioned tables by joining the entire tables together. In Oracle9i, tables can now be joined by partitions if they are equipartitioned tables (Tables partitioned using the same partition key and same partition break points) 80

List Partitioning 9i create table dept_part (deptno number(2), dname varchar2(14), loc varchar2(13)) partition by list (dname) (partition d1_east values ('BOSTON', 'NEW YORK'), partition d2_west values ('SAN FRANCISCO', 'LOS ANGELES'), partition d3_south values ('ATLANTA', 'DALLAS'), partition d4_north values ('CHICAGO', 'DETROIT')); Table created. 81

Advantages of Partitioning Many database/application environments and situations can benefit from partitioning, including: VLDBs Tight maintenance schedules High availability environments OLAP/DSS environments High I/O throughput requirements Partition transparency 82

Cycle de vie d un entrepôt Planification Spécification des besoins Analyse Conception Construction Déploiement 83

Cycle de vie Spécification des besoins Rassembler clairement et fidèlement les besoins des utilisateurs (décideurs) Clarifier les objectifs spécifiques Comportement de la clientèle, analyse de tendances de prévisions, etc. Énumérer les dimensions Définir l architecture du système (modèle de données), l usage final (rapports, requêtes, outils d analyse et visualisation) 84

Cycle de vie Analyse Développer le schéma de l entrepôt Définir les processus nécessaires à la mise en place de l entrepôt (extraction de données à partir des sources, transformations) Conception (3 niveaux) Conceptuel : mise au point du schéma, définition des métadonnées Logique : adapté aux particularités du serveur de l entrepôt (ROLAP, MOLAP, etc.) Physique: choix d index, vues matérialisées, fragmentation 85

Cycle de vie Construction Développer des programmes d extraction, d épuration et de transformation de données Déploiement Fournir une installation initiale incluant la connexion aux données sources, la synchronisation et la réplication de données Permettre des extensions futures Offrir la formation pour les groupes d intervenants Offrir les divers mécanismes d administration de l ED (reprise, sécurité, performances) Offrir les outils nécessaires à l exploitation des données et à la consultation des méta-données 86

Outils requis Le référentiel Des outils d accès aux BD Des outils d intégration des données des BD vers l ED Des outils de nettoyage de données Le gestionnaire de l entrepôt de données Des outils de réplication 87

Le référentiel Il permet de: Rassembler les méta-données Constituer un seul modèle à travers l organisation Connaître la description des données sources Décrire les transformations nécessaires avant le chargement de l entrepôt (formules de calcul, recodification, etc.) Indiquer la qualité des données, les permissions d accès, dates de rafraîchissement 88

Le référentiel Exemples de méta-données BD sources et leurs contenus Schéma de l entrepôt (tables, vues, index) Dimensions et hiérarchies Requêtes prédéfinies Règles de transformation et de rafraîchissement Profils et groupes d usagers 89

DW- Integration There is no consistency in encoding, naming conventions, among different data sources When data is moved to the warehouse, it is converted. related, equivalent,? Accommodations is_located_in City (1) (1) has_name belongs_to Owner (1) Name Hotels has_name (1) Name (n) has_rating owned_by Owner-Name (1) Rating-Type Schema A Schema B Semantic Heterogeneities Naming Missing Information Constraints

Différentes sources Dans une entreprise, les données peuvent être dans différentes sources hétérogènes Relationnelles Objets Objet-relationnels Fichiers (HTML, XML, etc.) etc. 91

Hétérogénéité des données Source d information Gestion commerciale Gestion marketing Gestion financière, paie Suivi production Fichier mailings Référence nationales Environnement Sysbase/unix SQL server/nt DB2/IBM Oracle/NT Fichier ASCII Document excel 92

Transformation des données Conversion de formats: des formats de la base opérationnelle dans les formats de la base de l entrepôt Convertir / uniformiser les noms des attributs (D-Naiss, Naissance, Date_N, etc.) --> «date_naissance» Uniformiser les valeurs d attributs (1923, 16.10.1923, 16-octobre-23) --> 19231016 Uniformiser les tables de codes internes (1001 = roue, 1002 = cadre, 1003 = guidon, 1004 = pédale,...), substituer par des tables de conversion dans le metadictionnaire. 93

Épuration des données Donnée erronées analyse erronée! Élimination des données erronées ( dirty data ) Plusieurs questions se posent [Moss98] Quelles sont les données que l on doit épurer? Où peut-on faire l épuration? À la source ou plutôt une fois les données chargées dans l entrepôt Comment peut-on mener l opération? À l aide des outils commercialisés ou plutôt à l aide de programmes maison taillé sur mesure 94

Épuration des données Homonymes et synonymes Identifiants multiples pour une même occurrence dans deux BDs distinctes (le client Jean Dupont est identifié par 1000 dans BD1 et 2580 dans BD2) Valeurs manquantes l absence de données peut avoir une signification en soi aucune valeur ne s applique (ex. salaire d un chômeur) valeur inconnue (ex. cause de décès d un grand-parent) valeur confidentielle (montant de l épargne) 95

Rafraîchissement des données (I) Processus de détection des changements dans les BD sources et propagation de ces changements au niveau de l ED La périodicité dépend des besoins des utilisateurs et des coûts d accès à l ED Deux types de rafraîchissement Statique : à partir de zéro Incrémental : modification du contenu de l ED en fonction uniquement des changements opérés dans les BD depuis la dernière mise à jour 96

Rafraîchissement des données(ii) Outils de propagation des changements Oracle Replication Server, Sybase Replication Server, IBM Data Propagator Plusieurs outils offrent les deux alternatives de rafraîchissement (statique et incrémental) 97

Data Marts A data mart (departmental data warehouse) is a specialized system that brings together the data needed for a department or related applications. OLAP client Queries OLAP client OLAP client Queries Datamart Datamart Middleware Extract Data Queries Central Data warehouse Datamart Datamart Centralized Decentralized

Data marts & EDs Outils d analyse Outils d analyse data mart vues vues data warehouse data mart meta-données dictionnaire modèle de données d entreprise Outils d extraction et consolidation des données 99

Les erreurs à éviter [Barquin97] Démarrer le projet sans la bénédiction des personnes clés dans l entreprise Placer la barre trop haut Objectifs trop ambitieux lors de la phase de l élaboration de l ED Frustration des membres de l exécutif lorsque les objectifs ne sont pas atteints Adopter un comportement politiquement naïf L ED va aider les gestionnaires à prendre de meilleures décisions 100

Les erreurs à éviter [Barquin97] Charger l ED avec trop d information Simplement parce qu elle est disponible dans les BD La conception d un ED est identique à celle d une BD!! Sous-estimer les besoins en performance et en capacité d expansion Choisir comme gestionnaire d ED une personne davantage orientée vers la technologie que vers les usagers 101

Conclusion : forces et faiblesses L un des principaux facteurs ayant contribué au succès de certaines grandes entreprises (Wal-Mart, Coca Cola) est la mise en place d ED Croissance accélérée au niveau du marché d ED Technologie encore immature mais en plein développement Confluence de plusieurs technologies : bases de données, analyses statistiques sophistiquées, prospection de données,.. Mise en œuvre complexe et longue 102

Principaux produits Informix IBM DB2 Data warehouse OLAP Microsoft SQL Server 2000 Data analysis Services OLAP Oracle Express 103

Tendances Selon une étude menée par META group* (1998-99), les systèmes les plus répandus sont: SGBD pour les ED: Oracle suivi de Microsoft SQL Server Produit OLAP: Essbase (Hyperion) suivi de PowerPlay (Cognos) puis de DSS Suite (MicroStrategy) Outils de conception (CASE): Designer 2000 (Oracle) suivi de Erwin (Platium/Logic Works) Outils query/reporting: Access, Excel, Business Objects, Reports (Oracle), etc. Outils de data mining: Data mining/enterprise Miner (SAS) suivi de SPSS Product * META Group is a leading research and consulting firm, focusing on information technology 104