1 Ce qu’est le data warehouse ? Différentes définitions pas très rigoureuses
1 Ce qu’est le data warehouse ? Différentes définitions pas très rigoureuses Une BD d’aide à la décision qui est maintenue séparément de la base opérationnelle de l’organisation “Un data warehouse est une collection de données concernant un sujet particulier, varie dans le temps, non volatile et où les données sont intégrées.”—W. H. Inmon Data warehousing: Le processus qui permet de construire un data warehouse 2 Sujet Organisé autour d’un sujet bien précis, ex: client, produit, ventes. S’intéresse à la modélisation et l’analyse des données pour aider les décideurs, non pas pour des activités quotidiennes ou traitement transactionnel Fournit une vue simple et concise concernant un sujet particulier en excluant les données qui ne servent pas à la prise de décision 3 Données intégrées Construit en intégrant plusieurs sources de données possiblement hétérogènes BD’s relationnelles, fichiers plats, … Les techniques d’intégration et de nettoyage des données sont utilisées Garantir la consistance des conventions de nommage (les attributs Nom et Nom_Famille dans BD1 et BD2 désignent la même chose) structures de codage (l’attribut Nom est sur 15 char et 20 char sur BD1 et BD2; NSS est une chaîne dans BD1 et c’est un entier long dans BD2), domaines des attributs (ex: cm vs pouce), etc. C’est au moment où les données sont copiées dans le data warehouse qu’elles sont traduites 4 Varie dans le temps La portée temporelle des données dans un data warehouse est plus longue que celle des bases opérationnelles Base opérationnelle: valeur courante des données. Data warehouse: fournit des infos sous une perspective historique (ex: 5 à 10 dernières années) Dans un data warehouse, en général, chaque donnée fait référence au temps Mais dans une base opérationnelle les données peuvent ne pas faire référence au temps 5 Data Warehouse est Non-Volatile Un support de stockage séparé Les mises à jour de la base opérationnelle n’ont pas lieu au niveau de la data warehouse N’a pas besoin de modules de gestion de transactions (concurrence, reprise sur panne …) N’a besoin que de deux opérations pour accéder aux données : Chargement initial des données et interrogation (lecture). 6 Data Warehouse vs. SGBD hétérogènes Traditionnellement, l’intégration de BD’s hétérogènes se fait par le biais de: Médiateurs au dessus des BD’s hétérogènes Approche orientée requête Quand une requête est posée par un site client, un méta- dictionnaire est utilisé pour la traduire en plusieurs requêtes appropriées à chacune des BD’s. Le résultat est l’intégration des réponses partielles. L’exécution des requêtes demande donc beaucoup de ressources Data warehouse: Approche orientée mise à jour Les infos sont intégrées et stockées pour une interrogation directe. Plus efficace en coût d’exécution des requêtes 7 Des Tables aux Data cubes Un data warehouse est basé sur un modèle multidimensionnel où les données sont vues comme des data cubes Un data cube, ex: ventes, permet de voir les données selon plusieurs dimensions Les tables de dimension ex: item (nom_item, marque, type), ou temps(jour, semaine, mois, trimestre, année) La table de faits contient des mesures (ex: unités_vendues) et les clés externes faisant référence à chaque table de dimension Dans la littérature du data warehousing, un cube de dimension n est dit un cuboïde. Le treillis des cuboïdes d’un data warehouse forme un data cube. 8 Cube: Un treillis de cuboïdes tous temps item lieu fournisseur temps,item temps,lieu Temps, fournisseur item,lieu item,fournisseur Lieu, fournisseur temps,item,lieu Temps, item, fournisseur temps,lieu, fournisseur item,lieu, fournisseur Temps, item,lieu,fournisseur 0-D cuboïde 1-D cuboïdes 2-D cuboïdes 3-D cuboïdes 4-D cuboïde 9 Modélisation Conceptuelle des Data Warehouses Dimensions & mesures Schéma en étoile: Au milieu, une table de faits connectée à un ensemble de tables de dimensions Schéma flocon de neige (snowflake): Un raffinement du précédent où certaines tables de dimensions sont normalisées (donc décomposées) Constellation de faits: Plusieurs tables de faits partagent quelques tables de dimension (constellation d’étoiles) 10 Exemple de schéma en étoile Id_temps jour Jour_semaine mois trimestre année temps Id_lieu rue ville département pays lieu Table de faits “ventes” id_time id_item id_branche id_lieu unités_vendues montant_ventes moyenne_ventes Mesures Id_item Nom_item marque type Type_fournisseur item Id_branche Nom_branche Type_branche branche 11 Exemple de schéma Snowflake Id_temps jour Jour_semaine mois trimestre année temps Id_lieu rue Id_ville lieu Table de faits “Vente” Id_temps Id_item Id-branch Id_lieu unités_vendues montant_vente moyenne_vente Mesures Id_item Nom_item Marque type Id_fournisseur item Id_branche Nom_branche Type_branche branche Id_fournisseur Type_fournisseur fournisseur Id_ville ville département pays ville 12 Exemple de Constellation de faits Id_lieu rue ville département pays lieu Meesures Table de faits Transport Id_temps Id_item id_arrivée coût Unités_transportées Id_Transporteur Nom_transporteur Id_lieu Type_transporteur transporteur Id_temps jour Jour_semaine mois trimestre année temps Id_branche Nom_branche Type_branche branche Id_temps Id_item Id-branche Id_lieu unités_vendues montant_vente moyenne_vente Id_item Nom_item marque type Id_fourniseur item Table de faits Vente Id_transporteur id_départ 13 Données multidimensionnelles Montant des ventes comme une fonction des paramètres produit, mois, région ProduitRégion Mois Dimensions: Produit, Lieu, Temps Chemins de consolidation hiérarchiques Industrie Région Année Catégorie Pays Trimestre Produit Ville Mois Semaine Magasin Jour 14 Un exemple de Data Cube Total annuel des ventes de TV aux U.S.A. DateProduit PaysAll, All, All sum sum TV DVD PC 1Trim 2Trim 3Trim 4Trim U.S.A Canada Mexique sum 100 200 300 100 700 15 Cuboïdes Correspondants au Cube tous produit date pays produit,date produit,pays date, pays produit, date, pays Cuboïde 0-D(apex) Cuboïde 1-D Cuboïde 2-D cuboïde3-D(base) 16 Opérations typiques de l’OLAP Roll up : consolider (résumer) les données Passer à un niveau supérieur dans la hiérarchie d’une dimension Drill down : l’inverse du Roll-up descendre dans la hiérarchie d’une dimension Slice et Dice: Projection et sélection du modèle relationnel Pivot (rotate): Réoriente le cube pour visualisation 17 Trois modèles de data warehouse Entreprise warehouse Collecte de toutes les informations concernant les sujets traités au niveau de l’organisation Data Mart Un sous ensemble d’un entreprise warehouse. Il est spécifique à un groupe d’utilisateurs (ex: data mart du marketing) Data warehouse virtuel Un ensemble de vues définies à partir de la base opérationnelle Seulement un sous ensemble des vues sont matérialisées 18 Architecture des serveurs OLAP Relational OLAP (ROLAP) Utilise un SGBD relationnel pour stocker les données ainsi qu’un middle-ware pour implémenter les opérations spécifiques de l’OLAP (Oracle, SQL Server,..) Multidimensional OLAP (MOLAP) Basé sur un stockage par tableaux (techniques des matrices creuses) Indexation rapide de données calculées (Hyperion Essbase) 19 Calcul efficace d’un data cube Un data cube peut être vu comme un treillis de cuboïdes Le plus bas dans la hiérarchie est le cuboïde de base Le plus haut contient une seule cellule (appelé apex) Combien de cuboïdes y-a-il dans un cube à n dimensions avec Li niveaux chacune? Matérialisation du data cube Matérialiser chaque cuboïde (matérialisation totale), aucun , ou quelques (matérialisation partielle) Sélection des cuboïdes à matérialiser Basé sur la taille, partage, fréquence d’accès, etc. ) 1 1 ( n i i L T 20 Opérations sur les cubes l’opérateur cube by est ajouté à SQL SELECT item, ville, année, SUM (montant) FROM VENTES CUBE BY item, ville, année C’est équivalent aux Group-By suivants (item, ville, année), (item, ville),(item, année), (ville, année), (item), (ville), (année) () (ville) (item) () (année) (item,ville) (item, année) (ville, année) (item, ville, année) 21 Exemple: Matérialisation partielle Comme données de base, nous avons des informations sur des produits proposés par des fournisseurs et vendus à des clients à un prix PV. Les informations s’étalent sur 10 ans. Les analystes voudraient poser des requêtes sur une table où chaque (p,f,c) est associé à une mesure TV (total ventes) Le produit p proposé par f a été vendu à c pour un montant global TV (sur les 10 ans) 22 Exemple On considère un ensemble de requêtes, un ensemble de vues possibles. La question: quelles vues matérialiser pour répondre à toutes les requêtes, si le nombre de vues ne doit pas dépasser un certain seuil Les requêtes considérées sont de la forme SELECT <g-attributs>, SUM (<mesure>) FROM <la table de base> WHERE <attribut = valeur> GROUP BY <g-attributs> SELECT Produit, Client, SUM(TV) FROM Table WHERE Client=‘Toto’ GROUP BY (Produit, Client) 23 Exemple Les vues considérées sont de la forme SELECT <g-attributs>, SUM(<mesure>) FROM Table GROUP BY <g-attributs> Dans l’exemple, il y a 8 vues: Produit, fournisseur, client (6M tuples) Produit, client (6M) Produit, fournisseur (0,8M) Fournisseur, Client (6M) Produit (0,2M) Fournisseur (0,01) Client (0,1M) Ø (1) 24 Exemple PFC 6M PF 0,8M PC 6M FC 6M P 0,2 M F 0,01 C 0,1 Ø 25 Exemple V l’ensemble des vues et Vk ={W de 2V : |W| = k } Trouver W tel que Gain(W) = Max (Gains Wi avec |Wi |=k) On définit un pré-ordre sur les vues: v w si v peut être calculée à partir de w A chaque fois que l’on décide de matérialiser une vue w, les vues v telles v w ont un bénéfice B Bénéfice(v, S) = somme B(w,v,S) avec wv avec B(w,v,S)=le gain qu’on aura pour calculer w en rajoutant v à S Gain (W)=somme(Bénéfice(v): v élément de W) uploads/Management/data-ware.pdf
Documents similaires










-
37
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 30, 2021
- Catégorie Management
- Langue French
- Taille du fichier 0.5390MB