Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
Gestione dei carichi di lavoro
In questa sezione viene descritta la gestione dei carichi di lavoro (WLM), che consente di comprendere come Amazon Redshift prepara ed esegue le query.
La gestione dei carichi di lavoro in Amazon Redshift comporta l’assegnazione delle priorità alla gestione flessibile all’interno dei carichi di lavoro in modo da evitare che le query brevi a esecuzione rapida non restino bloccate in coda dietro query a esecuzione prolungata. Amazon Redshift crea code di query in fase di runtime in base alle classi di servizio, che definiscono i parametri di configurazione per diversi tipi di query, tra cui code di sistema interne e code accessibili dall’utente. Dal punto di vista dell'utente, una classe di servizio accessibile dall'utente e una coda sono funzionalmente equivalenti. Per coerenza, questa documentazione usa il termine coda con il significato di classe di servizio accessibile dall'utente e di coda di runtime.
Redshift fornisce la gestione automatica dei carichi di lavoro, denominata WLM automatica, che è ottimizzata per gestire carichi di lavoro diversi ed è l’impostazione predefinita consigliata. Con WLM automatica, Redshift determina l’utilizzo delle risorse all’arrivo delle query e determina dinamicamente se eseguirle sul cluster principale, su un cluster di dimensionamento simultaneo, o inviarle a una coda. (Quando le query sono in coda, WLM automatica dà la priorità alle query di breve durata.) WLM automatica massimizza il throughput totale e consente di mantenere efficienti le risorse del data warehouse. Esegui i carichi di lavoro senza preoccuparsi delle loro dimensioni o di come sono pianificati. WLM automatica è l’impostazione predefinita per i cluster con provisioning. Per ulteriori informazioni, consulta Implementazione di WLM automatica.
Nota
I gruppi di lavoro Amazon Redshift serverless utilizzano sempre WLM automatica.
Nei periodi in cui sono in esecuzione molte query o query a uso intensivo delle risorse, la gestione dei carichi di lavoro può scalare a risorse di calcolo aggiuntive quando i carichi di lavoro sono in coda sulle risorse locali. Il dimensionamento simultaneo con WLM automatica supporta le prestazioni costanti per un numero praticamente illimitato di query e utenti simultanei.
I cluster con provisioning Redshift offrono WLM manuale se hai bisogno di un’ottimizzazione manuale granulare. Qui il cliente gestisce l’allocazione delle risorse, la simultaneità delle query e l’accodamento. Quando esegui una query, WLM lavoro assegna la query a una coda in base al gruppo di utenti dell’utente o abbinando un gruppo di query elencato nella configurazione della coda. Per configurare ciò, l’utente imposta un’etichetta di gruppo di query. Per ulteriori informazioni, consulta Implementazione di WLM manuale.
Sebbene WLM manuale possa essere sottoposto a fine-tuning per adattarsi ai modelli di carico di lavoro, nella maggior parte dei casi ne scoraggiamo l’uso perché la sua natura statica può rendere più difficile l’adattamento ai carichi di lavoro in evoluzione nel corso della giornata o nell’arco di un periodo prolungato. Richiede un livello di monitoraggio superiore e un’ottimizzazione continua. Inoltre, in molti casi, WLM manuale non utilizza le risorse di calcolo con la stessa efficienza di WLM automatica, ad esempio se le code vengono impostate manualmente per limitare la memoria a esse allocata.
Una metrica importante per misurare il successo della configurazione della gestione dei carichi di lavoro è il throughput del sistema, che in altre parole indica il numero di query completate correttamente. Il throughput del sistema è espresso in query al secondo. Per ulteriori informazioni sulle metriche del sistema, consulta Monitoraggio delle prestazioni del cluster Amazon Redshift.
Il modo più semplice per modificare la configurazione WLM consiste nell’usare la console di gestione Amazon Redshift. Inoltre puoi utilizzare l’interfaccia a riga di comando (CLI) di Amazon Redshift o l’API Amazon Redshift. Per ulteriori informazioni sull’implementazione e sull’uso della gestione dei carichi di lavoro, consulta Implementazione della gestione dei carichi di lavoro.