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à.
Creazione di viste materializzate in Amazon Redshift
In un ambiente di data warehouse, le applicazioni spesso devono eseguire query complesse su tabelle di grandi dimensioni. Un esempio sono SELECT le istruzioni che eseguono unioni e aggregazioni multitabella su tabelle che contengono miliardi di righe. L'elaborazione di queste query può essere costosa in termini di risorse di sistema e di tempo necessario per ottenere i risultati.
Le viste materializzate in Amazon Redshift offrono un modo per affrontare questi problemi. Una vista materializzata contiene un set di risultati precalcolato, basato su una SQL query su una o più tabelle di base. È possibile emettere SELECT istruzioni per interrogare una vista materializzata, nello stesso modo in cui è possibile interrogare altre tabelle o viste nel database. Amazon Redshift restituisce i risultati pre-elaborati dalla vista materializzata senza dover accedere in alcun modo alle tabelle di base. Dal punto di vista dell'utente, i risultati della query vengono restituiti molto più rapidamente rispetto al recupero degli stessi dati dalle tabelle di base.
Le viste materializzate sono particolarmente utili per velocizzare le query prevedibili e ripetute. Invece di eseguire query ad alto uso di risorse su tabelle di database di grandi dimensioni (come aggregazioni o più join), le applicazioni possono eseguire query su una vista materializzata e recuperare un set di risultati pre-elaborato. Ad esempio, considera lo scenario in cui viene utilizzata una serie di query per popolare le dashboard, come Amazon. QuickSight Questo caso d'uso è ideale per una vista materializzata, perché le query sono prevedibili e ripetute più e più volte.
È possibile definire una vista materializzata in termini di altre viste materializzate. Utilizzare viste materializzate su viste materializzate per espandere la capacità delle viste materializzate. In questo approccio, una vista materializzata esistente svolge lo stesso ruolo di una tabella di base per il recupero dei dati da parte della query.
Questo approccio è particolarmente utile per riutilizzare i join precalcolati per diverse opzioni di aggregazione o BY. GROUP Ad esempio, è possibile utilizzare una vista materializzata che unisce le informazioni del cliente (contenenti milioni di righe) alle informazioni dettagliate sull'ordine di un articolo (contenenti miliardi di righe). Si tratta di una query costosa da calcolare ripetutamente on demand. È possibile utilizzare diverse opzioni GROUP BY per le viste materializzate create su questa vista materializzata e unirle ad altre tabelle. In questo modo si risparmia tempo di calcolo altrimenti utilizzato per eseguire il costoso join sottostante ogni volta. La tabella STV_MV_DEPS riporta le dipendenze di una vista materializzata su altre viste materializzate.
Quando crei una vista materializzata, Amazon Redshift esegue l'istruzione SQL specificata dall'utente per raccogliere i dati dalla tabella o dalle tabelle di base e memorizza il set di risultati. L'illustrazione seguente fornisce una panoramica della vista tickets_mv
materializzata definita da una SQL query utilizzando due tabelle di base e. events
sales
![Materialized view diagram showing data flow from events and sales tables to tickets_mv view.](images/materialized-view.png)
È quindi possibile utilizzare queste viste materializzate nelle query per velocizzarle. Inoltre, Amazon Redshift può riscrivere automaticamente queste query per utilizzare le viste materializzate, anche quando la query non fa esplicito riferimento a una vista materializzata. La riscrittura automatica delle query è particolarmente efficace per migliorare le prestazioni quando non è possibile modificare le query per utilizzare le viste materializzate.
Per aggiornare i dati nella vista materializzata, è possibile utilizzare l'REFRESHMATERIALIZEDVIEWistruzione in qualsiasi momento per aggiornare manualmente le viste materializzate. Amazon Redshift identifica le modifiche apportate alla tabella o alle tabelle di base e quindi applica tali modifiche alla vista materializzata. Poiché la riscrittura automatica delle query richiede che le viste materializzate siano aggiornate , in qualità di proprietario delle viste materializzate, assicurarsi di aggiornare le viste ogni volta che viene modificata una tabella di base.
Amazon Redshift fornisce alcuni metodi per mantenere aggiornate le viste materializzate per la riscrittura automatica. È possibile configurare le viste materializzate con l'opzione di aggiornamento automatico per aggiornare le viste materializzate quando le tabelle di base delle viste materializzate vengono aggiornate. Questa operazione di aggiornamento automatico viene eseguita in un momento in cui le risorse del cluster sono disponibili per ridurre al minimo le interruzioni di altri carichi di lavoro. Poiché la pianificazione dell'aggiornamento automatico dipende dal carico di lavoro, è possibile avere un maggiore controllo sul momento in cui Amazon Redshift aggiorna le viste materializzate. Puoi pianificare un processo di aggiornamento delle viste materializzate utilizzando lo API scheduler di Amazon Redshift e l'integrazione con la console. Per ulteriori informazioni sulla pianificazione delle query, consultare Pianificazione di una query sulla console Amazon Redshift.
Questa operazione è particolarmente utile quando è richiesto un accordo sul livello di servizio (SLA) per up-to-date i dati provenienti da una vista materializzata. È inoltre possibile aggiornare manualmente tutte le viste materializzate che è possibile aggiornare automaticamente. Per informazioni su come creare viste materializzate, consultare CREATE MATERIALIZED VIEW.
È possibile emettere SELECT istruzioni per interrogare una vista materializzata. Per informazioni su come eseguire query sulle viste materializzate, consultare Query di una vista materializzata.. Dopo un certo periodo di tempo il set di risultati diventa obsoleto, quando altri dati vengono inseriti, aggiornati ed eliminati nelle tabelle di base. Puoi aggiornare la vista materializzata in qualsiasi momento per aggiornarla con le ultime modifiche delle tabelle di base. Per informazioni su come aggiornare le viste materializzate, consultare REFRESH MATERIALIZED VIEW.
Per informazioni dettagliate sui SQL comandi utilizzati per creare e gestire le viste materializzate, consultate i seguenti argomenti di comando:
Per informazioni sulle tabelle di sistema e le viste per monitorare le viste materializzate, consultare i seguenti argomenti:
Argomenti
- Query di una vista materializzata.
- Riscrittura automatica delle query per utilizzare le viste materializzate
- Aggiornamento di una vista materializzata
- Viste materializzate automatizzate
- Utilizzo di una funzione definita dall'utente (UDF) in una vista materializzata
- Inserimento in streaming su una vista materializzata