Che cos'è BI Engine?
BigQuery BI Engine è un servizio di analisi in memoria rapido che accelera molti Query SQL in BigQuery memorizzando nella cache in modo intelligente i dati che utilizzi di più spesso. BI Engine può accelerare le query SQL da qualsiasi origine, incluse quelle scritte da strumenti di visualizzazione dei dati, e può gestire per un'ottimizzazione continua. Questo ti consente di migliorare le prestazioni delle query senza ottimizzazione manuale o livelli dei dati. Puoi utilizzare il clustering e il partizionamento per ottimizzare ulteriormente le prestazioni di tabelle di grandi dimensioni con BI Engine.
Ad esempio, se la dashboard mostra solo i dati dell'ultimo trimestre, valuta la possibilità di partizionare le tabelle in base al tempo in modo che solo le partizioni più recenti vengano caricate in memoria. Puoi anche combinare i vantaggi delle visualizzazioni materializzate e di BI Engine. Questo funziona particolarmente bene quando le viste materializzate vengono utilizzate per unire e suddividere i dati al fine di ottimizzare la loro struttura per BI Engine.
BI Engine offre i seguenti vantaggi:
- API BigQuery: BI Engine si integra direttamente con l'API BigQuery. Qualsiasi soluzione BI o applicazione personalizzata che funzioni con l'API BigQuery attraverso meccanismi standard come REST o driver JDBC e ODBC possono utilizzare BI Engine senza modifiche.
- Runtime vettore: con l'interfaccia SQL di BI Engine, BI Engine introduce una tecnica più moderna chiamata elaborazione vettore. Utilizzo dell'elaborazione vettoriale in un motore di esecuzione rende un uso più efficiente della moderna architettura della CPU, operando su batch di dati alla volta. BI Engine utilizza anche codifiche dei dati avanzate, in particolare la codifica di dizionario e la codifica run-length, per comprimere ulteriormente i dati archiviati nel livello in memoria.
- Integrazione perfetta: BI Engine funziona con le funzionalità e i metadati di BigQuery, tra cui visualizzazioni autorizzate, sicurezza a livello di riga e colonna e mascheramento dei dati.
- Prenotazioni: le prenotazioni di BI Engine gestiscono l'allocazione della memoria a livello di località del progetto. BI Engine memorizza nella cache colonne o partizioni specifiche oggetto di query, dando priorità a quelle nelle tabelle contrassegnate come preferite.
Informazioni sull'interfaccia SQL di BI Engine
L'interfaccia SQL di BI Engine espande BI Engine per integrare con altri strumenti di business intelligence (BI) come Looker, Tableau, Power BI e applicazioni personalizzate per accelerare l'esplorazione e l'analisi dei dati. Questa pagina fornisce una panoramica dell'interfaccia SQL di BI Engine e delle funzionalità ampliate che offre a BI Engine.
Casi d'uso di BI Engine
BI Engine può accelerare in modo significativo molte query SQL, incluse utilizzate per le dashboard di BI. L'accelerazione è più efficace se identifichi le tabelle essenziali per le tue query e poi le contrassegni come tabelle preferite. Per utilizzare BI Engine, crea una prenotazione che definisce la capacità di archiviazione dedicata a BI Engine. Puoi consentire BigQuery determina quali tabelle memorizzare nella cache in base ai dati pattern di utilizzo, oppure contrassegnare tabelle specifiche per impedire di interferire con l'accelerazione.
BI Engine è utile nei seguenti casi d'uso:
- Utilizzi gli strumenti BI per analizzare i dati: SQL di BI Engine può accelerare le query in BigQuery indipendentemente dal fatto che che vengono eseguite nella console BigQuery, nella libreria client o tramite API o un connettore ODBC o JDBC. In questo modo, puoi migliorare notevolmente le prestazioni delle dashboard collegate a BigQuery tramite una connessione integrata (API) o connettori.
- Esegui query su determinate tabelle più di frequente: BI Engine ti consente di designare tabelle preferite specifiche da accelerare. È utile se hai un sottoinsieme di tabelle su cui viene eseguita una query con maggiore frequenza o utilizzate per dashboard ad alta visibilità.
BI Engine potrebbe non soddisfare le tue esigenze nei seguenti casi:
Utilizzi caratteri jolly nelle query: le query che fanno riferimento alle tabelle con caratteri jolly vengono: non sono supportate da BI Engine e non beneficiano dell'accelerazione.
Fai molto affidamento su funzionalità di BigQuery non supportate: anche se BI Engine supporta la maggior parte delle funzioni e degli operatori SQL quando colleghi gli strumenti di business intelligence (BI) a BigQuery, esistono funzionalità non supportate, tra cui tabelle esterne e funzioni definite dall'utente non SQL.
Considerazioni per BI Engine
Quando decidi come configurare BI Engine, considera quanto segue:
Garantisci l'accelerazione per query specifiche
Per fare in modo che un particolare insieme di query venga sempre accelerato, un progetto separato con una prenotazione BI Engine. Per farlo, deve garantire che la prenotazione BI Engine nel progetto sia abbastanza grandi da corrispondere alle dimensioni di tutte le tabelle utilizzate imposta queste tabelle come preferite per BI Engine. Nel progetto dovrebbero essere eseguite solo le query che devono essere accelerate.
Riduci a icona i join
BI Engine funziona al meglio con dati pre-aggregati o pre-uniti e con un numero ridotto di join. Questo è particolarmente vero quando un lato del join è grande e gli altri sono più piccolo, ad esempio quando esegui una query su una tabella dei fatti di grandi dimensioni unita a una dimensione ridotta tabella. È possibile combinare BI Engine con viste che eseguono i join. per produrre un'unica tabella grande e piatta. In questo modo, non è necessario eseguire le stesse unioni su ogni query.
Comprendere l'impatto di BI Engine
Puoi capire meglio in che modo i tuoi carichi di lavoro traggono vantaggio BI Engine esaminando le statistiche sull'utilizzo in Cloud Monitoring o l'invio di query a INFORMATION_SCHEMA in BigQuery. Assicurati di disattivare l'opzione Utilizza risultati memorizzati nella cache. in BigQuery per ottenere il confronto più accurato. Per ulteriori informazioni, consulta la sezione Utilizzare i risultati delle query memorizzati nella cache.
Quote e limitazioni
Vedi Quote e limiti di BigQuery per le quote e i limiti che si applicano a BI Engine.
Prezzi
Per informazioni sui prezzi di BI Engine, consulta la pagina Prezzi di BigQuery.
Ottimizzazione e accelerazione delle query
BigQuery e, per estensione, BI Engine, si suddivide in al piano di query generato per una query SQL nelle sottoquery. Una sottoquery contiene una serie di operazioni, come la scansione, l'applicazione di filtri o l'aggregazione ed è spesso l'unità di esecuzione su uno shard.
Sebbene tutte le query SQL supportate da BigQuery siano corrette, eseguite dall'interfaccia SQL di BI Engine, solo alcune sottoquery vengono ottimizzate. In particolare, l'interfaccia SQL di BI Engine è ottimizzata per le sottoquery a livello di entità che eseguono la scansione dei dati dall'archiviazione ed eseguono operazioni come filtro, calcolo, aggregazione, ordinamento e determinati tipi di join. Le altre sottoquery che non sono ancora completamente accelerate da BI Engine tornano a BigQuery per l'esecuzione.
Grazie a questa ottimizzazione selettiva, le query di business intelligence o di tipo dashboard più semplici traggono il massimo vantaggio da BI Engine (con un numero inferiore di sottoquery) perché la maggior parte del tempo di esecuzione viene spesa per le sottoquery a livello di entità che elaborano i dati non elaborati.
Passaggi successivi
- Scopri di più sulle funzioni ottimizzate di BI Engine.
- Per scoprire come creare la prenotazione di BI Engine, consulta Prenotare la capacità di BI Engine.
- Per informazioni sulla definizione delle tabelle preferite, consulta BI Engine tabelle preferite.
- Per comprendere l'utilizzo di BI Engine, consulta Monitorare BI Engine con Cloud Monitoring.