Visão geral da análise do BigQuery

Neste documento, descrevemos como o BigQuery processa consultas e fornece uma visão geral de vários recursos úteis para análise de dados.

O BigQuery é otimizado para executar consultas analíticas em grandes conjuntos de dados, incluindo terabytes de dados em segundos e petabytes em minutos. Entender os recursos e como ele processa consultas pode ajudar você a maximizar seus investimentos em análise de dados.

Para fazer um tour pelos recursos de análise de dados do BigQuery diretamente no console do Google Cloud, clique em Fazer o tour.

Faça o tour

Fluxos de trabalho analíticos

O BigQuery oferece suporte a vários fluxos de trabalho de análise de dados:

  • Análise ad-hoc. O BigQuery usa o GoogleSQL, o dialeto SQL do BigQuery, para oferecer suporte à análise ad-hoc. É possível executar consultas no Console do Google Cloud ou por meio de ferramentas de terceiros que se integram ao BigQuery.

  • Análise geoespacial. O BigQuery usa tipos de dados geográficos e funções geográficas do GoogleSQL para que você analise e visualize dados geoespaciais. Para informações sobre essas funções e de dados, consulte Introdução à análise geoespacial.

  • Machine learning. O BigQuery ML usa consultas do GoogleSQL para permitir a criação e a execução de modelos de machine learning (ML) no BigQuery.

  • Business Intelligence. O BigQuery BI Engine é um serviço de análise rápido na memória que permite criar painéis e relatórios avançados e interativos sem comprometer o desempenho, a escalonabilidade, a segurança ou a atualização de dados.

Consultas

A unidade de análise principal do BigQuery é a consulta SQL. O BigQuery tem dois dialetos SQL: GoogleSQL e SQL legado. O GoogleSQL é o dialeto de preferência. Ela é compatível com SQL:2011 e inclui extensões com suporte a análise geoespacial ou ML.

As seções abaixo descrevem como o BigQuery oferece suporte e executa consultas de dados.

Fontes de dados

O BigQuery permite consultar os seguintes tipos de fontes de dados:

  • Dados armazenados no BigQuery. É possível carregar dados no BigQuery para análise. Também é possível gerar dados usando instruções de linguagem de manipulação de dados (DML, na sigla em inglês) ou gravando resultados de consulta em uma tabela. É possível consultar dados armazenados em locais de uma ou várias regiões, mas não é possível executar uma consulta em vários locais, mesmo que um seja de região única e o outro seja de várias regiões que contêm o local de região única. Para mais informações, consulte Locais, reservas e jobs.

  • Dados externos. É possível consultar várias fontes de dados externas, como outros serviços de armazenamento do Google Cloud (como o Cloud Storage) ou serviços de banco de dados, como o Spanner ou o Cloud SQL. Para mais informações sobre como configurar conexões com fontes externas, consulte Introdução às fontes de dados externas.

  • Dados de várias nuvens. É possível consultar dados armazenados em outras nuvens públicas, como AWS ou Azure. Para informações sobre como configurar conexões com o armazenamento de blob do Amazon S3 ou do Azure, leia uma introdução ao BigQuery Omni.

  • Conjuntos de dados públicos. Se você não tiver seus próprios dados, analise qualquer um dos conjuntos de dados disponíveis no marketplace de conjuntos de dados públicos.

Jobs de consulta

Jobs são ações executadas pelo BigQuery em seu nome para carregar dados, exportar dados, consultar dados ou copiar dados.

Quando você usa o console do Google Cloud ou a ferramenta bq para executar um desses jobs, um recurso de job é criado, programado e executado automaticamente. Também é possível criar de maneira programática um job de carregamento, exportação, consulta ou cópia. Quando você faz isso, o job é programado e executado pelo BigQuery.

Como os jobs podem levar um longo tempo para serem concluídos, eles são executados de maneira assíncrona e podem ser pesquisados por status. As ações mais curtas, como listar recursos ou receber metadados, não são gerenciadas por um recurso de job.

Tipos de consultas

Você pode consultar dados do BigQuery usando um dos seguintes tipos de job de consulta:

  • Jobs de consulta interativos. Por padrão, o BigQuery executa jobs de consulta interativos (sob demanda) o mais rápido possível.
  • Jobs de consulta contínua (Prévia). Com esses jobs, a consulta é executada continuamente, para que você analise os dados de entrada no BigQuery em tempo real e gravar resultados para uma tabela do BigQuery ou exportar os resultados para Bigtable ou Pub/Sub. Use esse recurso para realizar tarefas urgentes, como criar e agir imediatamente insights, aplicando inferências de machine learning (ML) em tempo real e criar pipelines de dados orientados por eventos.

  • Jobs de consulta em lote. Com esses jobs, o BigQuery coloca em fila cada consulta em lote em seu nome e inicia a consulta quando os recursos inativos estão disponíveis, geralmente em alguns minutos.

É possível executar jobs de consulta usando os seguintes métodos:

Consultas salvas e compartilhadas

O BigQuery permite salvar e compartilhar consultas com outras pessoas.

Uma consulta salva pode ser privada (visível apenas para você), compartilhada para envolvidos no projeto (visível para os principais do projeto) ou pública (qualquer pessoa consegue vê-la). Para mais informações, consulte Trabalhar com consultas salvas.

Como o BigQuery processa consultas

Vários processos ocorrem quando o BigQuery executa uma consulta:

  • Árvore de execução. Quando você executa uma consulta, o BigQuery gera uma árvore de execução que divide a consulta em estágios. Essas etapas contêm etapas que podem ser executadas em paralelo.

  • Nível de embaralhamento. Os estágios se comunicam usando um nível de embaralhamento rápido e distribuído que armazena dados intermediários produzidos pelos workers de um estágio. Quando possível, o nível de embaralhamento usa tecnologias como uma rede de petabits e RAM para mover rapidamente os dados para os nós de trabalho.

  • Plano de consulta. Quando o BigQuery tem todas as informações necessárias para executar uma consulta, ele gera um plano de consulta. É possível acessar esse plano no Console do Google Cloud e usá-lo para resolver problemas ou otimizar o desempenho da consulta.

  • Monitoramento e planejamento dinâmico de consultas. Além dos workers que executam o trabalho do plano de consulta, outros workers monitoram e direcionam o progresso geral do trabalho em todo o sistema. À medida que a consulta avança, o BigQuery pode ajustar dinamicamente o plano de consulta para se adaptar aos resultados dos vários estágios.

  • Resultados da consulta. Quando uma consulta é concluída, o BigQuery grava os resultados no armazenamento permanente e os retorna ao usuário. Esse design permite que o BigQuery exiba os resultados armazenados em cache na próxima vez que a consulta for executada.

Simultaneidade e desempenho da consulta

O desempenho de consultas executadas repetidamente nos mesmos dados pode variar por causa da natureza compartilhada do ambiente do BigQuery, ou porque o BigQuery ajusta dinamicamente o plano de consulta enquanto a consulta é executada. Para um sistema típico ocupado em que muitas consultas são executadas simultaneamente, o BigQuery usa vários processos para suavizar variações no desempenho da consulta:

  • O BigQuery executa muitas consultas em paralelo, então raramente há uma necessidade de enfileirar consultas.

    Em sistemas ocupados, as filas são uma grande fonte de desempenho menos imprevisível, porque não está claro quanto tempo uma consulta pode ficar na fila. O tempo que uma consulta está na fila pode depender mais de outras consultas em execução ou que estão na fila do que das qualidades da própria consulta.

  • À medida que as consultas são iniciadas e concluídas, o BigQuery redistribui os recursos de maneira justa entre consultas novas e em execução. Esse processo garante que o desempenho da consulta não dependa da ordem em que as consultas são enviadas, mas sim do número de consultas executadas em um determinado momento.

Otimização de consultas

Após a conclusão da consulta, é possível ver o plano de consulta no Console do Google Cloud. Também é possível solicitar detalhes da execução usando as visualizações INFORMATION_SCHEMA.JOBS* ou o método jobs.get da API REST.

O plano de consulta inclui detalhes sobre os estágios e as etapas da consulta. Esses detalhes podem ajudar a identificar formas de melhorar o desempenho da consulta. Por exemplo, se você perceber um estágio que grava muito mais resultados do que outros, pode ser necessário filtrar anteriormente na consulta.

Para mais informações sobre o plano de consulta e a otimização da consulta, consulte os seguintes recursos:

Monitoramento de consultas

O monitoramento e a geração de registros são fundamentais para executar aplicativos confiáveis na nuvem. As cargas de trabalho do BigQuery não são exceção, especialmente se a carga de trabalho tiver grandes volumes ou for essencial. O BigQuery fornece várias métricas, registros e visualizações de metadados para ajudar a monitorar o uso do BigQuery.

Para saber mais, acesse os recursos a seguir (links em inglês):

Preços de consultas

O BigQuery oferece dois modelos de preços para análise:

Para mais informações sobre os dois modelos de preço e sobre como fazer reservas com preços baseados em capacidade, consulte Introdução às reservas.

Controles de custo de consulta e cotas

O BigQuery impõe cotas de nível de projeto para a execução de consultas. Para informações sobre cotas de consultas, acesse Cotas e limites.

O BigQuery fornece várias opções para controlar os custos de consulta, incluindo cotas personalizadas e alertas de cobrança. Para mais informações, consulte Como criar controles de custo personalizados.

Recursos de análise de dados

O BigQuery suporta análises descritivas e preditivas. Para consultar seus dados diretamente para responder a algumas perguntas estatísticas, você pode usar o Console do Google Cloud. Para analisar visualmente os dados, por exemplo, para tendências e anomalias, use ferramentas como o Tableau ou o Looker que se integram ao BigQuery.

BigQuery Studio

O BigQuery Studio ajuda a descobrir, analisar e executar inferências em dados no BigQuery com os seguintes recursos:

BigQuery ML

O BigQuery ML permite que você use SQL no BigQuery para executar machine learning (ML) e análises preditivas. Para mais informações, consulte Introdução ao BigQuery ML.

Integração com ferramentas do Google Analytics

Além de executar consultas no BigQuery, é possível analisar os dados com várias ferramentas de análise e business intelligence que se integram ao BigQuery, como:

  • Looker. O Looker é uma plataforma corporativa de Business Intelligence, aplicativos de dados e análises incorporadas. A Plataforma Looker funciona com muitos repositórios de dados, incluindo o BigQuery. Para informações sobre como conectar o Looker ao BigQuery, consulte Como usar o Looker.

  • Looker Studio. Depois de executar uma consulta, você pode iniciar o Looker Studio diretamente do BigQuery no Console do Google Cloud. Depois, no Looker Studio, crie visualizações e explore os dados retornados da consulta. Para informações sobre o Looker Studio, consulte Visão geral do Looker Studio.

  • Páginas conectadas. Também é possível iniciar páginas conectadas diretamente no BigQuery no Console. as páginas conectadas executa consultas do BigQuery em seu nome mediante solicitação ou por uma programação definida. Os resultados dessas consultas são salvos na planilha para análise e compartilhamento. Para informações sobre as páginas conectadas, consulte Como usar páginas conectadas.

Integração com ferramentas de terceiros

Várias ferramentas de análise terceirizadas funcionam com o BigQuery. Por exemplo, você pode conectar o Tableau aos dados do BigQuery e usar as ferramentas de visualização dele para analisar e compartilhar a análise. Para mais informações sobre considerações ao usar ferramentas de terceiros, consulte Integração de ferramentas de terceiros.

Os drivers ODBC e JDBC estão disponíveis e podem ser usados para integrar o aplicativo ao BigQuery. A intent desses drivers é ajudar os usuários a aproveitar a eficiência do BigQuery com ferramentas e infraestrutura atuais. Para informações sobre a versão mais recente e problemas conhecidos, consulte drivers ODBC e JDBC para BigQuery.

As bibliotecas pandas como pandas-gbq permitem que você interaja com os dados do BigQuery em notebooks do Jupyter. Para informações sobre essa biblioteca e a comparação dela com o uso da biblioteca de cliente Python do BigQuery, consulte Comparação com o pandas-gbq.

Também é possível usar o BigQuery com outros notebooks e ferramentas de análise. Para mais informações, consulte Ferramentas de análise programática.

Para uma lista completa de análises do BigQuery e mais parceiros em tecnologia, consulte a lista de parceiros na página do produto do BigQuery.

A seguir