Vues matérialisées PDF - Théorie et exemples
Document Details

Uploaded by ComprehensiveBowenite1465
Université Djillali Liabès de Sidi Bel-Abbès
Tags
Summary
Ce document, intitulé "Vues matérialisées", explore les concepts liés aux vues matérialisées dans les bases de données. Il examine notamment comment les pré-calculer peut améliorer les performances, l'accélération des requêtes et les compromis à trouver. Le document aborde également des exemples pratiques pour l'application de ces concepts.
Full Transcript
Vues matérialisées Vues matérialisées Pré-calculer des résultats est une solution classique pour améliorer les performances des bases de données. – Précalcul de résultats intermédiaires des requêtes – Un résultat intermédiaire va ainsi être stocké dans la BD (matérialisés) et sera utilisés pa...
Vues matérialisées Vues matérialisées Pré-calculer des résultats est une solution classique pour améliorer les performances des bases de données. – Précalcul de résultats intermédiaires des requêtes – Un résultat intermédiaire va ainsi être stocké dans la BD (matérialisés) et sera utilisés par de futures requêtes. – Les agrégats servent souvent à réduire le volume de données: on va ainsi précalculer les valeurs agrégées. Accélération des requêtes. Compromis à trouver. optimise requêtes mais Redondance – consomme espace de stockage – il faut garantir la cohérence 2 Vue matérialisées Problème 1: Sélection des vues à matérialiser – Place de stockage nécessaire? – Prévision de l‘accélération du traitement de requêtes? Problème 2: Détermination d‘une réécriture logique d‘une requête utilisant des vues matérialisées – Sélectionner le meilleur plan d'exécution en présence des vues.. – En général, un problème difficile.. Problème 3: Maintenance de vues matérialisées lors de modifications des données sources. – reCalcul complet? – maintenance incrémentielle? 3 Vue matérialisées Particularités des entrepôts Nombreuses requêtes identiques ou similaires sur les mêmes relations (structure en lien avec schéma dimensionnel) – Dans une BD opérationnelle, le but est souvent simplifier la spécification de requête – Sur entrepôt, réécriture de requêtes facilitée; le système va reconnaitre automatiquement les parties de la requête qui correspondent à une (partie de la ) vue. Requêtes de lectures majoritaires dans un entrepôt: base de donnée assez stable, donc matérialiser les vues est particulièrement intéressant – changements rares: effort d'actualisation (maintenance) modéré – la matérialisation va permettre de réduire l'effort de traitement sur certaines requêtes récurrentes. 4 Vues matérialisées Vue matérialisée: Ventes 2014 Requête: Ventes de chaises 2014 Ventes_chaises_mv= Q= SELECT V.PID SELECT V.ID,V.PID,P.name FROM Ventes V, Produit P FROM Vente V, Produit P WHERE V.PID=P.PID WHERE V.PID= P.ID AND P.name='chaise' AND V.Year='2014'; AND V.Year='2014'; Q≡ SELECT V.PID FROM Ventes_chaises_mv WHERE P.name='chaise'; Simple filtre sur la vue au lieu de filtre sur l'ensemble des ventes, puis jointure: la requête réécrite est beaucoup plus rapide 7 Vues matérialisées Exemple Vue matérialisée: CA par jour et pays Requête: CA par trimestre en Algérie CREATE materialized view Q= SELECT T.trimestre, SUM(CA) Vues_CA_Ventes AS FROM Faits F, SELECT L.pays, T.mois, SUM(CA) NATURAL JOIN Temps T FROM Faits F, WHERE pays='Algérie' NATURAL JOIN Temps T GROUP BY T.trimestre; NATURAL JOIN Lieu L GROUP BY pays, mois; On peut remplacer la table Faits par la vue Vues_CA_Ventes dans Q Comme |Vues_CA_Ventes |