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

Document Details

ComprehensiveBowenite1465

Uploaded by ComprehensiveBowenite1465

Université Djillali Liabès de Sidi Bel-Abbès

Tags

vues matérialisées base de données requêtes optimisation

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 |

Use Quizgecko on...
Browser
Browser