Introdução às consultas contínuas

Neste documento, descreveremos as consultas contínuas do BigQuery.

As consultas contínuas do BigQuery são instruções SQL executadas continuamente. As consultas contínuas permitem analisar dados recebidos no BigQuery em tempo real. É possível inserir as linhas de saída produzidas por uma consulta contínua em uma tabela do BigQuery ou exportá-las para o Pub/Sub, o Bigtable ou o Spanner. As consultas contínuas podem processar dados que foram gravados em tabelas padrão do BigQuery usando um dos seguintes métodos:

Você pode usar consultas contínuas para realizar tarefas urgentes, como criar insights e agir imediatamente com base neles aplicando a inferência de machine learning (ML) em tempo real e a replicação de dados em outras plataformas. Dessa forma, você pode usar o BigQuery como um dispositivo de tratamento de dados orientado a eventos para a lógica de decisão do aplicativo.

O diagrama a seguir mostra fluxos de trabalho comuns de consulta contínua:

Diagrama que ilustra fluxos de trabalho comuns de consultas contínuas do BigQuery, incluindo ingestão, processamento e exportação de dados para destinos como Bigtable e Pub/Sub.

Casos de uso

Veja alguns casos de uso comuns em que convém usar consultas contínuas:

  • Serviços personalizados de interação com o cliente: use a IA generativa para criar mensagens personalizadas para cada interação com o cliente.
  • Detecção de anomalias: crie soluções que permitam realizar detecção de anomalias e ameaças em dados complexos em tempo real, para que você possa reagir a problemas mais rapidamente.
  • Pipelines personalizáveis baseados em eventos: use a integração de consulta contínua com o Pub/Sub para acionar aplicativos downstream com base nos dados recebidos.
  • Aprimoramento de dados e extração de entidades: use consultas contínuas para realizar aprimoramento e transformação de dados em tempo real usando funções SQL e modelos de ML.
  • ETL (extrair, transformar e carregar) reverso: execute ETL reverso em tempo real em outros sistemas de armazenamento mais adequados para veiculação de aplicativos de baixa latência. Por exemplo: analisar ou aprimorar dados de eventos gravados no BigQuery; e, em seguida, fazer streaming para o Bigtable ou o Spanner para veiculação do aplicativo.

Operações suportadas

As seguintes operações são aceitas em consultas contínuas:

Autorização

Os Google Cloud tokens de acesso usados ao executar jobs de consulta contínua têm um time to live (TTL) de dois dias quando são gerados por uma conta de usuário. Portanto, esses jobs param de ser executados após dois dias. Os tokens de acesso gerados pelas contas de serviço podem ser executados por mais tempo, mas ainda precisam obedecer ao tempo máximo de execução da consulta. Para mais informações, consulte Executar uma consulta contínua usando uma conta de serviço.

Locais

Para conferir uma lista de regiões compatíveis, consulte Locais de consultas contínuas do BigQuery.

Limitações

As consultas contínuas estão sujeitas às seguintes limitações:

Limitações de reserva

  • Você precisa criar reservas da edição Enterprise ou da edição Enterprise Plus para executar consultas contínuas. As consultas contínuas não aceitam o modelo de faturamento de computação on demand.
  • Quando você cria uma CONTINUOUS atribuição de reserva, a reserva associada é limitada a no máximo 500 slots. Para solicitar um aumento desse limite, entre em contato com bq-continuous-queries-feedback@google.com.
  • Não é possível criar uma atribuição de reserva que usa um tipo de trabalho diferente na mesma reserva como uma atribuição de reserva de consulta contínua.
  • Não é possível configurar a simultaneidade de consultas contínuas. O BigQuery determina automaticamente o número de consultas contínuas que podem ser executadas simultaneamente, com base nas atribuições de reserva disponíveis que usam o tipo de job CONTINUOUS.
  • Ao executar várias consultas contínuas usando a mesma reserva, jobs individuais podem não dividir os recursos disponíveis de maneira justa, já que são definidos pela imparcialidade do BigQuery.

Escalonamento automático de slots

As consultas contínuas podem usar o escalonamento automático de slots para escalonar dinamicamente a capacidade alocada e acomodar sua carga de trabalho. À medida que a carga de trabalho das suas consultas contínuas aumenta ou diminui, o BigQuery ajusta dinamicamente seus slots.

Depois que uma consulta contínua começa a ser executada, ela detecta ativamente os dados recebidos, o que consome recursos de slot. Embora uma reserva com uma consulta contínua em execução não seja reduzir escala vertical a zero slots, uma consulta contínua inativa que está principalmente aguardando dados recebidos deve consumir uma quantidade mínima de slots, geralmente cerca de um slot.

Compartilhamento de slots inativos

As consultas contínuas podem usar o compartilhamento de slots ociosos para compartilhar recursos de slots não utilizados com outras reservas e tipos de jobs.

  • Uma atribuição de reserva de CONTINUOUS ainda é necessária para executar uma consulta contínua e não pode depender apenas de slots ociosos de outras reservas. Assim, uma atribuição de reserva do CONTINUOUS exige um valor de referência de slot diferente de zero ou uma configuração de escalonamento automático de slot diferente de zero.
  • Somente slots de valor de referência ociosos ou slots confirmados de uma atribuição de reserva CONTINUOUS podem ser compartilhados. Os slots com escalonamento automático não podem ser compartilhados como slots ociosos para outras reservas.

Preços

As consultas contínuas usam Preços de computação de capacidade do BigQuery, que são medidos em slots. Para executar consultas contínuas, é preciso ter uma reserva que use a edição Enterprise ou Enterprise Plus e uma atribuição de reserva que usa o tipo de job CONTINUOUS.

O uso de outros recursos do BigQuery, como ingestão de dados e armazenamento, é cobrado conforme as taxas mostradas nos Preços do BigQuery.

O uso de outros serviços que recebem resultados de consulta contínua ou que são chamados durante o processamento de consultas é cobrado de acordo com as taxas publicadas para esses serviços. Para os preços de outros serviços do Google Cloud usados pelas consultas contínuas, consulte os seguintes tópicos:

A seguir

Tente criar uma consulta contínua.