Aggiornamento delle viste materializzate - AWS Guida prescrittiva

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à.

Aggiornamento delle viste materializzate

Una vista materializzata contiene uno snapshot del risultato della query. Le viste materializzate non vengono aggiornate periodicamente, a meno che non configuri Amazon Redshift affinché effettui aggiornamenti periodici. Per aggiornare manualmente i dati in una vista materializzata, è possibile utilizzare l'istruzione REFRESH MATERIALIZED VIEW in qualsiasi momento. Questo comando identifica le modifiche apportate nelle tabelle di base e le applica alla vista materializzata.

Esistono due modi per aggiornare una vista materializzata: un aggiornamento manuale e un aggiornamento automatico (denominato autorefresh). La seguente query di esempio mostra come aggiornare manualmente una vista materializzata:

REFRESH MATERIALIZED VIEW mv_total_orders;

Per aggiornare automaticamente una vista materializzata, aggiungi la clausola AUTO REFRESH YES all'istruzione CREATE MATERIALIZED VIEW come dimostra l'esempio seguente:

CREATE MATERIALIZED VIEW mv_total_orders AUTO REFRESH YES -- Add this clause to auto refresh the MV AS SELECT c.cust_id, c.first_name, sum(o.amount) as total_amount FROM orders o JOIN customer c ON c.cust_id = o.customer_id GROUP BY c.cust_id, c.first_name;

Dopo le modifiche alla tabella di base, Amazon Redshift aggiorna automaticamente il prima possibile le viste materializzate. Per ridurre al minimo l'impatto dei carichi di lavoro attivi nel cluster durante l'elaborazione dell'aggiornamento, Amazon Redshift considera i seguenti fattori:

  • Carico attuale del sistema

  • Le risorse necessarie per l'aggiornamento

  • Risorse del cluster disponibili

  • Frequenza con cui vengono utilizzate le viste materializzate

Amazon Redshift assegna la priorità ai carichi di lavoro rispetto all'aggiornamento automatico e potrebbe interromperlo per preservare le prestazioni del carico di lavoro degli utenti. Tieni presente che tale approccio può ritardare gli aggiornamenti di alcune viste materializzate. Per lo stato dell'aggiornamento, puoi controllare la vista SVL_MV_REFRESH_STATUS. Questa vista registra le query avviate dall'utente o aggiornate automaticamente.