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

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