Détermination des styles 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.

Détermination des styles de distribution

Les considérations et recommandations relatives à la désignation des styles distribution dans cette section sont basées sur un schéma en étoile à titre d’exemple. La conception de votre base de données peut être basée sur un schéma en étoile, une variante de ce schéma ou un schéma totalement différent. Amazon Redshift est conçu pour fonctionner efficacement avec n’importe quel conception de schéma, à votre choix. Les principes de cette section peuvent être appliqués à n’importe quel schéma de conception.

  1. Spécifiez la clé primaire et les clés étrangères de toutes vos tables.

    Amazon Redshift n’applique pas les contraintes de clés primaires et de clés étrangères, mais l’optimiseur de requêtes les utilise lorsqu’il génère des plans de requêtes. Si vous définissez les clés primaires et les clés étrangères, votre application doit gérer la validité des clés.

  2. Distribuez la table des faits et sa plus grande table de dimension sur leurs colonnes communes.

    Choisissez la dimension la plus grande en fonction de la taille du jeu de données qui participe à la jointure la plus courante, et pas seulement de la taille de la table. Si une table est généralement filtrée, à l’aide d’une clause WHERE, seule une partie de ses lignes participe à la jointure. Une telle table a moins d’impact sur la redistribution qu’une table plus petite qui comporte davantage de données. Désignez la clé primaire de la table de dimension et la clé étrangère correspondante de la table des faits en tant que DISTKEY. Si plusieurs tables utilisent la même clé de distribution, elles seront également colocalisées avec la table des faits. 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.

  3. Désignez des clés de distribution pour les autres tables de dimension.

    Distribuez les tables sur leurs clés primaires ou leurs clés étrangères, en fonction de la manière dont elles sont jointes le plus souvent avec d’autres tables.

  4. Évaluez s’il faut modifier certaines des 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. La section suivante explique comment identifier les candidats à la distribution ALL en évaluant le plan EXPLAIN.

  5. Utilisez la distribution AUTO pour les tables restantes.

    Si une table est largement dénormalisée et ne participe pas à des jointures, ou si vous n’avez pas fait de choix arrêté sur un autre style de distribution, utilisez la distribution AUTO.

Pour laisser Amazon Redshift choisir le style de distribution approprié, ne spécifiez pas explicitement de style de distribution.