Panoramica delle viste logiche e materializzate
Questo documento descrive e confronta le viste logiche e materializzate in BigQuery. Nel data warehousing moderno, le viste fungono da importante livello di astrazione tra i dati non elaborati e la business intelligence. In BigQuery, gli architetti in genere scelgono tra due tipi: viste logiche (standard) e viste materializzate. Sebbene queste visualizzazioni condividano un'interfaccia comune, i meccanismi sottostanti, i profili di rendimento e le implicazioni sui costi differiscono.
Viste logiche
Una vista logica (standard) è una tabella virtuale definita da una query SQL. Non archivia dati fisici, ma la logica di query necessaria per recuperare i dati dalle tabelle di base sottostanti.
Quando esegui una query su una vista logica, il motore di query BigQuery espande la vista nella query sottostante. Questo processo significa che BigQuery esegue nuovamente la vista ogni volta che viene chiamata.
I vantaggi delle visualizzazioni logiche includono:
- Nessun sovraccarico di spazio di archiviazione. Poiché non vengono archiviati dati aggiuntivi, paghi solo per l'archiviazione delle tabelle di base.
- Accuratezza in tempo reale. Poiché la query viene eseguita al momento dell'esecuzione, i risultati riflettono sempre lo stato più recente delle tabelle di base.
- Astrazione logica. Semplifica i join complessi o applica la sicurezza a livello di riga senza duplicare i dati.
- Flessibilità di SQL. Supporta l'intera gamma di BigQuery SQL, incluse funzioni finestra complesse, funzioni definite dall'utente (UDF) e tutti i tipi di join.
Viste materializzate
Le viste materializzate sono viste precalcolate che memorizzano periodicamente i risultati di una query SQL. A differenza delle viste logiche, archiviano fisicamente i dati calcolati, il che consente a BigQuery di fornire risultati più rapidamente senza elaborare ripetutamente i dati di base non elaborati. Ciò può ridurre la latenza delle query per i set di dati di grandi dimensioni pre-elaborando le query e può ridurre i costi di calcolo per le query utilizzate di frequente.
Le visualizzazioni materializzate BigQuery combinano la velocità dei dati precalcolati con l'accuratezza di una visualizzazione in tempo reale. Per raggiungere questo obiettivo, utilizzano:
- Aggiornamento automatico. Un processo in background aggiorna le viste materializzate quando cambiano le tabelle di base.
- Aggiornamento dei dati. Se viene eseguita una query mentre è in attesa un aggiornamento in background, BigQuery compensa automaticamente le modifiche alla tabella di base non elaborate per fornire risultati aggiornati.
- Sintonizzazione intelligente. L'ottimizzatore delle query può reindirizzare automaticamente le query dalle tabelle di base alla vista materializzata se determina che la vista materializzata può fornire la risposta in modo più efficiente.
Confronto
La seguente tabella riassume le somiglianze e le differenze tra le viste logiche e le viste materializzate di BigQuery:
| Dimensione | Vista logica | Vista materializzata |
|---|---|---|
| Persistenza dei dati | Nessuno (virtuale) | Fisico (memorizzato su disco) |
| Esecuzione | Ogni volta che viene chiamata la vista | Precalcolati; aggiornamento in background |
| Dati inattivi | Mai | Facoltativo 1 (tramite aggiornamento) |
| Prestazioni | Variabile (dipendente dalla tabella di base) | Coerente e veloce |
| Complessità SQL | Illimitato | Limitato |
| Ottimizzato per | Sicurezza e astrazione | Riduzione di velocità e costi |
| Costi di manutenzione e archiviazione | No | Sì |
1 L'opzione --max_staleness
migliora le prestazioni delle query con costi controllati durante l'elaborazione di set di dati di grandi dimensioni e in continua evoluzione.
Quando utilizzare le visualizzazioni logiche
- Livelli semantici. Rinomina i nomi delle colonne complessi in termini adatti alle attività per gli utenti non tecnici.
- Sviluppo rapido. Utilizza questa opzione quando la logica è in evoluzione e non vuoi gestire l'overhead dello spazio di archiviazione fisico.
- Origini dati consolidate. Fornisci un'origine dati per gli strumenti di visualizzazione come Looker Studio o BigQuery sharing (in precedenza Analytics Hub).
Quando utilizzare le viste materializzate
- Pre-elabora i dati. Migliora il rendimento delle query preparando aggregazioni, filtri, join e cluster.
- Accelerazione della dashboard. Potenzia gli strumenti di BI come Looker che interrogano spesso le stesse metriche aggregate, ad esempio gli utenti attivi giornalieri.
- Analisi in tempo reale su flussi di grandi dimensioni. Può fornire risposte più rapide sulle tabelle che ricevono dati di streaming ad alta velocità.
- Gestione dei costi. Ridurre il costo delle query ripetitive e costose su set di dati di grandi dimensioni.
Best practice
Per un ambiente BigQuery ben progettato, le viste logiche sono uno strumento utile per consolidare i dati di cui hai bisogno. Riserva le viste materializzate per l'utilizzo come strumento di ottimizzazione del rendimento per pattern di query specifici e ad alto traffico che comportano un'aggregazione elevata.
Per scoprire come monitorare l'utilizzo e il rendimento delle viste materializzate, consulta la vista MATERIALIZED_VIEWS.
Passaggi successivi
- Introduzione alle viste logiche
- Creare viste logiche
- Introduzione alle viste materializzate
- Creare viste materializzate