Visão geral da interface do BigQuery BI Engine SQL

Sobre a interface SQL do BI Engine

O BigQuery BI Engine é um serviço rápido de análise na memória que permite aos usuários analisar dados armazenados no BigQuery com tempos de resposta de consulta de milissegundos e com alta simultaneidade.

A interface BI Engine SQL expande o BI Engine para se integrar a outras ferramentas de business intelligence (BI), como Looker, Tableau, Power BI e aplicativos personalizados, para acelerar a exploração e a análise de dados. Nesta página, você terá uma visão geral da interface do BI Engine SQL e dos recursos expandidos que ela oferece para essa versão de pré-lançamento do BI Engine.

Como ter acesso à visualização

O acesso à interface BI Engine SQL durante a visualização é fornecido por meio de um processo de inscrição. Para detalhes, consulte o documento de inscrição de visualização do BI Engine.

Como aumentar o tamanho da reserva durante a visualização

Se você precisar de uma reserva de memória adicional além do tamanho padrão de 100 GB, solicite um aumento. Os aumentos de reserva são avaliados caso a caso e estão disponíveis somente em algumas regiões.

Arquitetura do BI Engine

A interface BI Engine do SQL baseia-se na arquitetura existente do BI Engine para o Google Data Studio. O diagrama a seguir mostra a arquitetura atualizada do BI Engine:

Arquitetura do BI Engine

Esta versão de pré-lançamento do BI Engine inclui o seguinte:

  1. API BigQuery: o BI Engine se integra diretamente com a API BigQuery. Qualquer solução de BI ou aplicativo personalizado que funciona com a API BigQuery por meio de mecanismos padrão, como drivers REST JDBC e ODBC, pode usar o BI Engine sem nenhuma alteração.
  2. Ambiente de execução vetorizado: com a interface BI Engine do SQL, o BI Engine apresenta uma técnica mais moderna chamada processamento vetorizado. O uso do processamento vetorial em um mecanismo de execução faz uso mais eficiente da arquitetura moderna da CPU, operando em lotes de dados por vez. O BI Engine também usa codificações avançadas de dados, especificamente a codificação de tamanho de execução do dicionário, para compactar ainda mais os dados armazenados na camada na memória.
  3. Metadados: armazenam as definições de tabela e visualizações, a definição do esquema e as permissões refinadas.
  4. Reservas: as reservas do BI Engine gerenciam a alocação de memória no nível do faturamento do projeto. O BI Engine armazena em cache somente colunas e partições que são consultadas ou verificadas. Ele não armazena em cache a tabela inteira.
  5. Mecanismo distribuído na memória: o BI Engine é um mecanismo de execução na memória distribuída, que permite que os clientes aloque reservas de memória significativamente maiores.

Otimização e aceleração de consultas

No BigQuery, e por extensão do BI Engine, o plano de consulta produzido para uma consulta SQL é dividido em subconsultas. Uma subconsulta contém várias operações, como verificação, filtragem ou agregação de dados, e costuma ser a unidade de execução em um fragmento.

Todas as consultas SQL compatíveis com o BigQuery são executadas corretamente pela interface de BI Engine SQL, mas a versão de visualização da interface de BI Engine SQL otimiza apenas algumas subconsultas. Em especial, ele é mais otimizado para subconsultas no nível da folha que verificam os dados do armazenamento e executam operações como filtro, computação, agregação, ordenação e determinados tipos de junções. Outras subconsultas que ainda não são totalmente aceleradas pelo BI Engine são revertidas para o BigQuery para execução.

Devido a essa otimização seletiva, BI mais simples ou consultas do tipo painel (que resultam em menos subconsultas) se beneficiam mais do BI Engine, porque a maior parte do tempo de execução é gasta em subconsultas no nível da folha que processam dados brutos.

Limitações

A lista a seguir explica como e quando uma consulta é acelerada quando você usa essa versão de visualização do BI Engine:

  • Nas subconsultas no nível de folha, a aceleração é restrita a funções e operadores SQL padrão.
  • Durante essa visualização, os usuários são limitados a um máximo de 100 GB de capacidade do BI Engine para cada projeto do Google Cloud. É possível solicitar um aumento de capacidade de reserva.
  • A ingestão de streaming do BigQuery não é compatível durante a visualização.
  • As seguintes limitações se aplicam ao tamanho e ao número de linhas:
    • As consultas simples que fazem referência a apenas uma tabela (como GROUP-BY ou FILTER) são limitadas principalmente pelo tamanho da reserva.
    • Para junções, a aceleração é restrita às subconsultas de nível folha com junções INNER e LEFT OUTER, em que uma tabela grande (de fato) é unida com até quatro tabelas pequenas e não particionadas (dimensão). , cada um com até cinco milhões de linhas ou 5 GB de tamanho para as colunas referenciadas.
  • Não é possível usar consultas que fazem referência a tabelas com caractere curinga.
  • Esta versão de pré-lançamento do BI Engine não está disponível em todas as regiões. Veja mais informações nas regiões compatíveis.

Monitoramento e diagnósticos

Esta seção explica como encontrar estatísticas sobre o BI Engine e como o BI Engine se integra ao Cloud Monitoring.

Estatísticas de aceleração

Estatísticas detalhadas sobre o BI Engine estão disponíveis por meio da API de estatísticas do job. Você pode usar a ferramenta de linha de comando bq para buscar estatísticas associadas a consultas aceleradas do BI Engine.

Com a aceleração do BI Engine ativada, é possível executar uma consulta em qualquer um destes três modos:


DISABLED
O BI Engine desativou a aceleração. biEngineReasons especifica um motivo mais detalhado. A consulta foi executada usando o mecanismo de execução do BigQuery.

PARTIAL
Parte da consulta foi acelerada usando o BI Engine. Conforme descrito em Otimização e aceleração de consultas, um plano de consulta geralmente é dividido em várias subconsultas. Esta visualização do BI Engine é compatível com os tipos comuns de padrões de subconsulta que normalmente são usados no painel. Se a consulta consistir em várias subconsultas, sendo que apenas algumas se enquadram nos casos de uso compatíveis, o BI Engine executará as subconsultas restantes usando o mecanismo normal do BigQuery. Essas subconsultas restantes não recebem a aceleração do BI Engine. Nessa situação, o BI Engine retorna um código de aceleração PARTIAL e usa biEngineReasons para preencher o motivo para não acelerar outras subconsultas.

 FULL
 
Toda a consulta foi acelerada usando o BI Engine.

Para buscar as estatísticas associadas às consultas aceleradas do BI Engine, execute o seguinte comando da ferramenta de linha de comando bq:

bq show --format=prettyjson -j job_id

Se o projeto estiver ativado para aceleração do BI Engine, a saída produzirá um novo campo, biEngineStatistics. Veja um exemplo de relatório de job:

 "statistics": {
    "creationTime": "1602175128902",
    "endTime": "1602175130700",
    "query": {
      "biEngineStatistics": {
        "biEngineMode": "DISABLED",
        "biEngineReasons": [
          {
            "code": "UNSUPPORTED_SQL_TEXT",
            "message": "Detected unsupported join type"
          }
        ]
      },

Para mais informações sobre o campo BiEngineStatistics, consulte a referência do job.

Cloud Monitoring

O BI Engine se integra ao Cloud Monitoring para exibir as principais métricas para fins de monitoramento e alerta. Estas são as métricas monitoradas:

Resource type Nome da métrica Descrição
Projeto Total de bytes da reserva Capacidade total alocada em um projeto do Cloud.
Projeto Bytes de reserva usados Capacidade total usada em um projeto do Cloud.

Feedback e atualizações

Depois de se inscrever na visualização, é possível postar perguntas e comentários no grupo de discussão. Também usamos esse grupo para fornecer atualizações sobre melhorias e recursos em andamento durante a fase de visualização.

Preços

O modelo de preços atual está descrito na página de preços do BI Engine.

Regiões compatíveis

Como o BigQuery, o BI Engine é um recurso regional e multirregional. O BI Engine processa os dados na mesma região em que eles estão localizados no BigQuery.

A fase de visualização da interface do BI Engine SQL é compatível com os seguintes locais.

Locais regionais

Descrição da região Nome da região
América
Los Angeles us-west2
Norte da Virgínia us-east4
Oregon us-west1
Carolina do Sul us-east1
Europa
Bélgica europe-west1
Ásia-Pacífico
Singapura asia-southeast1
Tóquio asia-northeast1

Locais multirregionais

Descrição multirregional Nome multirregional
Data centers dentro de estados membro da União Europeia1 EU
Data centers nos Estados Unidos US

1 Os dados localizados na multirregião EU não são armazenados nos data centers europe-west2 (Londres) ou europe-west6 (Zurique).