Vues matérialisées

Conception de bases de données

Lis Sulmont

Curriculum Manager

Deux types de vues

Vues

  • Aussi appelées vues non matérialisées
  • Façon dont nous avons défini les vues jusqu'ici
Conception de bases de données

Deux types de vues

Vues

  • Aussi appelées vues non matérialisées
  • Façon dont nous avons défini les vues jusqu'ici

Vues matérialisées

  • Matérialisées physiquement
Conception de bases de données

Vues matérialisées

  • Stocke le résultat de la requête, pas la requête
  • Interroger une vue matérialisée = accéder aux résultats stockés
    • Pas exécuter la requête comme une vue non matérialisée
  • Actualisée ou rematérialisée à la demande ou selon un horaire
Conception de bases de données

Quand utiliser les vues matérialisées

  • Requêtes de longue durée
  • Les résultats sous-jacents changent peu
  • Entrepôts de données, car l'OLAP n'est pas axé sur l'écriture
    • Réduit le coût de calcul des requêtes fréquentes
Conception de bases de données

Mettre en place des vues matérialisées

(dans PostgreSQL)

$$

CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM existing_table;

$$

REFRESH MATERIALIZED VIEW my_mv;
Conception de bases de données

Gérer les dépendances

  • Les vues matérialisées dépendent souvent d'autres vues matérialisées
Conception de bases de données

Exemple de dépendance

$$ Diagramme des vues X et Y avec une flèche de X et Y indiquant une dépendance

Conception de bases de données

Gérer les dépendances

  • Les vues matérialisées dépendent souvent d'autres vues matérialisées
  • Crée une chaîne de dépendances lors de l'actualisation
  • Peu efficace d'actualiser toutes les vues en même temps
Conception de bases de données

Outils pour gérer les dépendances

  • Utilisez des graphes acycliques dirigés (DAG) pour suivre les vues $$ $$
  • Outils d'ordonnancement de pipelines

Exemple de graphe acyclique dirigé

Logos d'Airflow et Luigi

Conception de bases de données

Passons à la pratique !

Conception de bases de données

Preparing Video For Download...