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
Dimensionamento simultaneo
Con la funzione dimensionamento simultaneo, puoi supportare migliaia di utenti e di query simultanee, con prestazioni di query a velocità costante. Quando si attiva il dimensionamento simultaneo, Amazon Redshift aggiunge automaticamente ulteriore capacità del cluster quando necessario per elaborare un aumento delle query di lettura e di scrittura. Gli utenti visualizzano sempre i dati più recenti, indipendentemente dal fatto che le query vengano eseguite nel cluster principale o in un cluster a dimensionamento simultaneo.
Puoi gestire le query inviate al cluster di dimensionamento simultaneo configurando le code WLM. Quando si attiva il dimensionamento simultaneo per una coda, anziché attendere in una coda le query idonee vengono inviate al cluster di dimensionamento simultaneo.
I cluster a dimensionamento simultaneo vengono addebitati solo per il tempo in cui eseguono le query. Per ulteriori informazioni sui prezzi, tra cui il modo in cui i costi si accumulano e i costi minimi, consulta Prezzi di Concurrency Scaling
Capacità di dimensionamento simultaneo
Quando si attiva il dimensionamento simultaneo per una coda WLM, questo funziona per operazioni di lettura, ad esempio le query del pannello di controllo. Funziona anche per le operazioni di scrittura comunemente utilizzate, come le istruzioni per l'importazione e l'elaborazione dei dati.
Funzionalità di dimensionamento simultaneo per le operazioni di scrittura
Il dimensionamento simultaneo supporta le operazioni di scrittura più utilizzate, come istruzioni di estrazione, trasformazione e caricamento (ETL). Il dimensionamento simultaneo per le operazioni di scrittura è particolarmente utile quando si desidera mantenere tempi di risposta coerenti quando il cluster riceve un numero elevato di richieste. Migliora la velocità effettiva per le operazioni di scrittura contendendo le risorse nel cluster principale.
Il dimensionamento simultaneo supporta le istruzioni COPY, INSERT, DELETE, UPDATE e CREATE TABLE AS (CTAS). Inoltre il dimensionamento simultaneo supporta l’aggiornamento manuale delle viste materializzate. Altre istruzioni DML (Data Manipulation Language) e DDL (Data Definition Language) non sono supportate. Quando le istruzioni di scrittura non supportate, come CREATE senza TABLE AS, vengono incluse in una transazione esplicita prima delle istruzioni di scrittura supportate, nessuna delle istruzioni di scrittura verrà eseguita sui cluster con dimensionamento simultaneo.
Quando si accumula credito per il dimensionamento simultaneo, questo accumulo si applica sia alle operazioni di lettura che a quelle di scrittura.
Limitazioni per il dimensionamento simultaneo
Di seguito sono riportate le limitazioni per l'utilizzo del dimensionamento simultaneo di Amazon Redshift:
-
Non supporta query su tabelle che utilizzano chiavi di ordinamento interlacciato.
-
Non supporta query sulle tabelle temporanee.
-
Non supporta query che accedono a risorse esterne protette da reti restrittive o configurazioni Virtual Private Cloud (VPC).
-
Non supporta query che contengono funzioni Python e funzioni Lambda definite dall'utente (UDF).
-
Non supporta query che accedono alle tabelle di sistema, alle tabelle di catalogo PostgreSQL o alle tabelle di no-backup.
-
Non supporta le query COPY o UNLOAD che accedono a una risorsa esterna quando sono presenti le autorizzazioni di policy IAM restrittive. Sono incluse le autorizzazioni applicate alla risorsa, come un bucket Amazon S3 o una tabella DynamoDB, o all’origine. Le origini IAM includono quanto segue:
aws:sourceVpc: un VPC di origine.aws:sourceVpce: un endpoint VPC di origine.aws:sourceIp: un indirizzo IP di origine.
In alcuni casi potresti dover rimuovere le autorizzazioni che limitano la risorsa o l’origine in modo che le query COPY e UNLOAD che accedono alla risorsa vengano inviate al cluster di dimensionamento simultaneo.
Per ulteriori informazioni sulle policy delle risorse, consulta Tipi di policy nella Guida per l’utente di AWS Identity and Access Management e Controllo dell’accesso dagli endpoint VPC con policy di bucket.
-
Il dimensionamento simultaneo di Amazon Redshift per le operazioni di scrittura non è supportato per le operazioni DDL, ad esempio CREATE TABLE o ALTER TABLE.
-
Non supporta ANALYZE per il comando COPY.
-
Non supporta le operazioni di scrittura su una tabella di destinazione in cui DISTSTYLE è impostato su ALL.
-
Non supporta COPY dai seguenti formati di file:
Parquet
ORC
-
Non supporta le operazioni di scrittura su tabelle con colonne di identità.
-
Amazon Redshift supporta il dimensionamento simultaneo per le operazioni di scrittura solo sui nodi RA3 di Amazon Redshift. Il dimensionamento simultaneo per le operazioni di scrittura non è supportato su altri tipi di nodi.
Regioni AWS per il dimensionamento simultaneo
Con Amazon Redshift puoi utilizzare il dimensionamento simultaneo per gestire le richieste dei carichi di lavoro simultanei sui cluster Redshift. In questo argomento viene illustrato nei dettagli in quali Regioni puoi utilizzare il dimensionamento simultaneo con Amazon Redshift.
Il dimensionamento simultaneo è disponibile nelle seguenti regioni AWS:
-
Regione Stati Uniti orientali (Virginia settentrionale) (us-east-1)
-
Regione Stati Uniti orientali (Ohio) (us-east-2)
-
Regione Stati Uniti occidentali (California settentrionale) (us-west-1)
-
Regione Stati Uniti occidentali (Oregon) (us-west-2)
-
Regione Africa (Città del Capo) (af-south-1)
-
Regione Asia Pacifico (Mumbai) (ap-south-1)
-
Regione Asia Pacifico (Hyderabad) (ap-south-2)
-
Regione Asia Pacifico (Seoul) (ap-northeast-2)
-
Regione Asia Pacifico (Osaka) (ap-northeast-3)
-
Regione Asia Pacifico (Singapore) (ap-southeast-1)
-
Regione Asia Pacifico (Sydney) (ap-southeast-2)
-
Regione Asia Pacifico (Jakarta) (ap-southeast-3)
-
Regione Asia Pacifico (Malesia) (ap-southeast-5)
-
Regione Asia Pacifico (Nuova Zelanda) (ap-southeast-6)
-
Regione Asia Pacifico (Thailandia) (ap-southeast-7)
-
Regione Asia Pacifico (Hong Kong) (ap-east-1)
-
Regione Asia Pacifico (Taipei) (ap-east-2)
-
Regione Asia Pacifico (Tokyo) (ap-northeast-1)
-
Regione Canada (Centrale) (ca-central-1)
-
Regione Canada occidentale (Calgary) (ca-west-1)
-
Regione Cina (Pechino) (cn-north-1)
-
Regione Cina (Ningxia) (cn-northwest-1)
-
Regione Europa (Francoforte) (eu-central-1)
-
Regione Europa (Irlanda) (eu-west-1)
-
Regione Europa (Londra) (eu-west-2)
-
Regione Europa (Parigi) (eu-west-3)
-
Regione Europa (Stoccolma) (eu-north-1)
-
Regione Europa (Zurigo) (eu-central-2)
-
Regione Europa (Milano) (eu-south-1)
-
Regione Europa (Spagna) (eu-south-2)
-
Regione di Israele (Tel Aviv) (il-central-1)
-
Regione Medio Oriente (Bahrein) (me-south-1)
-
Regione Messico (Centrale) (mx-central-1)
-
Regione Sud America (San Paolo) (sa-east-1)
-
AWS GovCloud (Stati Uniti-Est)
-
AWS GovCloud (Stati Uniti occidentali)
Candidati per il dimensionamento simultaneo
Con Amazon Redshift puoi aumentare orizzontalmente l’elaborazione delle query per accelerare l’esecuzione di query simultanee. Nell’argomento seguente vengono descritti i criteri utilizzati da Amazon Redshift per determinare quali query indirizzare al dimensionamento simultaneo.
Le query vengono instradate al cluster a dimensionamento simultaneo solo quando il cluster principale soddisfa i seguenti requisiti:
-
Piattaforma EC2-VPC.
-
Il tipo di nodo deve essere dc2.8xlarge, dc2.large, ra3.large, ra3.xlplus, ra3.4xlarge o ra3.16xlarge. Il dimensionamento simultaneo per le operazioni di scrittura è supportato solo sui nodi RA3 di Amazon Redshift.
-
Al massimo 32 nodi di calcolo per i cluster con i tipi di nodo ra3.xlplus, ra3.4xlarge o ra3.16xlarge. Inoltre, il numero di nodi del cluster principale non può essere maggiore di 32 al momento della creazione del cluster originale. Ad esempio, anche se un cluster ha attualmente 20 nodi, ma è stato originariamente creato con 40, non soddisfa i requisiti per il dimensionamento simultaneo. Al contrario, se un cluster DC2 ha attualmente 40 nodi, ma è stato originariamente creato con 20, soddisfa i requisiti per il dimensionamento simultaneo.
-
Non un cluster a nodo singolo.
Configurazione delle code di dimensionamento simultaneo
Con Amazon Redshift puoi gestire la simultaneità e le risorse di sistema configurando il dimensionamento simultaneo. Le code di dimensionamento simultaneo consentono di impostare limiti al numero di query o sessioni utente che possono essere eseguite contemporaneamente. Nella sezione seguente vengono fornite istruzioni su come abilitare le code di dimensionamento simultaneo in Amazon Redshift, consentendoti di gestire in modo efficace le query e le sessioni utente simultanee.
Le query vengono instradate ai cluster di dimensionamento simultaneo abilitando il dimensionamento simultaneo in una coda di gestione dei carichi di lavoro. Per abilitare il dimensionamento simultaneo su una coda, impostare il valore Modalità di dimensionamento simultaneo su auto.
Quando il numero di query instradate a una coda con il dimensionamento simultaneo supera la capacità simultanea della coda, indipendentemente dal fatto che la capacità sia configurata manualmente o determinata automaticamente, le query idonee vengono inviate al cluster di dimensionamento simultaneo. Quando gli slot di coda diventano disponibili sul cluster principale, le query vengono instradate ed eseguite sul cluster principale. Come con qualsiasi coda WLM, le query vengono instradate a una coda di dimensionamento simultaneo in base ai gruppi di utenti o all’etichettatura di query con etichette di gruppi di query o secondo le condizioni corrispondenti definite in Assegnazione delle query alle code. Puoi anche instradare le query definendo Regole di monitoraggio delle query WLM. Ad esempio, potresti instradare tutte le query che impiegano più di 5 secondi a una coda di dimensionamento simultaneo. Tieni presente che il comportamento di accodamento può variare a seconda che utilizzi WLM automatica o WLM manuale. Per ulteriori informazioni, consulta Implementazione di WLM automatica or Implementazione di WLM manuale.
Il numero predefinito di cluster di dimensionamento simultaneo è uno. Il numero di cluster di dimensionamento simultaneo che è possibile utilizzare è controllato da max_concurrency_scaling_clusters.
Monitoraggio del dimensionamento simultaneo
Con Amazon Redshift puoi monitorare e gestire il dimensionamento simultaneo per ottimizzare le prestazioni e l’efficienza dei costi per i carichi di lavoro di data warehouse. Il dimensionamento simultaneo consente ad Amazon Redshift di aggiungere automaticamente ulteriore capacità di cluster quando le richieste dei carichi di lavoro aumentano e di rimuovere tale capacità quando le richieste diminuiscono. Nella sezione seguente vengono fornite le indicazioni per monitorare il dimensionamento simultaneo dei cluster di Amazon Redshift.
È possibile visualizzare se una query è in esecuzione nel cluster principale o in un cluster a dimensionamento simultaneo selezionando Cluster dalla console Amazon Redshift e scegliendo un cluster. Quindi scegli la scheda Monitoraggio delle query e Simultaneità del carico di lavoro per visualizzare le informazioni sulle query in esecuzione e sulle query in coda.
Per trovare i tempi di esecuzione, eseguire una query sulla tabella STL_QUERY e filtrare la colonna concurrency_scaling_status. La seguente query confronta il tempo di attesa in coda e il tempo di esecuzione per le query eseguite nel cluster a dimensionamento simultaneo e le query eseguite nel cluster principale.
SELECT w.service_class AS queue , CASE WHEN q.concurrency_scaling_status = 1 THEN 'concurrency scaling cluster' ELSE 'main cluster' END as concurrency_scaling_status , COUNT( * ) AS queries , SUM( q.aborted ) AS aborted , SUM( ROUND( total_queue_time::NUMERIC / 1000000,2) ) AS queue_secs , SUM( ROUND( total_exec_time::NUMERIC / 1000000,2) ) AS exec_secs FROM stl_query q JOIN stl_wlm_query w USING (userid,query) WHERE q.userid > 1 AND q.starttime > '2019-01-04 16:38:00' AND q.endtime < '2019-01-04 17:40:00' GROUP BY 1,2 ORDER BY 1,2;
Regola i valori starttime e endtime in base alle tue esigenze.
Visualizzazioni di sistema per il dimensionamento simultaneo
Con Amazon Redshift puoi utilizzare le viste del sistema di dimensionamento simultaneo per monitorare e gestire l’attività di dimensionamento simultaneo nel cluster. Nella sezione seguente vengono descritte l’esecuzione di query su queste viste di sistema e l’interpretazione dei risultati per sfruttare efficacemente il dimensionamento simultaneo nell’ambiente Amazon Redshift.
Una serie di visualizzazioni di sistema con il prefisso SVCS fornisce i dettagli dalle tabelle di log di sistema relativi alle query nei cluster principale e a dimensionamento simultaneo.
Le seguenti viste contengono informazioni simili alle viste STL o SVL corrispondenti:
Le seguenti visualizzazioni sono specifiche del dimensionamento simultaneo.
Per ulteriori informazioni sul dimensionamento simultaneo, consulta i seguenti argomenti nella Guida alla gestione di Amazon Redshift.