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à.
Componenti dell'architettura di un data warehouse Amazon Redshift
Ti consigliamo di avere una conoscenza di base dei componenti principali dell'architettura in un data warehouse Amazon Redshift. Queste conoscenze possono aiutarti a comprendere meglio come progettare query e tabelle per prestazioni ottimali.
Un data warehouse in Amazon Redshift è costituito dai seguenti componenti dell'architettura di base:
-
Cluster: un cluster, composto da uno o più nodi di elaborazione, è il componente principale dell'infrastruttura di un data warehouse Amazon Redshift. I nodi di calcolo sono trasparenti per le applicazioni esterne, ma l'applicazione client interagisce direttamente solo con il nodo leader. Un cluster tipico ha due o più nodi di elaborazione. I nodi di calcolo sono coordinati tramite il nodo leader.
-
Nodo leader: un nodo leader gestisce le comunicazioni per i programmi client e tutti i nodi di elaborazione. Un nodo leader prepara inoltre i piani per l'esecuzione di una query ogni volta che una query viene inviata a un cluster. Quando i piani sono pronti, il nodo leader compila il codice, distribuisce il codice compilato ai nodi di calcolo e quindi assegna porzioni di dati a ciascun nodo di calcolo per elaborare i risultati della query.
-
Nodo di calcolo: un nodo di calcolo esegue una query. Il nodo leader compila il codice per i singoli elementi del piano di esecuzione della query e lo assegna ai singoli nodi di calcolo. I nodi di calcolo eseguono il codice compilato e restituiscono risultati intermedi al nodo principale per l'aggregazione finale. Ogni nodo di elaborazione dispone di CPU, memoria e storage su disco collegati dedicati. Con il crescere del carico di lavoro, puoi aumentare la capacità di elaborazione e di storage di un cluster aumentando il numero di nodi, aggiornando il tipo di nodi o tramite entrambe queste operazioni.
-
Node slice: un nodo di elaborazione è suddiviso in unità chiamate slice. A ogni slice in un nodo di calcolo viene allocata una parte della memoria e dello spazio su disco del nodo, dove elabora una parte del carico di lavoro assegnato al nodo. Le sezioni operano quindi in parallelo per completare l'operazione. I dati vengono distribuiti tra le slice in base allo stile di distribuzione e alla chiave di distribuzione di una particolare tabella. Una distribuzione uniforme dei dati consente ad Amazon Redshift di assegnare in modo uniforme i carichi di lavoro alle slice e massimizza i vantaggi dell'elaborazione parallela. Il numero di slice per nodo di elaborazione viene deciso in base al tipo di nodo. Per ulteriori informazioni, consulta Cluster e nodi in Amazon Redshift nella documentazione di Amazon Redshift.
-
Elaborazione parallela massiva (MPP): Amazon Redshift utilizza l'architettura MPP per elaborare rapidamente dati, anche query complesse e grandi quantità di dati. Più nodi di calcolo eseguono lo stesso codice di query su porzioni di dati per massimizzare l'elaborazione parallela.
-
Applicazione client: Amazon Redshift si integra con vari strumenti di caricamento, estrazione, trasformazione e caricamento (ETL), report di business intelligence (BI), data mining e analisi. Tutte le applicazioni client comunicano con il cluster solo tramite il nodo leader.
Il diagramma seguente mostra come i componenti dell'architettura di un data warehouse Amazon Redshift interagiscono per accelerare le query.

Esistono sette fasi del ciclo di vita delle query:
-
Ricezione e analisi delle query:
-
Il nodo principale riceve la query e analizza l'SQL.
-
Il parser produce un albero di query iniziale, che rappresenta la struttura logica della query originale.
-
Amazon Redshift inserisce questo albero di query nell'ottimizzatore delle query.
-
-
Ottimizzazione delle query:
-
L'ottimizzatore valuta la query e, se necessario, la riscrive per massimizzare l'efficienza.
-
Questo processo di ottimizzazione potrebbe comportare la creazione di più interrogazioni correlate per sostituirne una sola.
-
-
Generazione di un piano di interrogazione:
-
L'ottimizzatore genera un piano di query (o più piani, se necessario) per l'esecuzione.
-
Il piano di query specifica le opzioni di esecuzione, come i tipi di join, l'ordine di join, i metodi di aggregazione e i requisiti di distribuzione dei dati.
-
-
Traduzione del motore di esecuzione:
-
Il motore di esecuzione traduce il piano di query in passaggi, segmenti e flussi discreti:
-
Fase: rappresenta una singola operazione richiesta durante l'esecuzione della query. È possibile combinare i passaggi per consentire ai nodi di calcolo di eseguire query, join o altre operazioni di database.
-
Segmento: combina diversi passaggi che un singolo processo può eseguire. È l'unità di compilazione più piccola eseguibile tramite una sezione di nodo di calcolo. (Una slice è l'unità di elaborazione parallela in Amazon Redshift.)
-
Stream: una raccolta di segmenti distribuiti su sezioni di nodi di calcolo disponibili.
-
-
Il motore di esecuzione genera codice compilato in base a questi passaggi, segmenti e flussi. Il codice compilato viene eseguito più velocemente del codice interpretato e consuma meno capacità di elaborazione.
-
Il nodo leader trasmette il codice compilato ai nodi di calcolo.
-
-
Esecuzione parallela:
-
Questo passaggio si verifica una volta per ogni stream.
-
Le sezioni del nodo di calcolo eseguono i segmenti di query in parallelo.
-
Durante questo processo, Amazon Redshift ottimizza la comunicazione di rete, l'utilizzo della memoria e la gestione del disco per trasmettere risultati intermedi da una fase del piano di query all'altra.
-
Questa ottimizzazione contribuisce a un'esecuzione più rapida delle query.
-
-
Elaborazione in streaming:
-
Questo passaggio si verifica una volta per ogni stream.
-
Il motore crea segmenti eseguibili per ogni flusso, per un'elaborazione parallela efficiente.
-
-
Ordinamento e aggregazione finali:
-
Il nodo leader affronta qualsiasi ordinamento o aggregazione finale richiesto dalla query.
-
Una volta completato, il nodo leader restituisce i risultati al client.
-
Per informazioni sui componenti dell'architettura, consulta Architettura del sistema di data warehouse nella documentazione di Amazon Redshift.