Utilizzo dell'ottimizzazione automatica delle tabelle - 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à.

Utilizzo dell'ottimizzazione automatica delle tabelle

L'ottimizzazione automatica delle tabelle è una funzionalità di auto-tuning che ottimizza automaticamente la progettazione delle tabelle applicando le chiavi di ordinamento e distribuzione senza la necessità di un intervento dell'amministratore. Utilizzando l'automazione per ottimizzare la progettazione delle tabelle, è possibile iniziare e ottenere subito le prestazioni più veloci senza investire tempo per ottimizzare e implementare manualmente le ottimizzazioni delle tabelle.

L'ottimizzazione automatica delle tabelle osserva continuamente il modo in cui le query interagiscono con le tabelle. Utilizza metodi avanzati di intelligenza artificiale per scegliere le chiavi di ordinamento e distribuzione per ottimizzare le prestazioni per il carico di lavoro del cluster. Se Amazon Redshift determina che l'applicazione di una chiave migliora le prestazioni del cluster, le tabelle vengono modificate automaticamente entro poche ore dal momento in cui il cluster è stato creato, con un impatto minimo sulle query.

Per sfruttare questa automazione, un amministratore Amazon Redshift crea una nuova tabella o modifica una tabella esistente per consentirgli di utilizzare l'ottimizzazione automatica. Le tabelle esistenti con uno stile di distribuzione o una chiave di ordinamento AUTO sono già abilitati per l'automazione. Quando si eseguono query su tali tabelle, Amazon Redshift determina se una chiave di ordinamento o una chiave di distribuzione migliorerà le prestazioni. In tal caso, Amazon Redshift modifica automaticamente la tabella senza richiedere l'intervento dell'amministratore. Se viene eseguito un numero minimo di query, le ottimizzazioni vengono applicate entro poche ore dall'avvio del cluster.

Se Amazon Redshift determina che una chiave di distribuzione migliora le prestazioni delle query, lo stile di distribuzione AUTO delle tabelle può cambiare in KEY.

Abilitazione dell'ottimizzazione automatica delle tabelle

Per impostazione predefinita, le tabelle create senza definire esplicitamente le chiavi di ordinamento o le chiavi di distribuzione sono impostate su AUTO. Al momento della creazione della tabella, è anche possibile impostare manualmente una chiave di distribuzione o di ordinamento in modo esplicito. Se si imposta la chiave di ordinamento o di distribuzione, la tabella non viene gestita automaticamente.

Per consentire l'ottimizzazione automatica di una tabella esistente, utilizzare le opzioni dell'istruzione ALTER per modificare la tabella in AUTO. È possibile scegliere di definire l'automazione per le chiavi di ordinamento, ma non per le chiavi di distribuzione (e viceversa). Se si esegue un'istruzione ALTER per convertire una tabella in una tabella automatica, le chiavi di ordinamento e gli stili di distribuzione esistenti vengono mantenuti.

ALTER TABLE table_name ALTER SORTKEY AUTO;
ALTER TABLE table_name ALTER DISTSTYLE AUTO;

Per ulteriori informazioni, consultare ALTER TABLE.

Inizialmente, una tabella non dispone di una chiave di distribuzione o di una chiave di ordinamento. Lo stile di distribuzione è impostato su EVEN o ALL a seconda delle dimensioni della tabella. Man mano che la tabella cresce di dimensioni, Amazon Redshift applica le chiavi di distribuzione e le chiavi di ordinamento ottimali. Le ottimizzazioni vengono applicate entro poche ore dall'esecuzione di un numero minimo di query. Quando si determinano le ottimizzazioni delle chiavi di ordinamento, Amazon Redshift prova ad ottimizzare i blocchi di dati letti dal disco durante una scansione della tabella. Quando si determinano le ottimizzazioni dello stile di distribuzione, Amazon Redshift prova a ottimizzare il numero di byte trasferiti tra i nodi del cluster.

Rimozione dell'ottimizzazione automatica della tabella da una tabella

È possibile rimuovere la funzione di ottimizzazione automatica da una tabella. La rimozione di una tabella dall'automazione comporta la selezione di una chiave di ordinamento o di uno stile di distribuzione. Per modificare lo stile di distribuzione, specificare uno stile di distribuzione specifico.

ALTER TABLE table_name ALTER DISTSTYLE EVEN;
ALTER TABLE table_name ALTER DISTSTYLE ALL;
ALTER TABLE table_name ALTER DISTSTYLE KEY DISTKEY c1;

Per modificare una chiave di ordinamento, è possibile definire una chiave di ordinamento o sceglierne nessuna.

ALTER TABLE table_name ALTER SORTKEY(c1, c2);
ALTER TABLE table_name ALTER SORTKEY NONE;

Monitoraggio delle operazioni di ottimizzazione automatica delle tabelle

La vista di sistema SVV_ALTER_TABLE_RECOMMENDATIONS registra i suggerimenti correnti di Amazon Redshift Advisor per le tabelle. Questa visualizzazione mostra i suggerimenti per tutte le tabelle, indipendentemente dal fatto che siano definite o meno per l'ottimizzazione automatica.

Per verificare se una tabella è definita per l'ottimizzazione automatica, eseguire una query sulla vista di sistema SVV_TABLE_INFO. Le voci sono visualizzate solo per le tabelle visibili nel database della sessione corrente. I suggerimenti vengono inseriti nella vista due volte al giorno a partire già dopo poche ore dal momento della creazione del cluster. Una volta che è disponibile un suggerimento, viene avviata entro un'ora. Dopo che è stato applicato un suggerimento (da Amazon Redshift o dall'utente), non viene più visualizzato nella visualizzazione.

La vista di sistema SVL_AUTO_WORKER_ACTION mostra un log di audit di tutte le operazioni eseguite da Amazon Redshift e lo stato precedente della tabella.

La vista di sistema SVV_TABLE_INFO elenca tutte le tabelle del sistema insieme a una colonna per indicare se la chiave di ordinamento e lo stile di distribuzione della tabella sono impostati su AUTO.

Per ulteriori informazioni sull'utilizzo di queste viste di sistema, consultare Monitoraggio del sistema (solo con provisioning).