Mise à l’échelle de la simultanéité - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

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.

Mise à l’échelle de la simultanéité

Grâce à la fonction de mise à l’échelle de la simultanéité, vous pouvez prendre en charge des milliers d’utilisateurs et de requêtes simultanées, avec des performances de requêtes toujours rapides. Lorsque vous activez la mise à l’échelle de la simultanéité, Amazon Redshift ajoute automatiquement de la capacité supplémentaire au cluster pour traiter un plus grand nombre de requêtes de lecture et d’écriture. Les utilisateurs voient les données les plus récentes, que les requêtes s’exécutent sur le cluster principal ou sur un cluster de mise à l’échelle de la simultanéité.

Vous pouvez gérer quelles requêtes sont envoyées au cluster de mise à l’échelle de la simultanéité en configurant les files d’attente WML. Lorsque vous activez la mise à l’échelle de la simultanéité, les requêtes éligibles sont envoyées au cluster de mise à l’échelle de la simultanéité au lieu d’attendre dans une file.

Vous êtes facturé pour les clusters de mise à l’échelle de la simultanéité uniquement pour la durée de leur utilisation. Pour plus d’informations sur les tarifs, y compris la façon dont les frais sont calculés et les frais minimaux, consultez Tarification de la mise à l’échelle de la simultanéité.

Capacités de mise à l’échelle de la simultanéité

Lorsque vous activez la mise à l’échelle de la simultanéité pour une file d’attente WLM, cela fonctionne pour les opérations de lecture, telles que les requêtes de tableau de bord. Cela fonctionne également pour les opérations d’écriture couramment utilisées, telles que les instructions pour l’ingestion et le traitement des données.

Capacités de mise à l’échelle de la simultanéité pour les opérations d’écriture

La mise à l’échelle de la simultanéité prend en charge les opérations d’écriture fréquemment utilisées, telles que les instructions Extract-transform-load (ETL). La mise à l’échelle de la simultanéité pour les opérations d’écriture est particulièrement utile lorsque vous souhaitez maintenir la cohérence des temps de réponse lorsque votre cluster reçoit un grand nombre de demandes. Cela améliore le débit pour les opérations d’écriture qui se disputent des ressources sur le cluster principal.

Le dimensionnement simultané prend en charge les instructions COPY, INSERT, DELETE, UPDATE, CREATE TABLE AS (CTAS) et VACUUM. En outre, le dimensionnement simultané prend en charge l'actualisation manuelle des vues matérialisées (MVs) et les opérations de vide automatiques. Les autres instructions DML (Data-Manipulation Language) et DDL (Data-Definition Language) ne sont pas prises en charge. Lorsque des instructions d’écriture non prises en charge, telles que CREATE sans TABLE AS, sont incluses dans une transaction explicite avant les instructions d’écriture prises en charge, aucune des instructions d’écriture n’est exécutée sur les clusters de mise à l’échelle de la simultanéité.

Lorsque vous accumulez des crédits pour la mise à l’échelle de la simultanéité, cette provision de crédits s’applique à la fois aux opérations de lecture et d’écriture.

Limitations de la mise à l’échelle de la simultanéité

Les restrictions suivantes s’appliquent à l’utilisation de l’adaptation de la simultanéité Amazon Redshift :

  • Elle ne prend pas en charge les requêtes sur les tables qui utilisent les clés de tri entrelacées.

  • Elle ne prend pas en charge les requêtes sur les tables temporaires.

  • Elle ne prend pas en charge les requêtes qui accèdent aux ressources externes protégées par des configurations restrictives de réseau ou de cloud privé virtuel (VPC).

  • Il ne prend pas en charge les requêtes contenant des fonctions Python définies par l'utilisateur (UDFs) et Lambda UDFs.

  • Elle ne prend pas en charge les requêtes qui accèdent aux tables système, de catalogue PostgreSQL ou sans sauvegarde.

  • Elle ne prend pas en charge les requêtes COPY ou UNLOAD qui accèdent à une ressource externe lorsque des autorisations de politique IAM restrictives sont en place. Cela inclut les autorisations appliquées soit à la ressource, comme un compartiment Amazon S3 ou une table DynamoDB, soit à la source. Les sources IAM peuvent inclure les suivantes :

    • aws:sourceVpc – Un VPC source.

    • aws:sourceVpce – Un point de terminaison d’un VPC source.

    • aws:sourceIp – Une adresse IP source.

    Dans certains cas, vous devrez peut-être supprimer les autorisations qui restreignent la ressource ou la source, afin que les requêtes COPY et UNLOAD accédant à la ressource soient envoyées au cluster de mise à l’échelle de la simultanéité.

    Pour plus d'informations sur les politiques relatives aux ressources, consultez les sections Types de politiques dans le guide de l'Gestion des identités et des accès AWSutilisateur et Contrôle de l'accès depuis les points de terminaison VPC à l'aide de politiques de compartiment.

  • Le dimensionnement simultané d'Amazon Redshift pour les opérations d'écriture n'est pas pris en charge pour la plupart des opérations DDL, telles que CREATE TABLE.

  • Elle ne prend pas en charge ANALYZE pour la commande COPY.

  • Elle ne prend pas en charge les opérations d’écriture sur une table cible où DISTSTYLE est défini sur ALL.

  • Elle ne prend pas en charge la commande COPY à partir des formats de fichiers suivants :

    • Parquet

    • ORC

  • Elle ne prend pas en charge les opérations d’écriture sur les tables avec des colonnes d’identité.

  • Amazon Redshift prend en charge le dimensionnement simultané pour les opérations d'écriture uniquement sur les nœuds Amazon Redshift. RA3 La mise à l’échelle de la simultanéité pour les opérations d’écriture n’est pas prise en charge sur les autres types de nœuds.

Régions AWSpour la mise à l'échelle simultanée

Avec Amazon Redshift, vous pouvez utiliser la mise à l’échelle de la simultanéité pour gérer les demandes de charge de travail simultanées sur les clusters Redshift. Cette rubrique détaille les régions dans lesquelles vous pouvez utiliser la mise à l’échelle de la simultanéité avec Amazon Redshift.

La mise à l'échelle de la simultanéité est disponible dans les AWS régions suivantes :

  • Région USA Est (Virginie du Nord) (us-east-1)

  • Région USA Est (Ohio) (us-east-2)

  • Région US Ouest (Californie du Nord) (us-west-1)

  • Région USA Ouest (Oregon) (us-west-2)

  • Région Afrique (Le Cap) (af-south-1)

  • Région Asie-Pacifique (Mumbai) (ap-south-1)

  • Région Asie-Pacifique (Hyderabad) (ap-south-2)

  • Région Asie-Pacifique (Séoul) (ap-northeast-2)

  • Région Asie-Pacifique (Osaka) (ap-northeast-3)

  • Région Asie-Pacifique (Singapour) (ap-southeast-1)

  • Région Asie-Pacifique (Sydney) (ap-southeast-2)

  • Région Asie-Pacifique (Jakarta) (ap-southeast-3)

  • Région Asie-Pacifique (Malaisie) (ap-southeast-5)

  • Région Asie-Pacifique (Nouvelle Zélande) (ap-southeast-6)

  • Région Asie-Pacifique (Thaïlande) (ap-southeast-7)

  • Région Asie-Pacifique (Hong Kong) (ap-east-1)

  • Région Asie-Pacifique (Taipei) (ap-east-2)

  • Région Asie-Pacifique (Tokyo) (ap-northeast-1)

  • Région Canada (Centre) (ca-central-1)

  • Région Canada Ouest (Calgary) (ca-west-1)

  • Région Chine (Beijing) (cn-north-1)

  • Région Chine (Ningxia) (cn-northwest-1)

  • Région Europe (Francfort) (eu-central-1)

  • Région Europe (Irlande) (eu-west-1)

  • Région Europe (Londres) (eu-west-2)

  • Région Europe (Paris) (eu-west-3)

  • Région Europe (Stockholm) (eu-north-1)

  • Région Europe (Zurich) (eu-central-2)

  • Région Europe (Milan) (eu-south-1)

  • Région Europe (Espagne) (eu-south-2)

  • Région Israël (Tel Aviv) (il-central-1)

  • Région Moyen-Orient (Bahreïn) (me-south-1)

  • Région Mexique (Centre) (mx-central-1)

  • Région Amérique du Sud (Sao Paulo) (sa-east-1)

  • AWSGovCloud (USA Est)

  • AWSGovCloud (US-Ouest)

Candidats à la mise à l’échelle de la simultanéité

Avec Amazon Redshift, vous pouvez mettre à l’échelle le traitement des requêtes afin d’accélérer l’exécution de requêtes simultanées. La rubrique suivante décrit les critères utilisés par Amazon Redshift pour déterminer les requêtes à acheminer vers la mise à l’échelle de la simultanéité.

Les requêtes sont acheminées vers le cluster de mise à l’échelle de la simultanéité uniquement lorsque le cluster principal répond aux exigences suivantes :

  • EC2-Plateforme VPC.

  • Le type de nœud doit être dc2.8xlarge, dc2.large, ra3.large, ra3.xlplus, ra3.4xlarge ou ra3.16xlarge. Le dimensionnement simultané pour les opérations d'écriture est pris en charge uniquement sur les nœuds Amazon RA3 Redshift.

  • 32 nœuds de calcul au maximum pour les clusters avec les types de nœuds ra3.xlplus, ra3.4xlarge ou ra3.16xlarge. En outre, le nombre de nœuds du cluster principal ne peut pas dépasser 32 nœuds lorsque le cluster a été créé à l’origine. Par exemple, même si un cluster a actuellement 20 nœuds, mais qu’il a été créé à l’origine avec 40, il ne répond pas aux conditions requises pour la mise à l’échelle de la simultanéité. À l'inverse, si un DC2 cluster compte actuellement 40 nœuds, mais qu'il a été créé à l'origine avec 20 nœuds, il répond aux exigences relatives à la mise à l'échelle de la simultanéité.

  • Ce n’est pas un cluster à nœud unique.

Configuration de files d’attente de mise à l’échelle de la simultanéité

Avec Amazon Redshift, vous pouvez gérer la simultanéité et les ressources système en configurant la mise à l’échelle de la simultanéité. Les files d’attente de mise à l’échelle de la simultanéité vous permettent de définir des limites quant au nombre de requêtes ou de sessions utilisateur pouvant être exécutées simultanément. La section suivante fournit des instructions sur la façon d’activer les files d’attente de mise à l’échelle de la simultanéité dans Amazon Redshift, ce qui vous permet de gérer efficacement les requêtes simultanées et les sessions utilisateur.

Vous acheminez les requêtes vers les clusters de mise à l’échelle de la simultanéité en activant la mise à l’échelle dans une file d’attente de gestionnaire de la charge de travail (WLM). Pour activer la mise à l’échelle de la simultanéité sur une file d’attente, définissez la valeur de Concurrency Scaling mode sur auto.

Lorsque le nombre de requêtes acheminées vers une file d’attente avec la mise à l’échelle de la simultanéité activée dépasse la capacité de simultanéité de la file d’attente, que la capacité soit configurée manuellement ou déterminée automatiquement, les requêtes éligibles sont envoyées au cluster de mise à l’échelle de la simultanéité. Lorsque des emplacements de file d’attente sont disponibles sur le cluster principal, les requêtes sont acheminées vers le cluster principal et exécutées sur celui-ci. Comme avec n’importe quelle file d’attente WLM, vous acheminez les requêtes vers une file d’attente de mise à l’échelle de la simultanéité en fonction des groupes d’utilisateurs ou en étiquetant les requêtes avec des étiquettes de groupe de requêtes, ou en fonction des conditions de correspondance définies dans Affectation des requêtes à des files d’attente. Vous pouvez également acheminer les requêtes en définissant des Règles de surveillance de requête WLM. Par exemple, vous pouvez acheminer toutes les requêtes qui nécessitent plus de 5 secondes vers une file d’attente de mise à l’échelle de la simultanéité. N’oubliez pas que le comportement de mise en file d’attente peut varier selon que vous utilisez la gestion automatique de la charge de travail ou la gestion manuelle de la charge de travail. Pour plus d’informations, consultez Implémentation de la gestion automatique de la charge de travail ou Implémentation de la gestion manuelle de la charge de travail.

Par défaut, il y a un cluster pour la mise à l’échelle de la simultanéité. Le nombre de clusters de mise à l’échelle de la simultanéité qui peuvent être utilisés est contrôlé par max_concurrency_scaling_clusters.

Surveillance de la mise à l’échelle de la simultanéité

Avec Amazon Redshift, vous pouvez surveiller et gérer la mise à l’échelle de la simultanéité afin d’optimiser les performances et la rentabilité de vos charges de travail d’entrepôt de données. La mise à l’échelle de la simultanéité permet à Amazon Redshift d’ajouter automatiquement de la capacité de cluster supplémentaire lorsque la charge de travail augmente, et de supprimer cette capacité lorsque les demandes diminuent. La section suivante fournit des conseils sur la surveillance de la mise à l’échelle de la simultanéité pour vos clusters Amazon Redshift.

Pour voir si une requête s’exécute sur le cluster principal ou sur un cluster de mise à l’échelle de la simultanéité, accédez à Cluster dans la console Amazon Redshift, puis choisissez un cluster. Choisissez ensuite l’onglet Surveillance des requêtes et Simultanéité de charge de travail pour afficher des informations sur les requêtes en cours d’exécution et les requêtes en file d’attente.

Pour rechercher les temps d’exécution, interrogez la table STL_QUERY et filtrez sur la colonne concurrency_scaling_status. La requête suivante compare le temps d’attente et le temps d’exécution pour les requêtes exécutées sur le cluster de mise à l’échelle de la simultanéité et les requêtes exécutées sur le cluster principal.

SELECT w.service_class AS queue , CASE WHEN q.concurrency_scaling_status = 1 THEN 'concurrency scaling cluster' ELSE 'main cluster' END as concurrency_scaling_status , COUNT( * ) AS queries , SUM( q.aborted ) AS aborted , SUM( ROUND( total_queue_time::NUMERIC / 1000000,2) ) AS queue_secs , SUM( ROUND( total_exec_time::NUMERIC / 1000000,2) ) AS exec_secs FROM stl_query q JOIN stl_wlm_query w USING (userid,query) WHERE q.userid > 1 AND q.starttime > '2019-01-04 16:38:00' AND q.endtime < '2019-01-04 17:40:00' GROUP BY 1,2 ORDER BY 1,2;

Ajustez les valeurs starttime et endtime en fonction de vos besoins.

Vues système de la mise à l’échelle de la simultanéité

Avec Amazon Redshift, vous pouvez utiliser les vues système de la mise à l’échelle de la simultanéité pour surveiller et gérer les activités de mise à l’échelle de la simultanéité dans votre cluster. La section suivante décrit l’interrogation de ces vues système et l’interprétation des résultats afin de tirer efficacement parti de la mise à l’échelle de la simultanéité dans votre environnement Amazon Redshift.

Un ensemble de vues système avec le préfixe SVCS fournit des détails à partir des tables du journal système concernant les requêtes sur le cluster principal et le cluster de mise à l’échelle de la simultanéité.

Les vues suivantes contiennent des informations similaires à celles des tables STL et des vues SVL correspondantes :

Les vues suivantes sont spécifiques à la mise à l’échelle de la simultanéité :

Pour plus d’informations sur la mise à l’échelle de la simultanéité, consultez les rubriques suivantes dans le Guide de la gestion du cluster Amazon Redshift.