Vues matérialisées automatisées - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vues matérialisées automatisées

Les vues matérialisées sont un outil performant pour améliorer les performances des requêtes dans Amazon Redshift. Pour ce faire, elles stockent un ensemble de résultats précalculé. Les requêtes similaires n’ont pas besoin de réexécuter la même logique à chaque fois, car elles peuvent récupérer les enregistrements de l’ensemble de résultats existant. Les développeurs et les analystes créent des vues matérialisées après avoir analysé leurs charges de travail afin de déterminer quelles requêtes seraient bénéfiques et si le coût de maintenance de chaque vue matérialisée en vaut la peine. À mesure que les charges de travail augmentent ou changent, ces vues matérialisées doivent être examinées pour s’assurer qu’elles continuent d’offrir des avantages tangibles en matière de performances.

La fonction Vues matérialisées automatisées (AutoMV) de Redshift offre les mêmes avantages en termes de performances que les vues matérialisées créées par l’utilisateur. Amazon Redshift surveille constamment la charge de travail à l’aide du machine learning et crée des vues matérialisées lorsqu’elles sont bénéfiques. La fonction AutoMV équilibre les coûts de création et de mise à jour des vues matérialisées par rapport aux avantages attendus liés à la latence des requêtes. Le système surveille également les vues matérialisées automatisées créés précédemment et les supprime lorsqu’ils ne sont plus bénéfiques.

Le comportement et les capacités d’AutoMV sont les mêmes que les vues matérialisées créées par l’utilisateur. Elles sont actualisées automatiquement et progressivement, en utilisant les mêmes critères et restrictions. Tout comme les vues matérialisées créées par les utilisateurs, Réécriture automatique des requêtes pour utiliser des vues matérialisées identifie les requêtes qui peuvent bénéficier des vues matérialisées automatisées créées par le système. Il réécrit automatiquement ces requêtes pour utiliser les AutoMVS, améliorant ainsi les performances des requêtes. Les développeurs n’ont pas besoin de corriger les requêtes pour tirer parti d’AutoMV.

Note

Les vues matérialisées automatisées sont actualisées par intermittence. Les requêtes réécrites pour utiliser AutoMV renvoient toujours les derniers résultats. Lorsque Redshift détecte que les données ne sont pas à jour, les requêtes ne sont pas réécrites pour être lues à partir de vues matérialisées automatisées. Les requêtes sélectionnent plutôt les données les plus récentes à partir des tables de base.

Toute charge de travail comportant des requêtes utilisées à plusieurs reprises peut bénéficier d’AutoMV. Cas d’utilisation courants :

  • Tableaux de bord : les tableaux de bord sont largement utilisés pour fournir des vues rapides des indicateurs de performance clés (KPI), des événements, des tendances et d’autres métriques. Ils ont souvent une disposition commune avec des diagrammes et des tableaux, mais présentent des vues différentes pour le filtrage ou pour les opérations de sélection de dimensions, comme l’exploration vers le bas. Les tableaux de bord ont souvent un ensemble commun de requêtes utilisées à plusieurs reprises avec différents paramètres. Les requêtes de tableau de bord peuvent bénéficier grandement des vues matérialisées automatisées.

  • Rapports : les requêtes de rapport peuvent être planifiées à diverses fréquences, en fonction des besoins métier et du type de rapport. En outre, elles peuvent être automatisées ou à la demande. L’une des caractéristiques courantes des requêtes de rapport est qu’elles peuvent s’avérer longues et gourmandes en ressources. Avec AutoMV, ces requêtes n’ont pas besoin d’être recalculées à chacune de leur exécution, ce qui réduit le temps d’exécution pour chaque requête ainsi que l’utilisation de ressources dans Redshift.

Pour désactiver les vues matérialisées automatisées, vous mettez à jour le groupe de paramètres auto_mv sur false. Pour plus d’informations, consultez Groupes de paramètres Amazon Redshift dans le Guide de gestion du cluster Amazon Redshift.

Portée et considérations SQL pour les vues matérialisées automatisées

  • Une vue matérialisée automatisée peut être déclenchée et créée par une requête ou une sous-requête, à condition qu’elle contienne une clause GROUP BY ou l’une des fonctions d’agrégation suivantes : SUM, COUNT, MIN, MAX ou AVG. Cependant, elle ne peut contenir aucun des éléments suivants :

    • Outer join left, right ou full

    • Fonctions d’agrégation autres que SUM, COUNT, MIN, MAX et AVG. (Ces fonctions particulières font appel à la réécriture automatique des requêtes).

    • Toute fonction d’agrégation qui inclut DISTINCT

    • Toutes les fonctions de fenêtrage

    • Clauses SELECT DISTINCT ou HAVING

    • Toute autre vue matérialisée

    Une requête qui répond aux critères ne lancera pas nécessairement la création d’une vue matérialisée automatisée. Le système détermine les candidats à partir desquels créer une vue, en fonction de l’avantage escompté pour la charge de travail et du coût en ressources à maintenir, ce qui inclut le coût d’actualisation du système. Chaque vue matérialisée qui en résulte est utilisable par la réécriture automatique de requêtes.

  • Même si AutoMV peut être lancé par le biais d’une sous-requête ou par des tronçons individuels d’opérateurs d’ensembles, la vue matérialisée qui en résulte ne contiendra pas de sous-requêtes ou d’opérateurs d’ensemble.

  • Pour déterminer si AutoMV a été utilisé pour les requêtes, consultez le plan EXPLAIN et cherchez l’élément %_auto_mv_% dans la sortie. Pour obtenir plus d’informations, consultez EXPLAIN.

  • Les vues matérialisées automatisées ne sont pas prises en charge sur les tables externes, telles que les unités de partage des données et les tables fédérées.

Vues matérialisées automatisées

Voici les limites de l’utilisation des vues matérialisées automatisées :

  • Maximum number of AutoMVs (Nombre maximum d’AutoMV) : la limite des vues matérialisées automatisées est de 200 par base de données dans le cluster.

  • Storage space and capacity (Espace et capacité de stockage) : une caractéristique importante d’AutoMV est qu’il s’exécute à l’aide de cycles en arrière-plan de secours pour aider à ce que les charges de travail des utilisateurs ne soient pas affectées. Si le cluster est occupé ou manque d’espace de stockage, AutoMV interrompt son activité. Plus précisément, à 80 % de la capacité totale du cluster, aucune nouvelle vue matérialisée automatisée n’est créée. À 90 % de la capacité totale, elles peuvent être supprimées afin que les charges de travail des utilisateurs se poursuivent sans dégradation des performances. Pour plus d’informations sur comment déterminer la capacité de cluster, consultez STV_NODE_STORAGE_CAPACITY.

Facturation pour les vues matérialisées automatisées

La fonctionnalité d’optimisation automatique d’Amazon Redshift crée et actualise les vues matérialisées automatisées. Les ressources de calcul utilisées dans le cadre de ce processus n’entraînent pas de frais. Le stockage des vues matérialisées automatisées est facturé au tarif normal du stockage. Pour plus d’informations, consultez Tarification d’Amazon Redshift.

Ressources supplémentaires

Le billet de blog suivant fournit des explications supplémentaires concernant les vues matérialisées automatisées, notamment sur la façon de les créer, de les gérer et de les supprimer. Il décrit également les algorithmes sous-jacents qui sous-tendent ces décisions : Optimize your Amazon Redshift query performance with automated materialized views.

Cette vidéo commence par une description des vues matérialisées et montre en quoi elles améliorent les performances et préservent les ressources. Elle décrit ensuite de manière approfondie les vues matérialisées automatisées avec une animation de flux de processus et une démonstration en direct.