Che cos'è BI Engine?

BigQuery BI Engine è un servizio di analisi in memoria rapido che accelera molte query SQL in BigQuery memorizzando in modo intelligente nella cache i dati che utilizzi 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. In questo modo puoi migliorare le prestazioni delle query senza regolazioni manuali o gerarchie di 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 tua dashboard mostra solo i dati dell'ultimo trimestre, puoi partizionare le tabelle in base al tempo, in modo che vengano 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:

  1. API BigQuery: BI Engine si integra direttamente con l'API BigQuery. Qualsiasi soluzione di BI o applicazione personalizzata che funzioni 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. 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 lunghezza di esecuzione del dizionario, per comprimere ulteriormente i dati archiviati nel livello in memoria.
  3. Integrazione perfetta: BI Engine funziona con le funzionalità e i metadati di BigQuery, tra cui le viste autorizzate, sicurezza a livello di colonna e mascheramento dei dati.
  4. 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 di BI Engine SQL e delle le funzionalità di BI Engine.

Architettura di BI Engine

Casi d'uso di BI Engine

BI Engine può accelerare in modo significativo molte query SQL, tra cui quelle utilizzate per le dashboard di Business Intelligence. 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 lo spazio di archiviazione dedicata a BI Engine. Puoi lasciare che sia BigQuery a determinare quali tabelle memorizzare nella cache in base ai pattern di utilizzo del progetto oppure puoi contrassegnare tabelle specifiche per impedire ad altro traffico 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 i 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.

  • Ti affidi molto alle funzionalità di BigQuery, BI Engine non supporta: mentre BI Engine supporta la maggior parte delle funzioni SQL degli operatori quando collegano le attività di machine learning (BI) a BigQuery, non sono disponibili funzionalità, incluse tabelle esterne e funzioni non SQL definite dall'utente.

Considerazioni su BI Engine

Quando decidi come configurare BI Engine, considera quanto segue:

Garantire 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-uniti o pre-aggregati e con dati contenuti in un piccolo numero di join. Ciò è particolarmente vero quando un lato il join è grande e gli altri sono molto più piccoli, come quando esegui una query tabella delle informazioni di grandi dimensioni unita a una tabella di dimensioni ridotte. Puoi combinare BI Engine con le viste materializzate, che eseguono join per produrre una singola tabella grande e piatta. In questo modo, gli stessi join non devono essere eseguite per ogni query.

Comprendere l'impatto di BI Engine

Per comprendere il tuo utilizzo di BI Engine, consulta Monitorare BI Engine con Cloud Monitoring oppure esegui una query INFORMATION_SCHEMA.BI_CAPACITIES e INFORMATION_SCHEMA.BI_CAPACITY_CHANGES visualizzazioni. 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.

Tabelle preferite

Le tabelle preferite di BI Engine ti consentono di limitare BI Engine l'accelerazione a un insieme specificato di tabelle. Le query per tutte le altre tabelle utilizzano 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 nel progetto non è presente RAM sufficiente per contenere tutte le tabelle preferite, BI Engine esegue il offload delle partizioni e delle colonne a cui non è stato eseguito l'accesso di recente. Questo processo libera memoria per le nuove query che richiedono 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 vengono velocizzate solo se le viste materializzate e 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 vengono accelerate solo se tutte le tabelle sono tabelle preferite. Ad esempio, tutte le tabelle di una query con un JOIN devono essere nell'elenco delle tabelle preferite per essere accelerate. Se anche una tabella non è nell'elenco preferito, 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 conoscere le quote e i limiti che si applicano a BI Engine.

Prezzi

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

Passaggi successivi