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.
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:
- Escreva e execute uma consulta no Console do Google Cloud.
- Execute o comando
bq query
na ferramenta de linha de comando bq. - Chame o método
jobs.query
oujobs.insert
de maneira programática na API REST do BigQuery. - Use as bibliotecas de cliente do BigQuery.
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:
- Para saber mais sobre o plano de consulta e conferir exemplos de como as informações do plano podem ajudar você a melhorar o desempenho da consulta, consulte Plano de consulta e cronograma.
- Para mais informações sobre a otimização de consulta em geral, consulte Introdução à otimização de desempenho da consulta.
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):
- Para saber mais sobre as opções de monitoramento no BigQuery, consulte Introdução ao monitoramento do BigQuery.
- Para saber mais sobre os registros de auditoria e como analisar o comportamento da consulta, acesse Registros de auditoria do BigQuery.
Preços de consultas
O BigQuery oferece dois modelos de preços para análise:
- Preço sob demanda. Você paga pelos dados verificados pelas suas consultas. Você tem uma capacidade de processamento de consultas fixa para cada projeto, e o custo é baseado no número de bytes processados.
- Preços com base em capacidade: você compra a capacidade de processamento de consultas dedicadas.
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:
- Um editor de SQL robusto que fornece preenchimento de código, validação de consultas e estimativa de bytes processados.
- Notebooks Python incorporados criados com o Colab Enterprise. Os notebooks oferecem ambientes de execução de desenvolvimento em Python com um clique e suporte integrado para o BigQuery DataFrames.
- Um editor PySpark (link em inglês) que permite criar procedimentos Python armazenados para o Apache Spark.
- Gerenciamento de recursos e histórico de versões para recursos de código, como notebooks e consultas salvas, criados com base no Dataform.
- Desenvolvimento de código assistido no editor SQL e em notebooks, baseado na IA generativa Gemini (visualização).
- Recursos do Dataplex para digitalização de descoberta de dados, criação de perfil e verificações de qualidade de dados.
- A capacidade de visualizar o histórico de jobs por usuário ou projeto.
- Capacidade de analisar resultados de consultas salvos ao se conectar com outras ferramentas, como Looker e Planilhas Google, e exportar esses resultados para serem usados em outros aplicativos.
Para usar o BigQuery Studio, siga as instruções em Ativar o BigQuery Studio para gerenciamento de recursos. Esse processo ativa as seguintes APIs:
- API Compute Engine: necessária para executar funções em Python no seu projeto.
- API Dataform: necessária para armazenar recursos de código, como arquivos de notebook.
- API Vertex AI: necessária para executar notebooks em Python do Colab Enterprise no BigQuery.
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
- Para uma introdução e uma visão geral das instruções SQL compatíveis, consulte Introdução ao SQL no BigQuery.
- Para saber mais sobre a sintaxe do GoogleSQL usada para consulta de dados no BigQuery, consulte Sintaxe de consulta no GoogleSQL.
- Para mais informações sobre como ler o plano da consulta, confira Como usar a explicação do plano de consulta.
- Para saber como programar uma consulta recorrente, confira Como programar consultas.