Utilisation de l'optimisation automatique des tables - Amazon Redshift

Utilisation de l'optimisation automatique des tables

L'optimisation automatique des tables est une fonction d'autoréglage qui optimise automatiquement la conception des tables en appliquant des clés de tri et de distribution sans intervention de l'administrateur. En utilisant l'automatisation pour régler la conception des tables, vous pouvez démarrer plus facilement et obtenir rapidement les meilleures performances sans avoir à investir du temps pour régler et mettre en œuvre manuellement les optimisations des tables.

L'optimisation automatique des tables observe en permanence la façon dont les requêtes interagissent avec les tables. Elle utilise des méthodes d'intelligence artificielle avancées pour choisir les clés de tri et de distribution afin d'optimiser les performances pour la charge de travail du cluster. Si Amazon Redshift détermine que l'application d'une clé améliore les performances du cluster, les tables sont automatiquement modifiées dans les heures suivant la création du cluster, avec un impact minimal sur les requêtes.

Pour tirer parti de cette automatisation, un administrateur Amazon Redshift crée une nouvelle table ou modifie une table existante pour lui permettre d'utiliser l'optimisation automatique. Les tables existantes avec un style de distribution ou une clé de tri AUTO sont déjà activées pour l'automatisation. Lorsque vous exécutez des requêtes sur ces tables, Amazon Redshift détermine si une clé de tri ou une clé de distribution améliorera les performances. Si c'est le cas, Amazon Redshift modifie alors automatiquement la table sans nécessiter l'intervention de l'administrateur. Si un nombre minimum de requêtes est exécuté, les optimisations sont appliquées dans les heures suivant le lancement du cluster.

Si Amazon Redshift détermine qu'une clé de distribution améliore les performances des requêtes, les tables dont le style de distribution est AUTO peuvent voir celui-ci modifié en KEY.

Activation de l'optimisation automatique des tables

Par défaut, les tables créées sans définir explicitement les clés de tri ou de distribution sont définies sur AUTO. Au moment de la création de la table, vous pouvez également définir explicitement un tri ou une clé de distribution manuellement. Si vous définissez la clé de tri ou de distribution, la table n'est pas gérée automatiquement.

Pour permettre à une table existante d'être automatiquement optimisée, utilisez les options de l'instruction ALTER pour changer la table en AUTO. Vous pouvez choisir de définir l'automatisation pour les clés de tri, mais pas pour les clés de distribution (et vice versa). Si vous exécutez une instruction ALTER pour convertir une table en table automatisée, les clés de tri et les styles de distribution existants sont conservés.

ALTER TABLE table_name ALTER SORTKEY AUTO;
ALTER TABLE table_name ALTER DISTSTYLE AUTO;

Pour de plus amples informations, veuillez consulter ALTER TABLE.

Initialement, une table n'a pas de clé de distribution ni de clé de tri. Le style de distribution est défini sur EVEN ou ALL selon la taille de la table. Au fur et à mesure que la taille de la table augmente, Amazon Redshift applique les clés de distribution et les clés de tri optimales. Les optimisations sont appliquées dans les heures qui suivent l'exécution d'un nombre minimum de requêtes. Lorsqu'il détermine les optimisations des clés de tri, Amazon Redshift tente d'optimiser les blocs de données lus sur le disque pendant l'analyse d'une table. Lors de la détermination des optimisations de style de distribution, Amazon Redshift tente d'optimiser le nombre d'octets transférés entre les nœuds de cluster.

Désactivation de l'optimisation automatique d'une table

Vous pouvez désactiver l'optimisation automatique d'une table. La désactivation de l'automatisation d'une table implique la sélection d'une clé de tri ou d'un style de distribution. Pour modifier le style de distribution, spécifiez un style de distribution spécifique.

ALTER TABLE table_name ALTER DISTSTYLE EVEN;
ALTER TABLE table_name ALTER DISTSTYLE ALL;
ALTER TABLE table_name ALTER DISTSTYLE KEY DISTKEY c1;

Pour modifier une clé de tri, vous pouvez définir une clé de tri ou n'en choisir aucune.

ALTER TABLE table_name ALTER SORTKEY(c1, c2);
ALTER TABLE table_name ALTER SORTKEY NONE;

Surveillance des actions d'optimisation automatique des tables

La vue système SVV_ALTER_TABLE_RECOMMENDATIONS enregistre les recommandations Amazon Redshift Advisor actuelles pour les tables. Cette vue affiche des recommandations pour toutes les tables, celles qui sont définies pour l'optimisation automatique et celles qui ne le sont pas.

Pour savoir si une table est définie pour l'optimisation automatique, interrogez la vue système SVV_TABLE_INFO. Les entrées ne s'affichent que pour les tables visibles dans la base de données de la session en cours. Les recommandations sont insérées dans la vue deux fois par jour, dans les heures qui suivent la création du cluster. Dès qu'une recommandation est disponible, elle est appliquée dans l'heure qui suit. Une fois qu'une recommandation a été appliquée (soit par Amazon Redshift, soit par vous), elle n'apparaît plus dans la vue.

La vue système SVL_AUTO_WORKER_ACTION affiche un journal d'audit de toutes les actions effectuées par Amazon Redshift, ainsi que l'état précédent de la table.

La vue système SVV_TABLE_INFO répertorie toutes les tables du système, ainsi qu'une colonne pour indiquer si la clé de tri et le style de distribution de la table sont définis sur AUTO.

Pour plus d'informations sur ces vues système, veuillez consulter Vues système.