Vues matérialisées

Conception de bases de données

Lis Sulmont

Curriculum Manager

Deux types de vues

Vues

  • Également appelées vues non matérialisées
  • Notre définition des vues jusqu'à présent
Conception de bases de données

Deux types de vues

Vues

  • Également appelées vues non matérialisées
  • Notre définition des vues jusqu'à présent

Vues matérialisées

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

Vues matérialisées

  • Stockent les résultats de la requête, et non la requête
  • Interroger une vue matérialisée implique d'accéder aux résultats de la requête stockés
    • N’exécute pas la requête comme une vue non matérialisée
  • Actualisées ou rematérialisées sur demande ou selon un calendrier défini
Conception de bases de données

Quand utiliser les vues matérialisées

  • Requêtes longues
  • Les résultats de la requête sous-jacente ne changent pas fréquemment
  • Entrepôts de données, car OLAP n'est pas intensif en écriture
    • Réduction des coûts informatiques liés aux requêtes fréquentes
Conception de bases de données

Mise en œuvre 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

Gestion des 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

$$ Diagram of X and Y views with an arrow from X and Y indicating a dependency

Conception de bases de données

Gestion des 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 des vues
  • Il n'est pas très efficace de rafraîchir toutes les vues simultanément
Conception de bases de données

Outils de gestion des dépendances

  • Utiliser des graphes orientés acycliques (DAG) pour suivre les vues $$ $$
  • Outils de planification de pipeline

Example of a directed acyclic graph

Logos of Airflow and Luigi

Conception de bases de données

Passons à la pratique !

Conception de bases de données

Preparing Video For Download...