Académique Documents
Professionnel Documents
Culture Documents
• Emails
❑ Email de l’USTHB : kboukhalfa@usthb.dz
❑ Kamelboukhalfa@yahoo.fr
❑ CV
❑ Cloud Computing
❑ Fouille de données
❑ DBAAS, Systèmes de stockage hybride,
❑ Big Data
LES ENTREPOTS DE DONNEES - Data Warehouse 3 LES ENTREPOTS DE DONNEES - Data Warehouse 2
PLAN
Laboratoire des Systèmes Informatiques
Université des sciences et de la Technologie Houari Boumediene
USTHB - Alger
• Entrepôt de données
• Architecture des ED
LES ENTREPOTS DE DONNEES - Data Warehouse 7 LES ENTREPOTS DE DONNEES - Data Warehouse 8
Le Décisionnel Problématique
❑ Les entreprises passent à l'ère de l'information • Comment répondre aux demandes des décideurs?
❑ Défi : Transformer une partie de leur système d'information qui avait une
– En donnant un accès rapide et simple à l’information
vocation de production à un SI décisionnel dont la vocation de pilotage devient
stratégique
majeure.
– En donnant du sens aux données
❑ Un système d'information décisionnel (S.I.D.) est un ensemble de données
❑ Finalité d'un système décisionnel : Mettre en place un système d’information dédié aux
❑ Pilotage de l'entreprise applications décisionnelles:
LES ENTREPOTS DE DONNEES - Data Warehouse 9 LES ENTREPOTS DE DONNEES - Data Warehouse 10
Système d'Info. de Production
Orientation : Gestion
Système d'Info.
Le processus de prise de décision
Flux de Décisionnel Champs d’application des
données
externes Orientation : systèmes décisionnels
BD Pilotage
Fournisseurs BD
Clients
BD
Compta
Entrepôt de
BD Données
DRH
BD
Magasins Temps de prise d’une décision
BD
Marketing
BD
Flux de
données Produits
externes 11 LES ENTREPOTS DE DONNEES - Data Warehouse 12
Introduction Introduction
❑ Pourquoi le data warehouse ? Raisons d’être d’un entrepôt de données
▪ Améliorer les performances décisionnelles de l’entreprise
• Rassembler les données de l’entreprise dans un même lieu
❑ Comment? sans surcharger les BD (systèmes opérationnels)
▪ En répondant aux demandes d’analyse des décideurs
• Permettre un accès universel à diverses sources de données
❑ Exemples et assurer la qualité des données
▪ 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-
• Extraire, filtrer, et intégrer les informations pertinentes, à
l’avance, pour des requêtes ultérieures
ils vraiment intéressants pour moi?
▪ Marketing, actions commerciales: où placer ce produit dans les rayons?
• Dégager des connaissances et faire un apprentissage sur
Comment cibler plus précisément le mailing concernant ce produit?
l’entreprise, le marché et l’environnement
▪Exemple dans le domaine de sécurité ?
LES ENTREPOTS DE DONNEES - Data Warehouse 13 LES ENTREPOTS DE DONNEES - Data Warehouse 14
C’est quoi un entrepôt de données? Les 4 caractéristiques des data warehouse
❑ Industrie (Inmon 1992)
1. Données orientées sujet:
• Collection de données orientées sujets
– Regroupe les informations des différents métiers
• Consolidées dans une base de données unique
• Non volatiles et historisées variant dans le temps – Ne tiens pas compte de l’organisation fonctionnelle
Sujets
Client
LES ENTREPOTS DE DONNEES - Data Warehouse 15 LES ENTREPOTS DE DONNEES - Data Warehouse 16
Les 4 caractéristiques des data warehouse Intégration de données
2. Données intégrées:
– Normalisation des données
– Définition d’un référentiel unique
h,f
1,0 h,f
homme, femme
GBP
EUR
CHF
USD
LES ENTREPOTS DE DONNEES - Data Warehouse 17 LES ENTREPOTS DE DONNEES - Data Warehouse 18
Les 4 caractéristiques des data warehouse Les 4 caractéristiques des data warehouse
Inconvénients
LES ENTREPOTS DE DONNEES - Data Warehouse 23 LES ENTREPOTS DE DONNEES - Data Warehouse 24
Architecture générale Les flux de données
• Flux entrant
Zone de
Zone de préparation Zone de stockage présentation
– Extraction: multi-source, hétérogène
C
E H – Transformation: filtrer, trier, homogénéiser, nettoyer
X
A
T Transformations: Requêtes
R Data – Chargement: insertion des données dans l’entrepôt
R Nettoyage Rapports
A G warehouse
Standardisation Visualisation
C E
… Data Mining
T M
…
• Flux sortant
I E
O N
N T
Datamart – Mise à disposition des données pour les utilisateurs finaux
Sources de
données
LES ENTREPOTS DE DONNEES - Data Warehouse 25 LES ENTREPOTS DE DONNEES - Data Warehouse 26
Les différentes zones de l’architecture Processus ETL (Extracting – Transforming – Loading )
• Zone de préparation (Staging area)
Le principe de l'entreposage des données est de rassembler de
– Zone temporaire de stockage des données extraites
– On y transfère les données nettoyées de dictionnaire (ou de référentiel) et qui seront mémorisées sous
– Stockage permanent des données forme de métadonnées (information sur les données).
• Zone de présentation
LES ENTREPOTS DE DONNEES - Data Warehouse 27 LES ENTREPOTS DE DONNEES - Data Warehouse 28
ETL ETL
L'alimentation d'un ED est un processus qui s'effectue en plusieurs
Un système ETL est tout système qui permet :
étapes :
❑ d'offrir un environnement de développement, des outils de gestion des opérations
❑Sélection des données sources
et de maintenance.
❑ de découvrir, analyser et extraire les données à partir de sources hétérogènes; ❑Extraction des données
❑ de nettoyer et standardiser les données selon les règles d'affaires établies par
l'entreprise; ❑Transformation
❑ de charger les données dans un entrepôt de données dans et/ou les propager
❑Chargement
vers les data-marts.
LES ENTREPOTS DE DONNEES - Data Warehouse 29 LES ENTREPOTS DE DONNEES - Data Warehouse 30
Sélection des données sources Sélection des données sources (suite)
• Quelles sont les données de production qu'il faut sélectionner pour La sélection des données utiles à partir des BD de production n'est
pas simple à faire .
alimenter l'ED ?
Les données sont :
• Toutes les données sources ne sont forcément pas utiles.
• hétérogènes (différents SGBD et différentes méthodes d'accès);
• Doit-on prendre l'adresse complète ou séparer le code postal ?
• diffuses (différents environnements matériels et différents réseaux
• Les données sélectionnées seront réorganisées pour servir à la interconnectés ou non);
fabrication des informations. • complexes (différents modèles logiques et physiques principalement orientés
vers les traitements transactionnels).
• La dénormalisation des données crée des liens entre les données et
• La définition de la granularité dépend du niveau de raffinement de
permet des accès différents l'information qu'on veut obtenir.
LES ENTREPOTS DE DONNEES - Data Warehouse 31 LES ENTREPOTS DE DONNEES - Data Warehouse 32
Sélection des données sources (suite) Extraction des données
Il existe plusieurs niveaux de données :
❑ L'extraction peut se faire à travers un outil d'alimentation qui
❑ Les données sont parfois assemblées avant d'être injectées dans l'ED doit travailler de façon native avec les SGBD qui gèrent les données
permettant une vision intégrée et transversale de l'entreprise.
sources.
❑ Cette forme de données constitue le niveau le plus fin au niveau de l'ED
: ceux sont les données de détail. Elles peuvent être agrégées et
constituent ainsi un autre niveau de détail. ❑ Ou alors créer des programmes extracteurs. L'inconvénient de
❑ Elles seront par la suite structurées dans des espaces d'analyse (soit des cette approche est le risque de faire des extractions erronées,
cubes de données, soit des data marts). incomplètes et qui peuvent biaiser l'ED.
❑ Elles seront finalement à un niveau de présentation, où elles peuvent
avoir plusieurs formes (tableaux, graphiques, tableaux de bord, règles de
connaissances...). ❑ Il faut gérer les anomalies en les traitant et en gardant une trace
LES ENTREPOTS DE DONNEES - Data Warehouse 33 LES ENTREPOTS DE DONNEES - Data Warehouse 34
Extraction des données Transformation
❑ L'extraction doit se faire conformément aux règles précises du
référentiel.
C'est une suite d'opérations qui a pour but de rendre les
❑ Elle ne doit pas non plus perturber les activités de production.
données cibles homogènes et puissent être traitées de façon
cohérente.
❑ Il faut faire attention aux données cycliques. Celles qu'on doit calculer
à chaque période, pour pouvoir les prendre en considération. Exemple
LES ENTREPOTS DE DONNEES - Data Warehouse 35 LES ENTREPOTS DE DONNEES - Data Warehouse 36
Transformation Transformation
❑ Les données doivent alors filtrées afin d'éliminer les données aberrantes:
❑L'ensemble des données sources, après nettoyage ou
données sans valeurs, avec des valeurs manquantes.
transformation d'après des règles précises ou par application de
❑ Souvent dans les bases de production, certaines données sont
sémantiquement fausses. programmes, seront restructurées et converties dans un format
❑ Pour avoir une alimentation de qualité, il faut avoir une bonne cible.
connaissance des données à entreposer et des règles qui les régissent.
❑Il faut synchroniser les données pour que les valeurs agrégées
Savoir corriger les données pour les doter d'un vrai sens sémantique.
obtenues soient cohérentes, avant de passer à la phase de
chargement.
LES ENTREPOTS DE DONNEES - Data Warehouse 37 LES ENTREPOTS DE DONNEES - Data Warehouse 38
Data Cleaning Chargement
❑ Valeurs manquantes (nulles) ❑ C'est l'opération qui consiste à charger les données
– Ignorer le tuple
nettoyées et préparées dans le DW.
– Remplacer par une valeur fixe ou par la moyenne
❑ Valeurs erronées ou inconsistantes ❑ C'est une opération qui risque d'être assez longue. Il faut
– Générées en présence de bruits
mettre en place des stratégies pour assurer de bonnes
– Détecter par une analyse de voisinage
• Écart par rapport à la moyenne
conditions à sa réalisation et définir la politique de
• Factorisation en groupes
rafraîchissement.
– Remplacer par une valeur fixe ou par la moyenne
❑ C'est une phase plutôt mécanique et la moins complexe.
❑ Inspection manuelle de certaines données possible
LES ENTREPOTS DE DONNEES - Data Warehouse 39 LES ENTREPOTS DE DONNEES - Data Warehouse 40
Chargement Catégories des systèmes d'ETL
❑ Le dictionnaire (ou référentiel) de données est constitué de
Il existe trois catégories d'outils ETL :
l'ensemble des métadonnées.
1. Engine-based : les transformations sont exécutées sur un serveur ETL,
❑ Il renferme des informations sur toutes les données de l'ED.
disposant en général d'un référentiel. Ce genre d'outil dispose d'un moteur
❑ Il renferme également des informations sur chaque étape de transformation ;
lors de la construction du DW ; sur le passage d'un niveau de
données à un autre lors de l'exploitation du DW. 2. Database-embedded : les transformations sont intégrées dans la BD ;
• Le rôle des métadonnées est de permettre :
o La définition des données 3. Code-generators : les transformations sont conçues et un code est
o La fabrication des données
o Le stockage des données généré. Ce code est déployable indépendamment de la base de données.
o L'accès aux données
o La présentation des données.
LES ENTREPOTS DE DONNEES - Data Warehouse 41 LES ENTREPOTS DE DONNEES - Data Warehouse 42
Catégories des systèmes d'ETL Catégories des systèmes d'ETL
Avantages des suites ETL : Avantages des suites ETL (suite) :
✓ Le référentiel de méta-data des outils ETL peut produire automatiquement des rapports de
✓ Développement simple, rapide et moins coûteux. Les coûts de l'outil seront amortis
rapidement pour les projets sophistiqués ou de grandes envergures. mise en correspondance des données et d'analyse de dépendance de données
✓ Des ressources disposant de connaissances du domaine d'affaire et n'ayant pas de ✓ Les outils ETL disposent de connecteurs intégrés pour la plupart des sources de données.
grandes compétences en programmation peuvent développer avec l'outil. Ils permettent aussi d'effectuer des conversions complexes de types de données (selon la
source et la destination)
✓ Les outils ETL intègrent des référentiels de gestion des méta-data, tout en permettant de
synchroniser les méta-data avec les systèmes sources, les BDs de l'ED et autres outils BI.
✓ Les outils ETL offrent des mécanismes de cryptage de compression en ligne de données
✓ Les outils ETL permettent la génération automatique du méta-data à chaque étape du
✓ La plupart des outils ETL offre une très bonne performance même pour une grande
processus ETL et renforcent la mise en place d'une méthodologie commune de gestion de
méta-data qui doit être respectée par tous les développeurs. quantité de données.
✓ Les outils ETL disposent de programme intégré qui permet de faciliter la documentation, la ✓ Un outil ETL peut, le cas échéant, gérer des scénarios d'équilibrage de la charge entre les
création et la gestion de changement. L'outil ETL doit bien gérer les dépendances complexes
serveurs.
et les erreurs qui peuvent surgir en cours d'exécution.
✓Un outil ETL peut être complété ou amélioré en utilisant le scripting ou la programmation.
LES ENTREPOTS DE DONNEES - Data Warehouse 43 LES ENTREPOTS DE DONNEES - Data Warehouse 44
Catégories des systèmes d'ETL Administration d'un ED
Avantages des ETL-Maison : ❑ L'ED est un aspect physique du SI de l'entreprise. Il doit être par conséquent
évolutif. Les données doivent donc changer. On doit procéder à d'autres
✓Les outils de tests unitaires automatique sont disponibles seulement pour les outils alimentations et donc gérer l'actualisation des données.
développé maison.
❑ Il existe des outils qui prennent en charge les tâches de rafraîchissement des
✓Les techniques de programmation orientée objet permettent de rendre consistantes la
données.
gestion des erreurs, la validation et la mise à jour des méta-data.
✓Il est possible de gérer manuellement les méta-data dans le code et de créer des interfaces ❑ Ils procèdent par réplication pour propager les maj effectuées dans les BD
pour la gestion de ces dernières sources, dans l'ED.
✓.Disponibilité des programmeurs dans l'entreprise. ❑ Le mécanisme de réplication et une opération de copie de données d'une BD
vers une ou plusieurs BD.
✓ Un outil ETL est limité aux capacités du fournisseur.
✓ Un outil ETL est limité à l'outil de scripting propriétaire. ❑ Les réplications sont alors synchrones ou asynchrones.
✓Un outil développé maison donne une grande flexibilité et si le besoin se présente. Il est ❑ Le rafraîchissement des données peut se faire également par des processus
possible de tout faire. de transformation qui exploitent les méta-données.
LES ENTREPOTS DE DONNEES - Data Warehouse 45 LES ENTREPOTS DE DONNEES - Data Warehouse 46
Administration d'un ED (suite) Administration d'un ED (suite)
❑ La fonction d'administration porte sur un aspect fonctionnel (qualité et la
pérennité des données) mais aussi sur un aspect technique (maintenance,
optimisation, sécurisation,...)
❑ La fonction de DBA est très recherchée
❑ Elle concerne l'ensemble des tâches du processus d'entreposage de la ❑ Les DBA sont bien rémunérés (mieux que les développeurs)
sélection des données de production à la mise à disposition pour construire les
espaces d'analyse.
❑ Les compétences demandées chez les DBA :
❑ L'administrateur de l'ED doit maîtriser la gestion des données (données, ❑ Data warehousing (très recherché)
provenance des données, méta-données).
❑ Services de transformation des données (ETL)
❑ Les données agrégées sont aussi une production (information) de l'entreprise
comme les données de production, doivent être entreposées. ❑ Environnement de réplication
LES ENTREPOTS DE DONNEES - Data Warehouse 47 LES ENTREPOTS DE DONNEES - Data Warehouse 48
Rôles et responsabilités Rôles et responsabilités (suite)
3. Développeur ETL
1. Gestionnaire ETL
❑ Développer les routines ETL.
❑ Gérer quotidiennement l'équipe ETL.
❑ Tester les routines ETL.
❑ Définir les standards et procédures de l'environnement de développement ETL
❑ S'assurer que les résultats du processus ETL répondent aux besoins d'affaire
(Règles de nomenclature, Meilleures pratiques…)
(Collaboration étroite avec l'architecte ETL)
❑ Superviser le développement, les tests et l'assurance qualité
4. Analyste système
2. Architecte ETL
❑ Rassembler des besoins d'affaire.
❑ Concevoir l'architecture et l'infrastructure de l'environnement ETL.
❑ Documenter les besoins d'affaire.
❑ Concevoir le mappage logique de données.
❑ Travailler en collaboration avec toute l'équipe du DW (Non seulement celle du
❑ Livrer les routines ETL en production.
système ETL).
❑ Appréhender les besoins d'affaire.
❑ Connaître les systèmes source.
❑ Résoudre les problèmes techniques complexes.
LES ENTREPOTS DE DONNEES - Data Warehouse 49 LES ENTREPOTS DE DONNEES - Data Warehouse 50
Rôles et responsabilités (suite) Exploitation de l’entrepôt
5.Spécialiste qualité de données
❑ Business Intelligence:
❑ S'assurer de la qualité des données dans l'entrepôt de données en • Possibilité de visualiser et d’exploiter une masse
entier. importante de données complexes
❑ S'assurer que les règles d'affaire sont bien implantées par les processus
❑ Trois principaux outils:
ETL (en collaboration avec l'analyste système et l'architecte ETL)
• OLAP :On-Line Analytical Processing
6.DBA
• Data mining: fouille de données
❑ Installer, configurer, migrer et maintenir la base de données. • Formulation de requêtes et visualisation des résultats
❑ Traduire le modèle logique de données en modèle physique.
LES ENTREPOTS DE DONNEES - Data Warehouse 51 LES ENTREPOTS DE DONNEES - Data Warehouse 52
Architecture d’un entrepôt de données Domaines d’applications
❑ Souvent une architecture trois-tiers ❑ Banque, Assurance
• Serveur d’entrepôt (“Warehouse Database Server”) • Détermination des profils client (prêt, …)
• Très souvent un système relationnel (ex. Oracle) ❑ Commerce
• Ciblage de clientèle
• Serveur OLAP (“OLAP Server”) de type ROLAP,
MOLAP, ou HOLAP • Compagnies de grande production
• Aménagement des rayons (2 produits en corrélation)
• Clients
• Outils de requêtes et de production de rapports ❑ Compagnies téléphoniques
• Outils d’analyse et de prospection de données ❑ Santé
LES ENTREPOTS DE DONNEES - Data Warehouse 53 LES ENTREPOTS DE DONNEES - Data Warehouse 54
Base de données vs. Entrepôt de donnée SGBD et DW
H
I
❑ La nécessité de combiner des données provenant de diverses sources, d’effectuer Data Warehouse S
T
des agrégations dans un ED et d’offrir des vues multidimensionnelles OLAP: On-Line O
R
Analitical Clientèle I
❑ Les données d’un ED sont souvent non volatiles et ont donc une plus longue Processing Q
U
durée de vie que celles d’une BD E
LES ENTREPOTS DE DONNEES - Data Warehouse 55 LES ENTREPOTS DE DONNEES - Data Warehouse 56
OLTP VS DW Cycle de vie de l’entrepôt de données
OLTP DW
Orienté transaction Orienté analyse ANALYSE
LES ENTREPOTS DE DONNEES - Data Warehouse 57 LES ENTREPOTS DE DONNEES - Data Warehouse 58
Cycle de vie Cycle de vie
❑ Spécification des besoins ❑ Analyse
• Développer le schéma de l’entrepôt
• Rassembler clairement et fidèlement les besoins des
• Définir les processus nécessaires à la mise en place de l’entrepôt
utilisateurs (décideurs) (extraction de données à partir des sources, transformations)
❑ Déploiement
• Fournir une installation initiale incluant la connexion aux données
sources, la synchronisation et la réplication de données
❑ Le critère temps ❑ Quelles sont les composantes des machines de production ayant eu le plus
LES ENTREPOTS DE DONNEES - Data Warehouse 64 LES ENTREPOTS DE DONNEES - Data Warehouse 66
Récapitulatif OLAP
Base de données Entrepôt de données
❑ Traitement analytique interactif (Codd) typique
Opération ▪ Gestion courante ▪ Support à la décision
dans les systèmes informationnels
Modèle ▪ Entité association ▪ Etoile, flocon de neige
• Exemple: Commandes, achats, réclamations, produits, clients,... • Représentation de l’information dans un hyper
cube à N dimensions
❑ Mesures/faits
• Fonction numérique qui peut être évaluée en tout point du data ❑ Opérations OLAP
cube en agrégeant les données correspondant à ce point • Fonctionnalités qui servent à faciliter l’analyse
multidimensionnelles: opérations réalisables sur l’hyper cube
• Mesure d’activité (critère d’analyse)
• Exemple: Chiffre d’affaire, nombre de ventes, gain
LES ENTREPOTS DE DONNEES - Data Warehouse 69 LES ENTREPOTS DE DONNEES - Data Warehouse 70
Exemple d’un cube de données Vue multidimensionnelle des données
❑ Le volume des ventes (mesure) en fonction de : Produit, Temp et
Produits Région Localisation (Dimension)
Voiture Dimensions: Produit, Région, Temps
Est
Camion
95 100 120 60 76 130
Ouest
Bus
110 70 102 110
Hiérarchie des dimensions
125 130
120 90 10 120
120 110 90
Centre Pays Année
100 20 100 120 120 95
LES ENTREPOTS DE DONNEES - Data Warehouse 71 LES ENTREPOTS DE DONNEES - Data Warehouse 72
Comment stocker le cube de données Modèle ROLAP
❑ ROLAP: Relational On-Line Analytical Processing ❑ Exploiter l’expérience des modèles relationnels
• Les données sont stockées comme des tables relationnelles: (un grand succès!!)
une table de faits et des tables de dimension
❑ Il faut des modèles bien adaptés aux ED!
❑ MOLAP: Multidimensional On-Line Analytical
• Schéma en étoile (star schema)
Processing
• Schéma en flocon de neige (snowflake schema)
• le cube de données est stocké sous forme d’un tableau multi-
dimensionnel. • Schéma en constellation
LES ENTREPOTS DE DONNEES - Data Warehouse 73 LES ENTREPOTS DE DONNEES - Data Warehouse 74
Modèle en étoile Schéma en étoile
Table de dimension
❑ Autant de tables de dimension qu’il existe de
Table de dimension
Temps Produit
CID
dimension et des mesures Nom
100 000 000 n-uplets
MID
Nom
Genre Ville
• Exemple Ville Adresse
Age
o Montant en dollars, nombre d’unités vendues 3 000 000 n-uplets 500 n-uplets
LES ENTREPOTS DE DONNEES - Data Warehouse 75 LES ENTREPOTS DE DONNEES - Data Warehouse 76
Requête type Avantages & Inconvénients
Requête de Jointure en étoile :
SELECT P.Marque, sum(dollars_sold),
sum(units_sold)
+ Simple
FROM Ventes V, PRODUIT P, TEMPS T
WHERE V.PID = P.PID (Jointure)
AND V.TID = T.TID (Jointure) + Le plus utilisé !!!
AND T.Trimestre = ‘T1’ (Sélection) PRODUIT
GROUP BY P.Marque PID
ORDER BY P.Marque Description
Marque
TEMPS
VENTES
Catégorie
Type_Paquet
- Possibilité de redondance car les tables de
TID
Jour
TID
PID
300000 tuples dimension ne sont pas nécessairement
Requêtes de jointure en étoile
• Plusieurs jointures
Mois
Trimestre
MID
Dollars_sold
MAGASIN
MID
normalisées
Année Units_sold
Nom
• Suivies par des sélection 1094 tuples Ville
100000000 tuples Adresse
1200 tuples - Taille de dimensions plus grosse
LES ENTREPOTS DE DONNEES - Data Warehouse 77 LES ENTREPOTS DE DONNEES - Data Warehouse 78
Modèle en flocon de neige Exemple d’un modèle en flocon de neige
Hiérarchie de dimension
LES ENTREPOTS DE DONNEES - Data Warehouse 79 LES ENTREPOTS DE DONNEES - Data Warehouse 80
Définition d’un schéma en étoile avec DMQL Définition d’un schéma snowflake avec DMQL
define cube ventes_star [Temps, Produit, Client]
define cube ventes_snowflake [temps, item, branche, lieu]
Montant_vente = sum(somme),
Montant_vente = sum(somme), Mesures
moyenne_vente = avg(somme), Mesures
unités_vendues = count(*) Dimensions
moyenne_vente = avg(somme),
Dimensions define dimension item as (Id_item, nom_item, marque, type,
unités_vendues = count(*) fournisseur(Id_fournisseur, type_fournisseur))
LES ENTREPOTS DE DONNEES - Data Warehouse 81 LES ENTREPOTS DE DONNEES - Data Warehouse 82
MOLAP: Représentation Tableaux ROLAP vs. MOLAP
Avantages Inconvénients
Temps Trimestre 1 Trimestre 2 Trimestre 3 Trimestre 4 Total
Produit Ville P N Total P N Total P N Total P N Total P N Total ▪ Standard bien établi
▪ Absence de vue conceptuelle
TV LCD 12 34 46 22 36 58 24 37 61 33 55 88 91 162 253 ▪ Efficace pour le transactionnel
ROLAP ▪ SQL peut être inadéquat pour
Lecteur DVD 29 66 95 44 50 94 56 55 111 44 39 83 173 210 383 ▪ Capacité d’expansion (téra-
la formation de tableaux croisés
Caméoscope 55 34 89 69 27 96 31 26 57 68 70 138 223 157 380
octet)
Total 96 134 230 135 113 248 111 118 229 145 114 309 487 529 1016
▪ Inadéquat pour le
transactionnel
▪ Implémentation souvent plus
Répartition des ventes par produit, temps et ville MOLAP ▪ Capacité d’expansion limitée
performante que ROLAP
P : Poitiers, N : Nantes (dizaine de géga-octet)
▪ Absence de standard
LES ENTREPOTS DE DONNEES - Data Warehouse 83 LES ENTREPOTS DE DONNEES - Data Warehouse 84
Serveurs ROLAP [Microstrategy] Serveurs MOLAP
LES ENTREPOTS DE DONNEES - Data Warehouse 85 LES ENTREPOTS DE DONNEES - Data Warehouse 86
Hybrid OLAP Opérations de base OLAP
❑Roll-up (ou drill-up)
❑ HOLAP combine ROLAP et MOLAP
❑Drill-down
❑ Les données sont partitionnées en deux sous-ensembles
❑Slice & dice
❑Données non fréquentes sont stockées comme tables relationnelles
LES ENTREPOTS DE DONNEES - Data Warehouse 87 LES ENTREPOTS DE DONNEES - Data Warehouse 88
Optimisation des requêtes
❑ Caractéristiques des entrepôts
❑ Index
• Structures permettant d'associer à une clé d’un n-uplet
l'adresse relative de cet n-uplet
❑ Traitement parallèle
❑ Groupement
❑ Fragmentation
LES ENTREPOTS DE DONNEES - Data Warehouse 95 LES ENTREPOTS DE DONNEES - Data Warehouse 96
Vues matérialisées Exemple
❑ Exigence de ressources:
• Espace disque CREATE MATERIALIZED VIEW VUE1
• Coût de maintenance (rafraîchissement des données) ENABLE QUERY REWRITE
• Coût de calcul AS
SELECT *
·Impossibilité de matérialiser toutes les vues FROM Vente, Client, Article
WHERE Vente.noClient = Client.noClient AND
❑ Problème de Sélection des Vues (PSV): Vente.noArticle = Article.noArticle
- Fonction « objectif »:
Optimiser le coût d’exécution des requêtes ou Optimiser le coût
de maintenance
LES ENTREPOTS DE DONNEES - Data Warehouse 97 LES ENTREPOTS DE DONNEES - Data Warehouse 98
Maintenance des vues matérialisées Réécriture des requêtes
❑ Processus de réécriture:
❑ Vues matérialisées sont calculées à partir des • Après le processus de sélection des vues, toutes les requêtes
sources (tables) définies sur l’entrepôt doivent être réécrites en fonction des vues
❑ Mise à jour des sources implique la mise à jour des ❑Sélectionner la meilleure réécriture pour une requête est
vues une tâche difficile.
LES ENTREPOTS DE DONNEES - Data Warehouse 99 LES ENTREPOTS DE DONNEES - Data Warehouse 100
Index avancés Classification des Index
❑ Index populaires dans les entrepôts:
• Index simple: sur une seule table ou une seule vue (arbre B, Index
index binaire, index de projection)
LES ENTREPOTS DE DONNEES - Data Warehouse 101 LES ENTREPOTS DE DONNEES - Data Warehouse 102
Techniques d’indexation Principe de l’index bitmap
❑Index bitmap (index binaire) • Soit un attribut A, ayant prenant n valeurs possibles [v 1, …,vn] (domaine)
❑ Opération bit à bit pour l’exécution de requêtes Table Employé Index binaire sur l’attribut Fonction
… A4 50 Jouet
2
1
55
66
Mai
Juin
2003
2003
Ventes
A5 60 Jouet
LES ENTREPOTS DE DONNEES - Data Warehouse 105 LES ENTREPOTS DE DONNEES - Data Warehouse 106
Caractéristiques des Bitmaps Intérêt des index de jointure binaire
CREATE BITMAP INDEX EMPDEPT_IDX ON
❑ Les opérations de comparaison, jointure et d’agrégation sont
EMP1(DEPT1.DEPTNO)
réduites à une arithmétique sur les bits, d’où un traitement plus
FROM EMP1, DEPT1
efficace
WHERE EMP1.DEPTNO = DEPT1.DEPTNO
❑ La réponse à une requête multidimensionnelle va consister à SELECT /*+ INDEX(EMP1 EMPDEPT_IDX) */ COUNT(*)
faire l’intersection des vecteurs de bits des diverses dimensions FROM EMP1, DEPT1
WHERE EMP1.DEPTNO = DEPT1.DEPTNO;
mémoire secondaire 14
Elapsed: 00:00:00.67
LES ENTREPOTS DE DONNEES - Data Warehouse 107 LES ENTREPOTS DE DONNEES - Data Warehouse 108
Bitmap Join Index Example 2 Bitmap Join Index Example 2
Deux tables EMP5/EMP6 ayant 2 million
d’instances chacune, empno est la clé étrangère
select count(*)
from emp5, emp6
create bitmap index emp5_j6 on where emp5.empno=emp6.empno
emp6(emp5.empno) from emp5, emp6
where emp5.empno=emp6.empno;
COUNT(*)
Elapsed: 00:01:07.18
LES ENTREPOTS DE DONNEES - Data Warehouse 109 LES ENTREPOTS DE DONNEES - Data Warehouse 110
Bitmap Join Index Example 2 Bitmap Join Index Example 2
FORCER L’UTILISATION DE L’INDEX
Plan d’exécution
select /*+ index(emp6 emp5_j6) */ count(*)
0 SELECT STATEMENT Optimizer=CHOOSE from emp5, emp6
2 1 NESTED LOOPS
COUNT(*)
3 2 TABLE ACCESS (FULL) OF 'EMP6'
2005007
4 2 INDEX (RANGE SCAN) OF 'EMP5I_EMPNO' (NON-UNIQUE) Elapsed: 00:00:00.87! Comme avec les tables de petites tailles!
LES ENTREPOTS DE DONNEES - Data Warehouse 111 LES ENTREPOTS DE DONNEES - Data Warehouse 112
Bitmap Join Index - 10,000 plus rapide Selection of BJI : Formalization
Plan d’exécution INPUT
❑ Fact Table F
0 SELECT STATEMENT Optimizer=CHOOSE ❑ Workload of frequently queries Q
❑ Storage Space S
1 0 SORT (AGGREGATE) OUTPUT
Datamining Algorithms
❑ Close [Aouiche & al. 05] Pruning Search Space
Select One BJI ❑ Dynaclose [Bellatreche & al. 07]
Construction of finale
configuration
Select More Than One
BJI
Final Configuration
LES ENTREPOTS DE DONNEES - Data Warehouse 115 LES ENTREPOTS DE DONNEES - Data Warehouse 116
Our approach : Single attribute BJI Our approach : Multiple Attributes BJI
❑ Workload
❑ Workload ❑ Storage Space
❑ Storage Space
Fragmentation horizontale
Fragmentation verticale
Fragmentation mixte
LES ENTREPOTS DE DONNEES - Data Warehouse 122 LES ENTREPOTS DE DONNEES - Data Warehouse 123
Types de fragmentation Types de fragmentation
Fragmentation horizontale
Fragmentation verticale
– Décomposer les objets en un ensemble de lignes (instances)
– Décomposer les objets en un ensemble de colonnes (attributs).
A1 A2 A3 A4 A5 A1 A2 A3 A4 A5
Attributs I1
I2
I2
I3
A1 A2 A3 A4 A5
I4 I4
I5
I1 I8
I6
I7
I2
A1 A2 A3 A4 A5 I8
I3 I9
I10
I1
I4
Instances
I5
I5
I6
I6
I7
A1 A4
A1 A2 A3 A4 A5
I8 I1 A1 A2 A1 A3 A5
I2 I1 I1
I9 I3 I3 I2 I2
I4 I3 I3
I9
I10 I5 I4 I4
I6 I5
I5
I7 I6
I6
A1 A2 A3 A4 A5 I8 I7
I7
I9 I8
I8
I9
I7 I10
I9
I10
I10
I10
LES ENTREPOTS DE DONNEES - Data Warehouse 124 LES ENTREPOTS DE DONNEES - Data Warehouse 125
Types de fragmentation Types de fragmentation
Fragmentation mixte Fragmentation mixte
❑ Horizontale suivie d’une verticale. ❑ Verticale suivie d’une horizontale
A1 A2 A3 A4 A5 A1 A2 A3 A4 A5
A1 A2 A3 A4 A5
I1
I1 I1
I5 I2
I2
I6
I3
I3 A1 A2 A3 A4 A5
I4
I2
I4
I5
I4
I5 I8 I6
I6 I7
A1 A2 A3 A4 A5
A1 A4 A1 A2 A1 A3 A5
I7 I3 I8
I2 I2 I2
I9
I9
I8 I4 I4 I4
A1 A2 A3 A4 A5 I10
I9 I8 I8 I8
I7
I10
I10
A1 A4 A1 A2 A1 A3 A5
I3 I3 I3
A1 A4 A1 A2 A1 A3 A5
I9 I9 I9
I1 I1 I1
I5 I5 I5
A1 A4 A1 A2 A1 A3 A5
I6 I6 I1 I1 I1
A1 A4 A1 A2 A1 A3 A5
I6
A1 A2
I2 I2 I2 I7 I7 I7
A1 A4 A1 A3 A5
I2 I2
I2
I3 I3 I3
I10 I10 I10
I4 I4
I4 I4 I4 I4
I8
I8
I8
I5 I5 I5
A1 A4
A1 A2 I6 I6 I6
A1 A3 A5
I3 A1 A4 A1 A2 A1 A3 A5
I3 I7 I7 I7
I3
I9
I9
I9 I8 I8 I8 I1 I1 I1
A1 A2 I9 I9 I9
A1 A4
I7 A1 A3 A5
I5 I5 I5
I7 I10 I10 I10
I10 I7
I10 I6 I6 I6
I10
LES ENTREPOTS DE DONNEES - Data Warehouse 126 LES ENTREPOTS DE DONNEES - Data Warehouse 127
Fragmentation Horizontale Primaire et dérivée (I) Fragmentation Horizontale Primaire et dérivée (II)
Fragmentation horizontale primaire (FHP) Fragmentation horizontale dérivée (FHD)
– Fragmenter une table en utilisant les prédicats de sélection définis – Fragmenter une table (S) selon des attributs d’une autre table (T) :
sur cette table (existence de lien entre S et T)
Prédicat : Attribut Valeur, {=,<, , >, ,} et valeur Domaine(Attribut).
− Ventes(Client_id, Produit_id, Date, Montant)
Client1 Ventes1
– Exemple: Client (Client_id, Nom, Ville) − Ventes1=Ventes Client1
− Client1 : Ville=‘ Alger’(Client)
Client1
− Ventes2=Ventes Client2 Algérois
Client
Algérois
− Client2 : Ville=‘Béchar’(Client) Client2 Ventes2
Impact de la FHD sur les requêtes Béchariens
Impact de la FHP sur les requêtes Client2
– Optimisation des sélections Béchariens – Optimisation de la jointure entre S et T
Serveur
Select
From Select
Where Serveur From
Where
Requête Fragment
Pertinent
Utilisateur Requête
Utilisateur Résultat local
Fragment
Pertinent
Résultat local
Résultat Résultat
Fragment non
Pertinent
LES ENTREPOTS DE DONNEES - Data Warehouse 130 LES ENTREPOTS DE DONNEES - Data Warehouse 131
Intérêt de la fragmentation horizontale(III) Exemple d’ajout de données
Améliorer la manageabilité
Fragmentation horizontale préserve le schéma logique Alimentation hebdomadaire d’une table
• Toutes les opérations se font au niveau partition – L’administrateur partitionne sa table par semaine
• Possibilité de manipulation individuelle ou collective des partitions
– L’alimentation de l’entrepôt consiste alors à ajouter une partition à
Manipuler une partition à la fois.
• Possibilité de définir des index locaux aux partitions la table
• Existences de plusieurs Fonctions de manipulation des partitions – Aucune autre partition ne sera touchée.
Fonction Signification
ADD PARTITION Ajouter une partition à une table déjà fragmentée
COLESCE PARTITION Redistribuer les tuples d’une partition dans les autres partitions
Semaine 1 Semaine 3
DROP PARTITION Supprimer une partition ainsi que son contenu Semaine 5
EXCHANGE PARTITION Convertir une table non fragmentée en une partition d’une autre table et Semaine 2 Semaine 4
inversement
MERGE PARTITION Fusionner deux partitions dans une seule
SPLIT PARTITION Eclater une partition en deux partitions
TRUNCATE PARTITION Vider une partition sans la supprimer
LES ENTREPOTS DE DONNEES - Data Warehouse 132 LES ENTREPOTS DE DONNEES - Data Warehouse 133
Intérêt de la fragmentation horizontale(IV) Améliorer la maintenance et la disponibilité
Améliorer la maintenance et la disponibilité
La manipulation au niveau partition permet Améliorer la maintenance et la disponibilité
• Cibler la maintenance sur certaines partitions La possibilité de stocker les partitions sur des emplacements différents
• Minimiser le temps de maintenance
La possibilité de stocker les partitions sur des emplacements différents
permet
permet • L’effet des pannes de disques est limité
• L’effet des pannes de disques est limité
• Partitions saines toujours disponibles • Partitions saines toujours disponibles
Maintenance
Crash
Partition1 Partition 3
Partition5
Partition2 Partition4
Partition1 Partition 2 Partition 3 Partition 4 Partition6
LES ENTREPOTS DE DONNEES - Data Warehouse 134 LES ENTREPOTS DE DONNEES - Data Warehouse 135
Fragmentation horizontale et index Fragmentation et index
Table non Table non
Index fragmentée
Index fragmentée
Un index peut être défini sur une table fragmentée ou non
Un index défini sur une table fragmentée peut être fragmenté ou non.
Table non fragmentée
Index global
Entrepôts de données et BD
scientifiques
· Conception physique
· Performance
· Manageabilité Approches de fragmentation
· Magasins de données
· Bellatreche 00
10g2000
8 80709i8i?8
2004 Approches basées
prédicats
Approches basées
affinités
Approches basées modèle
de coût
LES ENTREPOTS DE DONNEES - Data Warehouse 138 LES ENTREPOTS DE DONNEES - Data Warehouse 139
138 139
Evolution Académique (II) Evolution Académique (III)
Approches basés prédicats Ensemble de prédicats Approches basées Affinités Ensemble de
P={P1, P2, …, Pn} transactions
T={T1, T2, …,Tn}
❑ Avantages ❑ Adaptation des travaux de Navathé sur
Table T Table T
❑ Inconvénients Détermination d’un ensemble ❑ Regrouper les prédicats souvent utilisés Enumération des prédicats simples
complet et minimal de prédicats
?
2001
2003
1999
2007
1997 Range- Range
Le modèle de coût permet d’estimer Construction d’un ensemble de List- Range
prédicats simple et complet Range
le coût d’exécution des requêtes les Global Range
Hash List Global Hash
List-List
Indexes Range- Hash Range-List Indexes List- Hash
plus fréquentes sur le schéma Génération des schémas de
fragmentation
fragmenté Reference
Virtual Column
Evaluation des schémas de
Modèle de coût ?11g
10g
9i
8i
8 Interval
fragmentation
Partition Adviser
Inconvénient
Sélection du meilleure schéma
- Le nombre de fragments générés peut
être très important
LES ENTREPOTS DE DONNEES - Data Warehouse 142 LES ENTREPOTS DE DONNEES - Data Warehouse 143
142 143
Modes de fragmentation Fragmentation par intervalle « Range »
Client 1
Age Age<18
Mode de fragmentation
Client 2
0 18 60 120
18Age<60
2 Domaine(Age) Client 3
Mode simple Mode composite
Client Age60
Client 2 Client 2
Poitiers Paris, Nantes Autres F(CID) F(CID)=y
Ville=‘Alger’ ou
Ville=‘Ouargla’
Domaine(Ville) Client 3 Fonction de Client 3
Client hachage
Ville= Autres F(CID)=z
Client
LES ENTREPOTS DE DONNEES - Data Warehouse 146 LES ENTREPOTS DE DONNEES - Data Warehouse 147
Modes de fragmentation composite Modes de fragmentation composite
Client 11
Client 1 Age<18 ET Genre=‘M’
CREATE TABLE Client
List
(Genre) Client 12 (Client_id NUMBER(5),
Age<18 ET Genre=‘F’ Nom Varchar2(20),
Age<18 Ville Varchar2(20),
Age Genre Age Number(3),
Client 21
Client 2
Genre Varchar2(1))
18Age<60 ET Genre=‘M’ PARTITION BY RANGE (Age)
List Client 22
Range SUBPARTITION BY LIST (Genre)
(Genre)
(Age) 18Age<60 ET Genre=‘F’ SUBPARTITION TEMPLATE(
18Age<60 SUBPARTITION Client1 VALUES ('M') TABLESPACE TBSMasculin ,
Client 31
SUBPARTITION Client2 VALUES ('F') TABLESPACE TBSFéminin )
Client Age60 ET Genre=‘M’
Client 3 (
List Client 32 PARTITION Client_Moins_18 VALUES LESS THAN (18),
(Genre) PARTITION Client_18_59 VALUES LESS THAN (60),
Age60 ET Genre=‘F’
PARTITION Client_60_Et_Plus VALUES LESS THAN (MAXVALUES)
Age60 );
LES ENTREPOTS DE DONNEES - Data Warehouse 148 LES ENTREPOTS DE DONNEES - Data Warehouse 149
Fragmentation dérivée par le mode Référence
Fragmenter une table selon le schéma de fragmentation d’une autre table
en utilisant le lien par clé étrangère.
VENTE2 CLIENT2
Ventes1 Ventes1 Client1 18 < Age 30
Client Ventes1
Ventes Client1 Client1 TEMPS CLIENT3
VENTE3
Ventes2 Ventes2
Client2
Ventes2
30 < Age 40
Client2
Client2
VENTE4 CLIENT4
ventes3 ventes3
Age > 40
Fragmentation des TD Fragmentation de la TF Fragmentation indépendante Fragmentation des TD Explosion du nombre de fragments
de ma TF et des TD
+ Optimisation des - Pas d’optimisation des + Optimisation des sélection k
Mi
+ Optimisation des sélections
N =
sélection jointures + Optimisation des jointures Mi : nombre de fragments de la table de dimension Di
- Pas d’optimisation des
- Pas d’optimisation de - Pas d’optimisation des - explosion du nombre de k : nombre de tables de dimension fragmentées
jointures
la jointure sélections fragments i =1
LES ENTREPOTS DE DONNEES - Data Warehouse 152 LES ENTREPOTS DE DONNEES - Data Warehouse 153
152 153
Représentation d’un schéma de fragmentation Fragmentation Dirigée par le Nombre de Fragments: Formalisation
Entrées
Décomposition des domaines des attributs de fragmentation en sous domaines
Codage d’un schéma de fragmentation • Entrepôt de données composé de
Age<18 18-30 30-45 45-60 >60
Exemple
Age 0 1 0 1 2
– Un ensemble D de tables de dimension D={D1, D2, …, Dd}
M F
❑Trois attributs de dimension: Genre 0 0 – Une table des faits F
Age, Genre, Saison été
t automne hiver printemps
Saison 0 0 0 1
• Charge de requêtes les plus fréquentes Q={Q1, Q2, …, Qm}
• W : seuil (fixé par l’administrateur)
Partition P0 Partition P1
Les tables sont fragmentées comme suit
Sorties :
Table Client en 3 fragments sur Age (Genre n’est pas utilisé)
–Client1 : Age <18 OU 30Age<45 – Ensemble D’ D des tables de dimension fragmentées
–Client2 : 18Age<30 OU 45Age<60 – Ensemble de N fragments de faits F1, F2, …, FN
–Client 3 : Age60 Table Ventes fragmentée en :
3x2=6 fragments Objectifs :
Table temps en 2 fragments sur Saison
–Temps 1 : Saison=été OU automne OU hiver – Réduire le temps d ’exécution de Q
–Temps2 : Saison=printemps – NW
LES ENTREPOTS DE DONNEES - Data Warehouse 154 LES ENTREPOTS DE DONNEES - Data Warehouse 155
154 155
NP-complétude du problème de fragmentation horizontale Algorithmes de sélection
Problème de fragmentation horizontale à un seul domaine (PFHSD)
– Une seule table de dimension
LES ENTREPOTS DE DONNEES - Data Warehouse 156 LES ENTREPOTS DE DONNEES - Data Warehouse 157
156 157
Algorithme de sélection : Algorithme Génétique Algorithme de Sélection: Hill Climbing
Principe
Extraction des prédicats de sélection Requêtes
1. Générer une solution initiale
- Fréquences 2. Améliorer itérativement cette solution
- Facteurs de sélectivité • Mesure de Qualité
Age 0 d’une
1 0Solution
1 2 Age 0 1 0 1 0
Génération des sous-domaines Genre 0 0
Merge(P0,P2, Age, SF)
0 0
– Modèle coût estimant le nombre d’entrées-sorties lors Genre
de l’exécution des requêtes.
Saison Saison
0 0 0 1 0 0 0 1
Solution initiale
6 fragments
Codage des chromosomes – Algorithme d’affinité
4 fragments
Sélection Amélioration
Age 0 1 0 1 0
Split(P0, Genre, SF’)
Age 0 1 0 1 0
Fonction d’évaluation
– Merge
Genre0 0 Genre 0 1
Saison Saison
•
0 0 0 1
Fusionner deux partitions en une seule.
0 0 0 1
Croisement Modèle de coût – Split 4 fragments 8 fragments
Mutation
LES ENTREPOTS DE DONNEES - Data Warehouse 158 LES ENTREPOTS DE DONNEES - Data Warehouse 159
158 159
Algorithme de sélection : Recuit Simulé Validation sous Oracle(I)
Etat-Courant=Affinity
Même principe que HC T=T0 Problèmes rencontrés
Oui
2. Méthode d’implémentation de la FHD (vues matérialisée)
Etat-Courant=Etat-Suivant
Nécessité de réécrire les requêtes sur les schémas fragmentés
Equilibre
Fin
LES ENTREPOTS DE DONNEES - Data Warehouse 160 LES ENTREPOTS DE DONNEES - Data Warehouse 163
160 163
Validation Sous Oracle(II) Validation sous Oracle(III)
Ventes
Implémentation de la FHP sur plusieurs attributs Implémentation de la FHD en RIDS CID PID TID Montant ColFF
Col
1-1
–
1 616 106 11 25
Fragmentation de la table Client sur Age, Sexe, Ville utilisant plus d’une table de 2 616 106 66 28 1-2
1-1
– Age : Age<26, 26Age60, Age>60 → Range dimension 3
4
616
515
104
104
33
11
50
10 4-1
9-2
– Genre : M, F → Range-List Client
5 414 105 66 14
10-2
RIDC
CREATE MATERIALIZED VIEW V 6 212 106 55 14
1-2
– Ville : Poitiers, Paris, Nantes →? 6
CID
616
Nom
Gilles
Age Genre Ville
15AS M
Col
Poitiers
1
C 7
8
111
111
101
101
44
33
20
27 1-1
9 212 101 11 100 10-1
5 515 Yves 25 F Paris
SELECT v.CID, 4v.PID, v.TID, Montant, Col ||'-'||Col as Col
C 10 313 T
102 11 F 200 9-1
Clients masculins ayant moins de 26 ans habitant Poitiers 4 414 Patrick 33 M Nantes9 9-1
3 313 Didier 50FROM Ventes9v, Client c, Temps t
M Nantes
11 414 102 11 102
9-2
12 414 102 55 103
RIDC CID Nom Age Genre Ville ColC 2 212 Eric 40WHERE v.CID=10 c.CID
F Poitiers 4-2
13 515 102 66 100
6 616 Gilles 15 M Poitiers 1 1 111 Pascal 20 M Poitiers
1 14 515 103 55 17 4-2
Client 1 111 Pascal 20 M Poitiers 1
AND v.TID = t.TID 15 212 103 44 45 10-2
Temps 1-2
16 111 105 66 44
RIDC CID Nom Age Genre Ville ColC RIDT TID Mois Année Trimestre ColC 10-2
RIDC CID Nom Age Genre Ville ColC 17 212 104 66 40
6 616 Gilles 15 M Poitiers 1 6 11 Janvier 2003 Q1 1 RIDS CID 18PID 515 TID104 Montant
22 Col
20 F 4-1
5 515 Yves 25 F Paris 4 1-1
5 515 Yves 25 F Paris 4 5 22 Février 2003 1 616 19106 616 11104 22
25 1-1
20
VentesQ1
effectuées1 durant le premier
1-2
4 414 Patrick 33 M Nantes 9 RIDC CID Nom Age Genre Ville ColC 4 33 Mars 2003 Q1
trimestre par des1 clients masculins ayant 3 616 20104 616 33104 55
50 20
1-1
21 212 105 11 10 10-1
3 44 Avril 2003
moins Q2
de 26 ans 2et habitant Poitiers 8 111 101 33 27 1-1
3 313 Didier 50 M Nantes 9 4 414 Patrick 33 M Nantes 9 22 212 105 44 10 10-2
2 55 Mai 2003 Q2 2 19 616 23104 212 22105 20 1-1 10-2
2 212 Eric 40 F Poitiers 10 3 313 Didier 50 M Nantes 9 55 18
1 66 Juin 2003 Q2 2 24 212 106 11 18 10-1
1 111 Pascal 20 M Poitiers 1 RIDC CID Nom Age Genre Ville ColC 25 313 105 66 19 9-2
9-1
LES ENTREPOTS DE DONNEES - Data Warehouse
2 212 Eric 40 F Poitiers 10 LES ENTREPOTS DE DONNEES - Data Warehouse
26 313 105 22 17
164 27 313 106 11 15 165
9-1
164 165
Validation Sous Oracle (III)
Entrepôt global
Architecture Q
DataSet
W
Module de
sélection de SFH
(AG, RS, HC)
SF
Module de
fragmentation
Scripts
Fragments Horizontaux
Module de Q’
réécriture
AF RS AG HC
24,02
Millions
20,76 21,43
SÉLECTION MULTIPLE DE
25
17,60
20
15
10
Deuxième classification
[Dawak 08]
Algorithme de Instances ➔ Adaptée pour les techniques ayant de fortes similarités (Vues Matérialisées, Index)
sélection IX IX
Choix des
techniques
Algorithme de Instances
sélection des VM VM
Techniques candidates
• Inconvénient
– Absence de prise en compte des similarités et dépendances entre les techniques Techniques candidates
d’optimisation
– Une vue peut être indexée ➔ Sélectionner des vues ensuite des index pourrait être un ❑ Combinaison de plusieurs problèmes NP-Complets
LES ENTREPOTS DE DONNEES - Data Warehouse 170 LES ENTREPOTS DE DONNEES - Data Warehouse 171
Réduction de la complexité de l’implémentation conjointe Sélection combinée : HP&BJI
Deux types de dépendance [IBM’04] • La combinaison repose sur les similarités entre techniques d’optimisation
• Dépendance forte
• Approches de combinaison
– TO1 dépend fortement de TO2 : tout changement dans la sélection de TO2 ➔ changement dans
la sélection de TO1. – Séquentielle : chaque technique est sélectionnée indépendamment de l’autre
• Exemple : Si une vue V est sélectionnée, de nouveaux index sur V peuvent être sélectionnés. • Exemple : fragmentation horizontale et verticale
• Dépendance faible
• Inconvénient : Ne prends pas en compte les interactions entre les techniques
– TO1 dépend faiblement de TO2 : changement dans la sélection de TO2 n’affecte pas la sélection
de TO1. – Combinée : les techniques sont sélectionnées simultanément
cardinalités dans les requêtes non Déterminer les attributs 1 111 Pascal Poitiers CAT_BJI
Candidats (BJIASET)
Ventes_PJ Catégorie
bénéficiaires et non utilisés pour fragmenter Produit
Algorithme Glouton RIDP PID Nom Catégorie RIDS CID PID TID Montant RID B M J Jr F
l’entrepôt 6 106 Sonoflore Beauté
5 105 Clarins Beauté 2 616 106 66 28 2 1 0 0 0 0
4. Sélectionner un ensemble de BJIs avec l’algorithme 4
3
104
103
WebCam
Barbie
Multimédia
Jouet 16 111 105 66 44 16 1 0 0 0 0
2 102 Manure Jardinage
glouton 1 101 SlimForm Fitness
17 0 1 0 0 0
17 212 104 66 40
• Schéma de fragmentation
• Configuration d’IJB
LES ENTREPOTS DE DONNEES - Data Warehouse 174 LES ENTREPOTS DE DONNEES - Data Warehouse 175
174 175
Validation
BJIFIRST HPFIRST (W=100) HPFIRST BJIFIRST (S=200 Mo)
18 7
Millions
Millions
16 6,5
14 6
12 5,5
10
I/O
5
I/O
8
4,5
6
4
4
3,5
2
3
0
100 500 1000 5000 10000
20 40 60 80 100 120 160 180 200
W
Space (Mo)
Millions
8
Millions
25
7
6
20 14,95
5 13,73
12,27
I/O
4
Temp(ms)
15
3
2 10
1
0
0 0.2 0.4 0.6 0.8 1
5
Kamel Boukhalfa
Boukhalk@gmail.com
LAMBDA 0