Choisir le meilleur style de distribution - Amazon Redshift

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.

Choisir le meilleur style de distribution

Lorsque vous exécutez une requête, l’optimiseur de requête redistribue les lignes sur les nœuds de calcul en fonction des besoins afin d’effectuer les jointures et les agrégations. Le choix d'un style de distribution de table a pour objectif de minimiser l'impact de l'étape de redistribution en plaçant les données où elles doivent être avant que la requête ne soit exécutée.

Note

Lorsque vous utilisez l'optimisation automatique des tables, vous n'avez pas besoin de choisir le mode de distribution de votre table. Pour plus d'informations, consultez Utilisation de l’optimisation automatique des tables.

Voici quelques suggestions pour la meilleure approche :

  1. Distribuez la table des faits et une table de dimension sur leurs colonnes communes.

    Votre table de faits peut n’avoir qu’une seule clé de distribution. Toutes les tables qui sont jointes à une autre clé de distribution ne sont pas colocalisées avec la table des faits. Choisissez une dimension pour colocaliser en fonction de la fréquence à laquelle elle est jointe et de la taille des lignes de jointure. Désignez la clé primaire de la table de dimension et la clé étrangère correspondante de la table des faits comme DISTKEY.

  2. Choisissez la plus grande dimension en fonction de la taille de l'ensemble de données filtré.

    Comme seules les lignes utilisées dans la jointure doivent être distribuées, prenez en compte la taille du jeu de données après filtrage, et non la taille de la table.

  3. Sélectionnez une colonne avec cardinalité élevée dans l'ensemble de résultats filtré.

    Si vous distribuez une table des ventes sur une colonne date, par exemple, vous obtiendrez probablement une distribution des données assez uniforme, à moins que la plupart de vos ventes ne soient saisonnières. Cependant, si vous utilisez généralement un prédicat à plage restreinte pour filtrer sur une période de dates étroite, la plupart des lignes filtrées se trouvent sur un ensemble limité de tranches et la charge de travail des requêtes est biaisée.

  4. Modifiez certaines tables de dimension pour utiliser la distribution ALL.

    Si une table de dimension ne peut pas être colocalisée avec la table des faits ou d’autres tables de jointure importantes, il vous est possible d’améliorer considérablement les performances des requêtes en distribuant la totalité de la table sur tous les nœuds. La distribution ALL multiplie les besoins en espace de stockage et augmente les temps de chargement et les opérations de maintenance. Vous devez donc évaluer tous les facteurs avant de choisir la distribution ALL.

Pour demander à Amazon Redshift de choisir le style de distribution approprié, spécifiez AUTO pour le style de distribution.

Pour plus d'informations sur le choix des styles de distribution, consultez Utilisation des styles de distribution de données.