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.
WLMsaut dans la file d'attente des requêtes
Avec Amazon Redshift, vous pouvez gérer la simultanéité de la charge de travail et l'allocation des ressources en activant le saut dans la file d'attente des requêtes WLM (gestion de la charge de travail). Cette fonctionnalité permet aux requêtes de « passer » temporairement d'une file d'attente assignée à une file d'attente plus prioritaire lorsque des ressources sont disponibles, améliorant ainsi les performances globales des requêtes et l'utilisation du système. Les sections suivantes fournissent des instructions détaillées sur la configuration et l'utilisation du saut de file d'attente de WLM requêtes dans Amazon Redshift.
Une requête peut être interrompue en raison d'un WLMdélai d'attente ou d'une action de saut liée à la règle de surveillance des requêtes (QMR). Vous ne pouvez effectuer des requêtes que dans le cadre d'une WLM configuration manuelle.
Lorsqu'une requête est sautée, WLM tente de l'acheminer vers la file d'attente correspondante suivante en fonction des règles d'attribution de WLM file d'attente. Si la requête ne correspond à aucune autre définition de file d’attente, elle est annulée. Elle n’est pas affectée à la file d’attente par défaut.
WLMactions de temporisation
Le tableau suivant récapitule le comportement de différents types de requêtes présentant un WLM délai d'expiration.
Type de requête | Action |
---|---|
INSERT,UPDATE, et DELETE | Annuler |
Fonctions définies par l'utilisateur () UDFs | Annuler |
UNLOAD | Annuler |
COPY | Continuer l’exécution |
Opérations de maintenance | Continuer l’exécution |
Requêtes en lecture seule dans un état de returning |
Continuer l’exécution |
Requêtes en lecture seule dans un état de running |
Réaffecter ou redémarrer |
CREATETABLEEN TANT QUE (CTAS), SELECT INTO | Réaffecter ou redémarrer |
WLMdépassement de la file d'attente
WLMlance les types de requêtes suivants lorsqu'ils expirent :
-
Requêtes en lecture seule, telles que les SELECT instructions, dont WLM l'état est égal à.
running
Pour connaître l'WLMétat d'une requête, consultez la STATE colonne de la table STV_WLM_QUERY_STATE système. -
CREATETABLEdéclarations AS (CTAS). WLMle saut de file d'attente prend en charge les instructions définies par l'utilisateur et générées par le systèmeCTAS.
-
SELECTINTOdéclarations.
Les requêtes qui ne sont pas soumises à un WLM délai d'expiration continuent de s'exécuter dans la file d'attente d'origine jusqu'à ce qu'elles soient terminées. Les types de requêtes suivants ne sont pas soumis à un WLM délai d'expiration :
-
COPYdéclarations
-
Les opérations de maintenance, telles que ANALYZE et VACUUM
-
Requêtes en lecture seule, telles que les SELECT instructions, qui ont atteint WLM l'état de.
returning
Pour connaître l'WLMétat d'une requête, consultez la STATE colonne de la table STV_WLM_QUERY_STATE système.
Les requêtes qui ne sont pas éligibles au saut par WLM délai d'expiration sont annulées lorsqu'elles expirent. Les types de requêtes suivants ne sont pas éligibles à un saut avant WLM expiration :
-
INSERTUPDATE, et DELETE déclarations
-
UNLOADdéclarations
-
Fonctions définies par l'utilisateur () UDFs
WLMdélai d'attente, réaffectation et requêtes redémarrées
Lorsqu’une requête est replacée et qu’aucune file d’attente correspondante n’est trouvée, celle-ci est annulée.
Lorsqu'une requête est sautée et qu'une file d'attente correspondante est trouvée, WLM tente de réaffecter la requête à la nouvelle file d'attente. Si une requête ne peut être réaffectée, elle est redémarrée dans la nouvelle file d’attente, comme décrit ci-après.
Une requête est affectée uniquement si toutes les conditions suivantes sont vraies :
-
Une file d’attente correspondante a été trouvée.
-
La nouvelle file d’attente dispose de suffisamment d’emplacements libres pour exécuter la requête. Une requête peut nécessiter plusieurs emplacements si le paramètre wlm_query_slot_count a été défini sur une valeur supérieure à 1.
-
La nouvelle file d’attente dispose d’au moins autant de mémoire disponible que la requête en utilise actuellement.
Si la requête est réaffectée, celle-ci continue à s’exécuter dans la nouvelle file d’attente. Les résultats intermédiaires sont préservés, de sorte que l’impact sur le temps d’exécution total est minime.
Si la requête ne peut être réaffectée, elle est annulée et redémarrée dans la nouvelle file d’attente. Les résultats intermédiaires sont supprimés. La requête attend dans la file d’attente, puis commence à s’exécuter lorsque suffisamment d’emplacements sont disponibles.
QMRActions d'achat
Le tableau suivant résume le comportement de différents types de requêtes avec une action de QMR saut.
Type de requête | Action |
---|---|
COPY | Continuer l’exécution |
Opérations de maintenance | Continuer l’exécution |
Fonctions définies par l'utilisateur () UDFs | Continuer l’exécution |
UNLOAD | Réaffecter ou continuer l’exécution |
INSERT,UPDATE, et DELETE | Réaffecter ou continuer l’exécution |
Requêtes en lecture seule dans un état de returning |
Réaffecter ou continuer l’exécution |
Requêtes en lecture seule dans un état de running |
Réaffecter ou redémarrer |
CREATETABLEEN TANT QUE (CTAS), SELECT INTO | Réaffecter ou redémarrer |
Pour savoir si une requête saisie a QMR été réaffectée, redémarrée ou annulée, interrogez la table des journaux du STL_WLM_RULE_ACTION système.
QMRaction hop réassignée et requêtes redémarrées
Lorsqu’une requête est replacée et qu’aucune file d’attente correspondante n’est trouvée, celle-ci est annulée.
Lorsqu'une requête est sautée et qu'une file d'attente correspondante est trouvée, WLM tente de réaffecter la requête à la nouvelle file d'attente. Si une requête ne peut être réaffectée, elle est redémarrée dans la nouvelle file d’attente ou continue de s’exécuter dans la file d’attente d’origine, comme décrit ci-après.
Une requête est affectée uniquement si toutes les conditions suivantes sont vraies :
-
Une file d’attente correspondante a été trouvée.
-
La nouvelle file d’attente dispose de suffisamment d’emplacements libres pour exécuter la requête. Une requête peut nécessiter plusieurs emplacements si le paramètre wlm_query_slot_count a été défini sur une valeur supérieure à 1.
-
La nouvelle file d’attente dispose d’au moins autant de mémoire disponible que la requête en utilise actuellement.
Si la requête est réaffectée, celle-ci continue à s’exécuter dans la nouvelle file d’attente. Les résultats intermédiaires sont préservés, de sorte que l’impact sur le temps d’exécution total est minime.
Si une requête ne peut être réaffectée, elle est redémarrée ou continue de s’exécuter dans la file d’attente d’origine. Si la requête est redémarrée, elle est annulée et redémarrée dans la nouvelle file d’attente. Les résultats intermédiaires sont supprimés. La requête attend dans la file d’attente, puis commence à s’exécuter lorsque suffisamment d’emplacements sont disponibles.