Vues, vues matérialisées et tables dynamiques

Snowflake fournit une variété de structures pour visualiser, matérialiser et transformer les données. Les trois mécanismes les plus courants sont les suivants :

  • Vues : Snowflake fournit ce que l’on pourrait considérer comme une vue traditionnelle de la base de données. En général, une vue permet d’accéder au résultat d’une requête comme s’il s’agissait d’une table, y compris en liant (ou, dans le jargon des bases de données, en joignant) deux ou plusieurs tables ou autres vues en une seule vue logique. Une fois définies, les vues peuvent être interrogées comme n’importe quelle autre table.

  • Vues matérialisées : les vues matérialisées se distinguent des vues traditionnelles par la possibilité de précalculer l’ensemble de données sur la base d’une requête de vue matérialisée. Étant donné que les résultats sont précalculés, l’interrogation d’une vue matérialisée est plus rapide que l’exécution d’une requête sur la table de base de la vue. Cette différence de performances peut être significative lorsqu’une requête est exécutée fréquemment ou est suffisamment complexe. Par conséquent, les vues matérialisées peuvent accélérer les opérations d’agrégation, de projection et de sélection coûteuses, en particulier celles qui s’exécutent fréquemment et qui s’exécutent sur de grands ensembles de données.

  • Tables dynamiques : les tables dynamiques matérialisent les résultats d’une requête spécifique. Au lieu de créer une table cible distincte et d’écrire du code pour transformer et mettre à jour les données de cette table, vous pouvez définir la table cible comme une table dynamique et spécifier l’instruction SQL qui effectue la transformation. L’automatisation en arrière-plan maintient ensuite la table dynamique à jour en fonction des critères d’actualisation que vous spécifiez.

Comparaison des vues, des vues matérialisées et des tables dynamiques

Type d’objet

Avantages

Inconvénients

Limites et informations complémentaires

Vue

Simple, facile à définir, ne consomme pas d’espace de stockage.

Inflexible, lent, nécessite des calculs pour générer des résultats.

Voir Limites des vues.

Vue matérialisée

Recherche rapide des résultats. Définition relativement simple. Assez flexible. Toujours à jour.

Le maintien à jour entraîne des frais de calcul. Consomme de l’espace de stockage.

Pour plus d’informations, notamment sur les limitations des vues matérialisées, voir Travailler avec des vues matérialisées.

Tables dynamiques

Extraction extrêmement rapide des résultats. Définition relativement simple. Très flexible. Contrôle précis de l’actualisation. Peut effectuer des transformations complexes.

La mise à jour entraîne des frais de calcul. Consomme de l’espace de stockage. Nécessite une réflexion approfondie sur la fréquence d’actualisation, ainsi que sur le moment et la manière d’actualiser.

Pour plus d’informations, notamment sur les limites des tables dynamiques, voir Tables dynamiques.