Che cos'è BI Engine?

BigQuery BI Engine è un servizio di analisi in memoria rapido che accelera molte query SQL in BigQuery memorizzando nella cache in modo intelligente i dati utilizzati più di frequente. BI Engine può accelerare le query SQL da qualsiasi origine, incluse quelle scritte da strumenti di visualizzazione dei dati, e può gestire le tabelle memorizzate nella cache per un'ottimizzazione continua. Ciò 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 delle tabelle di grandi dimensioni con BI Engine.

Ad esempio, se la tua dashboard visualizza 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. È inoltre possibile combinare i vantaggi delle viste materializzate e BI Engine. Questo funziona particolarmente bene quando le viste materializzate vengono utilizzate per unire e unificare i dati al fine di ottimizzarne la struttura per BI Engine.

BI Engine offre i seguenti vantaggi:

  1. API BigQuery: BI Engine si integra direttamente con l'API BigQuery. Qualsiasi soluzione BI o applicazione personalizzata che funziona con l'API BigQuery tramite meccanismi standard come REST o driver JDBC e ODBC può utilizzare BI Engine senza modifiche.
  2. Runtime vettoriale: con l'interfaccia SQL di BI Engine, BI Engine introduce una tecnica più moderna chiamata elaborazione vettoriale. L'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 inoltre codificazioni dei dati avanzate, in particolare la codifica di esecuzione del dizionario, per comprimere ulteriormente i dati archiviati nel livello di memoria.
  3. Integrazione perfetta: BI Engine funziona con le funzionalità e i metadati di BigQuery, tra cui viste autorizzate, sicurezza a livello di colonna e mascheramento dei dati.
  4. Prenotazioni: le prenotazioni BI Engine gestiscono l'allocazione della memoria a livello di località del progetto. BI Engine memorizza nella cache colonne o partizioni specifiche su cui viene eseguita una query, dando la priorità a quelle nelle tabelle contrassegnate come preferite.

Informazioni sull'interfaccia SQL di BI Engine

L'interfaccia SQL di BI Engine amplia BI Engine per integrarsi con altri strumenti di business intelligence (BI) come Looker, Tableau e Power BI, e con applicazioni personalizzate per accelerare l'esplorazione e l'analisi dei dati. Questa pagina fornisce una panoramica dell'interfaccia di BI Engine SQL e delle funzionalità espanse che offre a BI Engine.

Architettura di BI Engine

Casi d'uso di BI Engine

BI Engine può accelerare notevolmente molte query SQL, incluse quelle utilizzate per le dashboard 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 definisca la capacità di archiviazione dedicata a BI Engine. Puoi consentire a BigQuery di determinare quali tabelle memorizzare nella cache in base ai pattern di utilizzo del progetto oppure puoi contrassegnare tabelle specifiche per evitare che altro traffico interferisca con l'accelerazione.

BI Engine è utile nei seguenti casi d'uso:

  • Utilizzi gli strumenti BI per analizzare i dati: l'interfaccia SQL di BI Engine può accelerare le query BigQuery indipendentemente dal fatto che vengano eseguite nella console BigQuery, nella libreria client oppure tramite un'API o un connettore ODBC o JDBC. Ciò può migliorare notevolmente le prestazioni delle dashboard connesse a BigQuery tramite una connessione integrata (API) o connettori.
  • Hai alcune tabelle su cui vengono eseguite query più spesso: BI Engine consente di designare tabelle preferite specifiche per l'accelerazione. Ciò è utile se hai un sottoinsieme di tabelle su cui vengono eseguite query più spesso o che vengono utilizzate per dashboard ad alta visibilità.

BI Engine potrebbe non soddisfare le tue esigenze nei seguenti casi:

  • Utilizzo di caratteri jolly nelle query: le query che fanno riferimento a tabelle con caratteri jolly non sono supportate da BI Engine e non beneficiano dell'accelerazione.

  • Fai molti affidamento sulle funzionalità di BigQuery che BI Engine non supporta: sebbene BI Engine supporti la maggior parte delle funzioni e degli operatori SQL per la connessione degli strumenti di business intelligence (BI) a BigQuery, esistono funzionalità non supportate, tra cui tabelle esterne e funzioni non SQL definite dall'utente.

Considerazioni su BI Engine

Quando decidi come configurare BI Engine, considera quanto segue:

Garantisci l'accelerazione per query specifiche

Per assicurarti che un determinato insieme di query venga sempre accelerato, crea un progetto separato con una prenotazione BI Engine. Per farlo, devi assicurarti che la prenotazione BI Engine nel progetto sia abbastanza grande da corrispondere alle dimensioni di tutte le tabelle utilizzate in queste query e designare queste tabelle come tabelle 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 i join pre-uniti o preaggregati e con i dati contenuti in un numero ridotto di join. Questo è particolarmente vero quando un lato del join è grande e gli altri sono molto più piccoli, come quando si esegue una query su una tabella delle informazioni di grandi dimensioni unita a una tabella di dimensioni ridotte. Puoi combinare BI Engine con viste materializzate che eseguono i join per produrre una singola tabella piatta di grandi dimensioni. In questo modo, non è necessario eseguire gli stessi join su ogni query.

Comprendere l'impatto di BI Engine

Per comprendere il tuo utilizzo di BI Engine, consulta Monitorare BI Engine con Cloud Monitoring o esegui una query sulle viste INFORMATION_SCHEMA.BI_CAPACITIES e INFORMATION_SCHEMA.BI_CAPACITY_CHANGES. Assicurati di disabilitare l'opzione Utilizza i risultati memorizzati nella cache in BigQuery per ottenere un confronto più accurato. Per maggiori informazioni, consulta Utilizzare i risultati delle query memorizzati nella cache.

Tabelle preferite

Le tabelle preferite di BI Engine consentono di limitare l'accelerazione di BI Engine a un insieme specifico di tabelle. Le query per tutte le altre tabelle usano i normali slot BigQuery. Ad esempio, con le tabelle preferite puoi accelerare solo le tabelle e le dashboard che identifichi come importanti per la tua attività.

Se la RAM nel progetto non è sufficiente per contenere tutte le tabelle preferite, BI Engine scarica le partizioni e le colonne che non sono state consultate di recente. Questo processo libera memoria per le nuove query che richiedono l'accelerazione.

Limitazioni delle tabelle preferite

Le tabelle preferite di BI Engine hanno le seguenti limitazioni:

  • Non puoi aggiungere visualizzazioni all'elenco di prenotazioni delle tabelle preferite. Le tabelle preferite di BI Engine supportano solo le tabelle.
  • Le query alle viste materializzate hanno accelerazione solo se sia le viste materializzate che le relative tabelle di base sono nell'elenco delle tabelle preferite.
  • La specifica di partizioni o colonne per l'accelerazione non è supportata.
  • Le colonne di tipo JSON non sono supportate e non sono accelerate da BI Engine.
  • Le query che accedono a più tabelle hanno un'accelerazione solo se tutte le tabelle sono tabelle preferite. Ad esempio, per l'accelerazione, tutte le tabelle in una query con JOIN devono essere nell'elenco delle tabelle preferite. Se anche una sola tabella non è nell'elenco dei preferiti, la query non può utilizzare BI Engine.
  • I set di dati pubblici non sono supportati nella console Google Cloud. Per aggiungere una tabella pubblica come tabella preferita, utilizza l'API o il DDL.

Quote e limiti

Consulta Quote e limiti di BigQuery per le quote e i limiti applicabili a BI Engine.

Prezzi

Per informazioni sui prezzi di BI Engine, consulta la pagina Prezzi di BigQuery.

Passaggi successivi