Gestion de la charge de travail - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

Gestion de la charge de travail

Cette section décrit la gestion de la charge de travail (WLM), qui vous aide à comprendre comment Amazon Redshift prépare et exécute les requêtes.

La gestion de l’application (WLM) Amazon Redshift permet une gestion souple des priorités au sein des charges de travail de telle sorte que les requêtes brèves et à exécution rapide ne se retrouvent pas bloquées dans les files d’attente derrière les longues requêtes. Amazon Redshift crée les files d’attente des requêtes lors de l’exécution en fonction des classes de service, qui définissent les paramètres de configuration des différents types de files d’attente, y compris les files d’attente internes du système et celles accessibles par l’utilisateur. Du point de vue de l’utilisateur, une classe de service accessible par l’utilisateur et une file d’attente sont fonctionnellement équivalentes. Pour des raisons de cohérence, cette documentation utilise le terme file d’attente pour désigner une classe de service accessible par l’utilisateur aussi bien qu’une file d’attente à l’exécution.

Redshift propose une gestion automatique de la charge de travail, appelée gestion automatique de la charge de travail, qui est réglée pour gérer différentes charges de travail et constitue la valeur par défaut recommandée. Avec la gestion automatique de la charge de travail, Redshift détermine l’utilisation des ressources à mesure que les requêtes arrivent et détermine de manière dynamique s’il convient de les exécuter sur le cluster principal, sur un cluster de mise à l’échelle de la simultanéité ou de les envoyer dans une file d’attente. (Lorsque les requêtes sont mises en file d’attente, la gestion automatique de la charge de travail donne la priorité aux requêtes de courte durée.) La gestion automatique de la charge de travail maximise le débit total et vous permet de maintenir des ressources d’entrepôt de données efficaces. Vous exécutez des charges de travail sans avoir à vous soucier de leur taille ou de leur planification. La gestion automatique de la charge de travail est le mode par défaut pour les clusters alloués. Pour de plus amples informations, consultez Implémentation de la gestion automatique de la charge de travail.

Note

Les groupes de travail Amazon Redshift sans serveur utilisent toujours la gestion automatique de la charge de travail.

Lorsque de nombreuses requêtes ou des requêtes gourmandes en ressources sont exécutées, la gestion de la charge de travail peut être étendue à des ressources de calcul supplémentaires lorsque les charges de travail sont mises en file d’attente sur des ressources locales. La mise à l’échelle de la simultanéité avec la gestion automatique de la charge de travail permet de prendre en charge un nombre pratiquement illimité d’utilisateurs simultanés et de requêtes simultanées, avec des performances stables.

Les clusters Redshift alloués proposent une gestion manuelle de la charge de travail si vous avez besoin d’une optimisation manuelle précise. Ici, le client gère l’allocation des ressources, la simultanéité des requêtes et la mise en file d’attente. Lors de l’exécution d’une requête, la gestion de la charge de travail affecte la requête à une file d’attente selon le groupe d’utilisateurs de l’utilisateur ou par correspondance avec un groupe de requêtes qui apparaît dans la configuration de la file d’attente. Ceci est configuré avec une étiquette de groupe de requêtes définie par l’utilisateur. Pour de plus amples informations, consultez Implémentation de la gestion manuelle de la charge de travail.

Bien que le la gestion manuelle de la charge de travail puisse être optimisée au fil du temps pour s’adapter à vos modèles de charge de travail, dans la plupart des cas, nous déconseillons son utilisation, car sa nature statique peut vous empêcher de vous adapter à l’évolution des charges de travail au cours d’une journée ou sur une période prolongée. Cela nécessite une surveillance accrue et un réglage continu. En outre, dans de nombreux cas, la gestion manuelle de la charge de travail n’utilise pas les ressources de calcul aussi efficacement que le gestion automatique de la charge de travail, par exemple si les files d’attente sont définies manuellement pour limiter la mémoire qui leur est allouée.

Un indicateur important pour mesurer le succès de la configuration de la gestion de la charge de travail est le débit du système, c’est-à-dire le nombre de requêtes traitées avec succès. Le débit du système est mesuré en requêtes par seconde. Pour plus d’informations sur les indicateurs du système, consultez Surveillance des performances des clusters Amazon Redshift.

La solution la plus simple pour gérer la configuration de la gestion de la charge de travail consiste à utiliser la console de gestion Amazon Redshift. Vous pouvez également utiliser l’interface de ligne de commande (CLI) Amazon Redshift ou l’API Amazon Redshift. Pour plus d’informations sur l’implémentation et l’utilisation de la gestion de la charge de travail, consultez Implémentation de la gestion de la charge de travail.