Esempio: scelta di codifiche di compressione per la tabella CUSTOMER - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempio: scelta di codifiche di compressione per la tabella CUSTOMER

La seguente dichiarazione crea una tabella CUSTOMER che dispone di colonne con diversi tipi di dati. Questa dichiarazione CREATE TABLE mostra una delle possibili combinazioni delle codifiche di compressione per queste colonne.

create table customer( custkey int encode delta, custname varchar(30) encode raw, gender varchar(7) encode text255, address varchar(200) encode text255, city varchar(30) encode text255, state char(2) encode raw, zipcode char(5) encode bytedict, start_date date encode delta32k);

La tabella seguente mostra le codifiche della colonna che sono state scelte per la tabella CUSTOMER e fornisce una spiegazione della scelta:

Colonna Tipo di dati Encoding Spiegazione
CUSTKEY int delta CUSTKEY è composta da valori interi consecutivi e univoci. Dato che le differenze saranno di 1 byte, la codifica DELTA è una buona scelta.
CUSTNAME varchar(30) raw CUSTNAME dispone di un grande dominio con pochi valori ripetuti. Qualunque codifica di compressione probabilmente non sarebbe efficace.
GENDER varchar(7) text255 GENDER è un dominio molto piccolo con molti valori ripetuti. Text255 funziona bene con le colonne VARCHAR in cui ricorrono le stesse parole.
ADDRESS varchar(200) text255 ADDRESS è un dominio grande, ma contiene molte parole ripetute come Street, Avenue, North, South e così via. Le codifiche Text255 e text32k sono utili per la compressione delle colonne VARCHAR in cui ricorrono le stesse parole. La lunghezza della colonna è corta, pertanto text255 è una buona scelta.
CITY varchar(30) text255 CITY è un dominio grande, con alcuni valori ripetuti. Alcuni nomi di città sono utilizzati di più rispetto ad altri. Text255 è una buona scelta per lo stesso motivo di ADDRESS.
STATE char(2) raw Negli Stati Uniti, STATE è un dominio preciso di 50 valori da due caratteri. La codifica bytedict restituirebbe delle compressioni, ma siccome la dimensione della colonna è di soli due caratteri, la compressione potrebbe non essere conveniente per i costi di gestione relativi alla decompressione dei dati.
ZIPCODE char(5) bytedict ZIPCODE è un dominio noto di poco più di 50.000 valori univoci. Alcuni codici zip ricorrono più di altri. La codifica bytedict è molto efficace quando una colonna contiene un numero limitato di valori univoci.
START_DATE data delta32k Le codifiche delta sono molto utili per le colonne date time, in particolare quando le righe vengono caricate nell'ordine di data.