Comment créer et hiérarchiser des files d'attente de requêtes dans mon cluster Amazon Redshift ?

Date de la dernière mise à jour : 29/10/2020

Je souhaite créer et prioriser certaines files d'attente de requêtes dans Amazon Redshift. Comment dois-je procéder ?

Brève description

Dans Amazon Redshift, vous pouvez créer des requêtes ETL (Extract Transform Load) puis les séparer en différentes files d'attente en fonction de la priorité. Les requêtes peuvent être classées par ordre de priorité en fonction du groupe d'utilisateurs, du groupe de requêtes et des règles d'attribution des requêtes.

Pour hiérarchiser vos requêtes, utilisez Amazon Redshift Workload Management (WLM). Amazon Redshift prend en charge les configurations WLM suivantes :

  • WLM automatique: lorsque vous activez le WLM automatique, votre simultanéité de requête et l'allocation de mémoire sont gérées par Amazon Redshift. Amazon Redshift détermine la quantité de ressources dont les requêtes ont besoin et ajuste la quantité en conséquence. Contrairement au WLM manuel, le WLM automatique vous permet de définir une valeur de priorité de requête pour indiquer la priorité relative des charges de travail. Pour le WLM automatique et manuel, vous pouvez créer des files d'attente de requête séparées.
  • WLM manuel : Le WLM manuel est utilisé pour gérer plusieurs files d'attente WLM dans Amazon Redshift. Avec le WLM manuel, vous devez spécifier des valeurs pour les emplacements de simultanéité des requêtes WLM et les propriétés d'allocation de mémoire. Pour le WLM automatique et manuel, vous pouvez créer des files d'attente de requête séparées. Pour le WLM manuel, la valeur de simultanéité par défaut est de cinq requêtes et l'allocation de mémoire est divisée en parts égales. Utilisez le WLM manuel si vous souhaitez gérer votre propre charge de travail ou affecter manuellement des ressources aux requêtes.

Pour hiérarchiser vos requêtes, choisissez la configuration WLM qui correspond le mieux à votre cas d'utilisation.

Résolution

WLM automatique

Lorsque vous activez le WLM automatique, Amazon Redshift détermine automatiquement la façon dont les ressources sont allouées à chaque requête. La simultanéité est ajustée en fonction de votre charge de travail.

Remarque : Il est recommandé de tester le WLM automatique sur des requêtes ou des charges de travail existantes avant de déplacer la configuration vers la production.

Pour hiérarchiser votre charge de travail dans Amazon Redshift à l'aide du WLM automatique, effectuez les opérations suivantes :

1.    Connectez-vous à AWS Management Console.

2.    Ouvrez la console Amazon Redshift.

3.    Dans le menu de navigation, choisissez CONFIG.

4.    Choisissez Gestion des charges de travail.

5.    Choisissez le groupe de paramètres que vous souhaitez modifier.

6.    Cliquez sur l'onglet Gestion des charges de travail pour afficher la configuration WLM actuelle.

7.    (Facultatif) Si votre groupe de paramètres WLM est défini sur le mode WLM automatique aucune mise à jour n'est requise.

8.    (Facultatif) Si votre groupe de paramètres WLM est défini sur le mode WLM manuel modifiez la configuration WLM pour votre groupe de paramètres. Choisissez Modifier les files d'attente de la charge de travail pour modifier la configuration WLM. Ensuite, choisissez Basculer le mode WLM pour passer en mode WLM automatique.

9.    Choisissez Ajouter une file d'attente pour ajouter des files d'attente de charge de travail supplémentaires. Vous pouvez créer des files d'attente séparées (avec un maximum de huit files d'attente) pour chaque charge de travail, en associant les files d'attente à des groupes d'utilisateurs ou à des groupes de requêtes.

10.    Choisissez Save (Enregistrer).

11.    Affecter des requêtes aux files d'attente.

12.    Configurez le statut de priorité de votre file d'attente. Par défaut, chaque file d'attente se voit attribuer un statut de priorité « Normal ».

Remarque : les superutilisateurs peuvent appliquer un statut de priorité « Critique » (le niveau de priorité le plus élevé) à une requête. Si une charge de travail est marquée comme priorité « critique », seule une de ses requêtes peut être exécutée à chaque fois.

13.    (Facultatif) Créez une règle de surveillance des requêtes WLM pour définir des limites de performances (telles que des limites de temps ou des niveaux de simultanéité) pour les requêtes et les files d'attente. Par exemple, vous pouvez définir votre règle de surveillance des requêtes pour modifier le status de priorité d'une requête si une requête en cours d'exécution dépasse 40 secondes.

WLM manuel

Lorsque vous activez le WLM manuel, chaque file d'attente se voit allouer une partie de la mémoire disponible du cluster. La mémoire d'une file d'attente est répartie également entre les emplacements de requête de la file d'attente. Si vous gérez plusieurs files d'attente WLM, vous pouvez configurer les files d'attente de gestion des charges de travail (WLM) pour améliorer le traitement des requêtes.

Pour hiérarchiser votre charge de travail dans Amazon Redshift à l'aide du WLM manuel, effectuez les opérations suivantes :

1.    Connectez-vous à AWS Management Console.

2.    Ouvrez la console Amazon Redshift.

3.    Dans le menu de navigation, choisissez CONFIG.

4.    Choisissez Gestion des charges de travail.

5.    Choisissez le groupe de paramètres que vous souhaitez modifier.

6.    Cliquez sur l'onglet Gestion des charges de travail pour afficher la configuration WLM actuelle.

7.    (Facultatif) Si votre groupe de paramètres WLM est défini sur le mode WLM manuel aucune mise à jour n'est requise.

8.    (Facultatif) Si votre groupe de paramètres WLM est défini sur le mode WLM automatique modifiez la configuration WLM pour votre groupe de paramètres. Choisissez Modifier les files d'attente de la charge de travail pour modifier la configuration WLM. Ensuite, choisissez Basculer le mode WLM pour passer en mode WLM manuel.

9.    Choisissez Ajouter une file d'attente pour ajouter des files d'attente de charge de travail supplémentaires. Vous pouvez créer des files d'attente séparées (avec un maximum de huit files d'attente) pour chaque charge de travail, en associant les files d'attente à des groupes d'utilisateurs ou à des groupes de requêtes.

10.    Choisissez Save (Enregistrer).

11.    Créez et définissez une règle d'attribution de requête.

Remarque : Les requêtes sont attribuées en fonction de l'utilisateur ou du groupe de requêtes. Les requêtes qui ne sont pas attribuées s'exécutent dans la file d'attente par défaut.

12.    Utilisez l'allocation de mémoire dynamique WLM pour configurer la quantité de mémoire allouée à chaque file d'attente. La configuration de la mémoire dynamique WLM vous aide à hiérarchiser votre charge de travail en fonction de l'utilisation de la mémoire.

13.    (Facultatif) Créez et définissez une règle de surveillance des requêtes pour gérer les requêtes qui atteignent les limites des mesures. Par exemple, vous pouvez utiliser une règle de surveillance des requêtes pour interrompre ou annuler une requête longue durée.