Introduzione alle viste logiche

Questo documento fornisce una panoramica del supporto di BigQuery per le viste logiche.

Panoramica

Una vista è una tabella virtuale definita da una query SQL. Il tipo di visualizzazione predefinito per BigQuery è una visualizzazione logica. I risultati della query contengono solo i dati delle tabelle e dei campi specificati nella query che definisce la vista.

La query che definisce una vista viene eseguita ogni volta che viene eseguita una query sulla vista.

Tipi di visualizzazioni

Sebbene le viste logiche siano il tipo di vista predefinito, se esegui spesso query su una vista di grandi dimensioni o con un costo computazionale elevato, ti consigliamo di creare una vista materializzata, ovvero una vista precalcolata che memorizza periodicamente nella cache i risultati di una query per migliorare le prestazioni e l'efficienza.

Tuttavia, spesso puoi migliorare il rendimento di una vista logica senza dover creare una vista materializzata eseguendo query solo su un sottoinsieme di dati o utilizzando altre tecniche.

Puoi anche creare una vista autorizzata per condividere un sottoinsieme di dati da un set di dati di origine a una vista in un set di dati secondario. Puoi quindi condividere questa vista con utenti e gruppi (principali) specifici che possono visualizzare i dati che condividi ed eseguire query su di essi, ma che non possono accedere direttamente al set di dati di origine.

Puoi creare una vista autorizzata per una vista logica o materializzata. Una vista autorizzata per una vista materializzata è chiamata vista materializzata autorizzata.

Casi d'uso

Ecco alcuni casi d'uso comuni per le visualizzazioni:

  • Fornisci un nome facilmente riutilizzabile per una query complessa o un insieme limitato di dati a cui puoi poi autorizzare altri utenti ad accedere. Dopo aver creato una vista, un utente può eseguire query sulla vista come farebbe con una tabella.
  • Astratti e memorizza la logica di calcolo e join in un oggetto comune per semplificare l'utilizzo delle query.
  • Fornire l'accesso a un sottoinsieme di dati e alla logica di calcolo senza fornire l'accesso alle tabelle di base.
  • Ottimizza le query con un costo computazionale elevato e risultati di set di dati di piccole dimensioni per diversi casi d'uso.

Puoi utilizzare le visualizzazioni anche in altri contesti:

  • Come origine dati per uno strumento di visualizzazione come Looker Studio.
  • Come mezzo per condividere i dati con gli abbonati di Analytics Hub.

Confronto con le viste materializzate

Le viste logiche sono virtuali e forniscono un riferimento riutilizzabile a un insieme di dati, ma non archiviano fisicamente alcun dato. Le viste materializzate vengono definite utilizzando SQL, come una vista logica, ma archiviano fisicamente i dati utilizzati da BigQuery per migliorare le prestazioni. Per un ulteriore confronto, consulta Funzionalità delle visualizzazioni con dati memorizzati.

Limitazioni delle visualizzazioni logiche

Le visualizzazioni BigQuery sono soggette alle seguenti limitazioni:

  • Le visualizzazioni sono di sola lettura. Ad esempio, non puoi eseguire query che inseriscono, aggiornano o eliminano i dati.
  • Il set di dati contenente la visualizzazione e il set di dati contenente le tabelle a cui fa riferimento la visualizzazione devono trovarsi nella stessa località.
  • Un riferimento all'interno di una vista deve essere qualificato con un set di dati. Il set di dati predefinito non influisce sul corpo di una visualizzazione.
  • Non puoi utilizzare il metodo dell'API JSON TableDataList per recuperare i dati da una visualizzazione. Per ulteriori informazioni, consulta Tabledata: list.
  • Non puoi combinare query GoogleSQL e SQL precedenti quando utilizzi le viste. Una query GoogleSQL non può fare riferimento a una vista definita utilizzando la sintassi SQL precedente.
  • Non puoi fare riferimento ai parametri di query nelle visualizzazioni.
  • Gli schemi delle tabelle sottostanti vengono archiviati con la visualizzazione al momento della sua creazione. Se le colonne vengono aggiunte, eliminate o modificate dopo la creazione della vista, la vista non viene aggiornata automaticamente e lo schema riportato rimane impreciso fino a quando la definizione SQL della vista non viene modificata o la vista non viene ricreata. Anche se lo schema segnalato potrebbe essere impreciso, tutte le query inviate producono risultati accurati.
  • Non puoi aggiornare automaticamente una vista SQL precedente alla sintassi GoogleSQL. Per modificare la query utilizzata per definire una visualizzazione, puoi utilizzare quanto segue:
  • Non puoi includere una funzione definita dall'utente temporanea o una tabella temporanea nella query SQL che definisce una vista.
  • Non puoi fare riferimento a una vista in una query della tabella con caratteri jolly.

Quote per le visualizzazioni logiche

Per informazioni sulle quote e sui limiti che si applicano alle visualizzazioni, consulta Limiti delle visualizzazioni.

Le query SQL utilizzate per definire le visualizzazioni sono soggette anche alle quote dei job di query.

Prezzi delle visualizzazioni logiche

Per impostazione predefinita, BigQuery utilizza le visualizzazioni logiche, non le visualizzazioni materializzate. Poiché le viste non sono materializzate per impostazione predefinita, la query che definisce la vista viene eseguita ogni volta che viene eseguita una query sulla vista. Le query vengono fatturate in base alla quantità totale di dati in tutti i campi della tabella a cui fa riferimento direttamente o indirettamente la query di primo livello.

Sicurezza delle visualizzazioni logiche

Per controllare l'accesso alle visualizzazioni in BigQuery, consulta Visualizzazioni autorizzate.

Passaggi successivi