Utilisation de la compression de colonne - 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.

Utilisation de la compression de colonne

La compression est une opération au niveau des colonnes qui réduit la taille des données lorsque celles-ci sont stockées. La compression préserve l’espace de stockage et réduit la taille des données qui sont lues depuis le stockage, ce qui réduit la quantité d’I/O de disque et par conséquent améliore les performances des requêtes.

ENCODE AUTO est la valeur par défaut pour les tables. Lorsqu’une table est définie sur ENCODE AUTO, Amazon Redshift gère automatiquement l’encodage de compression pour toutes les colonnes de la table. Pour plus d’informations, consultez CREATE TABLE et ALTER TABLE.

Cependant, si vous spécifiez l’encodage de compression pour une colonne quelconque du tableau, le tableau n’est plus défini sur ENCODE AUTO. Amazon Redshift ne gère plus automatiquement le codage de compression pour toutes les colonnes de la table.

Vous pouvez appliquer un type de compression, aussi appelé encodage, aux colonnes d’une table manuellement lorsque vous créez la table. Vous pouvez également utiliser l’instruction COPY pour analyser et appliquer automatiquement la compression. Pour plus d'informations, consultez Laissez COPY choisir les encodages de compression. Pour plus de détails sur la mise en œuvre de la compression automatique, consultez Chargement des tables avec compression automatique.

Note

Nous vous recommandons vivement d’utiliser la commande COPY pour appliquer la compression automatique.

Vous pouvez choisir d’appliquer les encodages de compression manuellement si la nouvelle table partage les mêmes caractéristiques de données qu’une autre table. Vous pouvez également le faire si vous découvrez, lors des tests, que les encodages de compression appliqués lors de la compression automatique ne sont pas les mieux adaptés à vos données. Si vous choisissez d’appliquer manuellement des encodages de compression, vous pouvez exécuter la commande ANALYZE COMPRESSION dans une table déjà renseignée et utiliser les résultats pour choisir les encodages de compression.

Pour appliquer manuellement la compression, vous spécifiez les encodages de compression de chaque colonne dans le cadre de l’instruction CREATE TABLE. La syntaxe est la suivante.

CREATE TABLE table_name (column_name data_type ENCODE encoding-type)[, ...]

Ici, le type d’encodage (encoding-type) est repris du tableau des mots-clés de la section suivante.

Par exemple, l’instruction suivante crée une table à deux colonnes, PRODUCT. Lorsque les données sont chargées dans la table, la colonne PRODUCT_ID n’est pas compressée, mais la colonne PRODUCT_NAME l’est à l’aide de l’encodage par dictionnaire d’octets (BYTEDICT).

create table product( product_id int encode raw, product_name char(20) encode bytedict);

Vous pouvez spécifier l’encodage d’une colonne lorsque celle-ci est ajoutée à une table à l’aide de la commande ALTER TABLE.

ALTER TABLE table-name ADD [ COLUMN ] column_name column_type ENCODE encoding-type