Stili di distribuzione - 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à.

Stili di distribuzione

Quando create una tabella, potete designare uno dei seguenti stili di distribuzione: AUTO, EVEN, KEY o ALL.

Se non si specifica uno stile di distribuzione, Amazon Redshift utilizza la distribuzione AUTO.

Distribuzione AUTO

Con la distribuzione AUTO, Amazon Redshift assegna uno stile di distribuzione ottimale basato sulla dimensione dei dati della tabella. Ad esempio, se viene specificato lo stile di distribuzione AUTO, Amazon Redshift assegna inizialmente la distribuzione ALL a una tabella di piccole dimensioni. Quando le dimensioni della tabella aumentano, Amazon Redshift potrebbe modificare lo stile di distribuzione in KEY, scegliendo la chiave primaria (o una colonna della chiave primaria composita) come chiave di distribuzione. Se le dimensioni della tabella aumentano e nessuna delle colonne è adatta per essere utilizzata come chiave di distribuzione, Amazon Redshift modifica lo stile di distribuzione in EVEN. La modifica dello stile di distribuzione avviene in background con un impatto minimo sulle query degli utenti.

Per visualizzare le operazioni eseguite automaticamente da Amazon Redshift per modificare una chiave di distribuzione della tabella, consultare SVL_AUTO_WORKER_ACTION. Per visualizzare i suggerimenti correnti relativi alla modifica di una chiave di distribuzione della tabella, consultare SVV_ALTER_TABLE_RECOMMENDATIONS.

Per visualizzare lo stile di distribuzione applicato a una tabella, eseguire una query sulla visualizzazione del catalogo di sistema PG_CLASS_INFO. Per ulteriori informazioni, consultare Visualizzazione degli stili di distribuzione. Se non si specifica uno stile di distribuzione con l'istruzione CREATE TABLE, Amazon Redshift applica la distribuzione AUTO.

Distribuzione EVEN

Il nodo principale distribuisce le righe tra le sezioni con un metodo round robin, indipendentemente dai valori in una determinata colonna. La distribuzione EVEN è appropriata quando una tabella non partecipa ai join. È appropriata anche quando non c'è una scelta chiara tra la distribuzione KEY e la distribuzione ALL.

Distribuzione KEY

Le righe sono distribuite in funzione dei valori in una colonna. Il nodo principale posiziona valori corrispondenti sulla stessa sezione di nodo. Se si distribuisce una coppia di tabelle sulle chiavi di join, il nodo principale colloca le righe sulle sezioni in funzione dei valori nelle colonne di join affinché i valori corrispondenti delle colonne comuni siano archiviati fisicamente insieme. In questo modo, i valori corrispondenti delle colonne comuni vengono fisicamente memorizzati insieme.

Distribuzione ALL

Un copia dell'intera tabella viene distribuita a ogni nodo. Dove la distribuzione EVEN o KEY posiziona solo una parte delle righe di una tabella su ogni nodo, la distribuzione ALL assicura la collocazione di ogni riga per ogni join a cui la tabella partecipa.

La distribuzione ALL moltiplica lo storage richiesto dal numero di nodi nel cluster, quindi impiega più tempo per caricare, aggiornare o inserire i dati in più tabelle. La distribuzione ALL è idonea solo per spostamenti relativamente lenti delle tabelle, ovvero per le tabelle che non vengono aggiornate intensamente o frequentemente. Poiché il costo della ridistribuzione di piccole tabelle durante una query è basso, non vi è un vantaggio significativo per definire le tabelle di dimensioni ridotte come DISTSTYLE ALL.

Nota

Dopo aver specificato uno stile di distribuzione per una colonna, Amazon Redshift gestisce la distribuzione dei dati a livello di cluster. Amazon Redshift non richiede né supporta il concetto di partizionamento dei dati all'interno degli oggetti del database. Non è necessario creare spazi di tabelle o definire schemi di partizionamento per le tabelle.

In alcuni scenari, puoi modificare lo stile di distribuzione di una tabella dopo che è stata creata. Per ulteriori informazioni, consultare ALTER TABLE. Per gli scenari in cui non puoi modificare lo stile di distribuzione di una tabella dopo che è stata creata, puoi ricreare la tabella e popolarla con una copia completa. Per ulteriori informazioni, consultare Esecuzione di una copia completa