← Back to list

Différence entre “Dynamic table” et “Materialized view” dans Snowflake

Snowflake propose de nombreuses fonctionnalités visant à simplifier la gestion des pipelines de données. Parmi celles-ci, deux concepts…

SmaeDev · 2025-12-08 17:07 · 1 claps · 1.9 min read
#snowflake #data-engineering #dynamic-table #materializedviews #data
Open on Medium ↗
Wiki topics: 🔧 · Data Engineering

Différence entre “Dynamic table” et “Materialized view” dans Snowflake

Snowflake propose de nombreuses fonctionnalités visant à simplifier la gestion des pipelines de données. Parmi celles-ci, deux concepts reviennent régulièrement dans les échanges entre architectes : les Dynamic Tables et les Materialized Views. À première vue, ils semblent similaires : deux objets précalculés qui améliorent les performances. En réalité, leur finalité, leur fonctionnement et leur coût sont très différents.

Dynamic Table

Une Dynamic Table (DT) ou Table Dynamique est une table qui s’actualise (mise à jour) automatiquement suivant la fréquence de rafraichissement définie lors de sa création par requête.

Elle se comporte comme une table persistée.

Une Table Dynamique sert à orchestrer et automatiser un pipeline de transformation, ce qui va permettre de remplacer des orchestrations ETL/ELT manuelles ou encore les streams + tasks + jobs externes. Plus besoin d’un orchestrateur séparé (cron, Airflow…), snowflake s’occupe de tout automatiquement. C’est une table idéale pour des transformations continues ou pour alimenter des modèles de Machine Learning, Analytics, de reverse ETL.

Voici la syntaxe de création d’une Table Dynamique :

CREATE DYNAMIC TABLE dt_sales
  TARGET_LAG = '5 minutes'
AS
SELECT ...;

Materialized View

Une Materialized View (MV) ou Vue Matérialisée est un ensemble de données précalculées et stockées pour un usage ultérieur.

Il s’agit d’un cache intelligent pour améliorer la performance de lecture.

Une Vue Matérialisée permet de :

  • accélérer les requêtes,
  • optimiser les performances pour des requêtes répétées et coûteuses,
  • stocker physiquement le résultat d’un SELECT.

Tous les changements dupliqués depuis la table source sont mis à jour par Snowflake.

Cette vue est idéale pour exposer des données prêtes à l’emploi avec une latence minimale.

Voici la syntaxe de création d’une Vue Matérialisée :

CREATE MATERIALIZED VIEW my_mv
    COMMENT=''
AS
SELECT ...;

Table Dynamique vs Vue Matérialisée dans Snowflake

Table Dynamique vs Vue Matérialisée dans Snowflake

Conclusion

Bien que les Materialized Views et Dynamic Tables visent toutes deux à précalculer et stocker le résultat de requêtes pour améliorer les performances, elles répondent à des besoins distincts :

  • les Materialized Views sont idéales pour l’optimisation de requêtes fréquentes et simples sur une table unique, offrant un rafraîchissement quasi instantané et une réécriture automatique des requêtes.
  • les Dynamic Tables sont conçues pour la construction de pipelines de données complexes, permettant l’agrégation, la transformation et la combinaison de plusieurs sources, avec un contrôle fin sur la fréquence de rafraîchissement.

Le choix entre ces deux solutions doit être guidé par la complexité des transformations, la structure des données sources, la latence acceptable et les exigences opérationnelles en termes de maintenance et de coût.


메타데이터
post_id
c795b71ff89d
slug
différence-entre-dynamic-table-et-materialized-view-c795b71ff89d
url
https://medium.com/@SmaeDev/diff%C3%A9rence-entre-dynamic-table-et-materialized-view-c795b71ff89d
canonical_url
https://medium.com/@SmaeDev/diff%C3%A9rence-entre-dynamic-table-et-materialized-view-c795b71ff89d
author_url
https://medium.com/@SmaeDev
status
ok
fetched_at
2026-07-18 16:14:08