Resolver problemas com o esquema de informações

Como administrador do BigQuery ou analista de dados, o gerenciamento de cargas de trabalho empresariais exige uma maneira confiável e escalonável de diagnosticar gargalos de desempenho, falhas de consulta, limites de capacidade e crescimento de armazenamento. As visualizações do esquema de informações do BigQuery servem como uma base de observabilidade, fornecendo metadados históricos e quase em tempo real acessíveis por consultas padrão do GoogleSQL.

Este documento descreve os princípios básicos da solução de problemas do BigQuery usando o esquema de informações, fornece uma visão geral estruturada da caixa de ferramentas administrativa de solução de problemas e direciona você para visualizações específicas na biblioteca do BigQuery.

Solução de problemas do esquema de informações por tarefa

A tabela a seguir resume as visualizações úteis do esquema de informações categorizadas por tarefa e caso de uso de diagnóstico:

Tarefa Casos de uso Visualizações do esquema de informações
Desempenho e erros de consulta
  • Identifique as consultas mais caras e que consomem mais slots.
  • Agregue motivos de erro de job e padrões de falha.
  • Analise os tempos de execução por estágio e os bytes transferidos.
Capacidade e contenção da carga de trabalho
  • Detecte contenção de slots, limitação e tempos de fila.
  • Monitore a saturação da memória de embaralhamento na memória.
  • Audite o uso de slots de escalonamento automático e de referência de reserva.
  • Verifique as atribuições de reserva de projetos e pastas.
Custos de armazenamento e arquitetura de dados
  • Identifique tabelas com armazenamento físico ou lógico descontrolado.
  • Detecte o aumento do armazenamento de viagem no tempo e à prova de falhas.
  • Diagnostique a distorção de partição e as tabelas que se aproximam dos limites de partição.
  • Descubra tabelas expiradas ou excluídas em janelas de viagem no tempo.
Controle de acesso e governança
  • Audite concessões explícitas de papéis do Identity and Access Management (IAM) em tabelas e conjuntos de dados.
  • Resolva erros de acesso negado para usuários e contas de serviço.
  • Acompanhe o compartilhamento de conjuntos de dados entre projetos e o uso analítico.
Pipelines de ingestão de dados
  • Monitore a capacidade de processamento e os erros de ingestão da API Storage Write.
  • Diagnostique a inserção por streaming de latência e os limites de taxa.
  • Identifique fluxos com falha por tipo de fluxo e código de erro.
Machine learning e pesquisa vetorial
  • Acompanhe a duração do treinamento de modelo e o consumo de recursos.
  • Audite o status de build do índice de vetor e a porcentagem de cobertura.
  • Resolva problemas de procedimentos armazenados e builds de UDFs do Python.
Insights de otimização da carga de trabalho
  • Analise as recomendações automatizadas de particionamento e clustering.
  • Identifique tabelas candidatas a visualizações materializadas.

Princípios da solução de problemas com o esquema de informações

Ao diagnosticar problemas de carga de trabalho ou ambiente no BigQuery, aplique os seguintes princípios básicos:

  • Escopo por região, conjunto de dados e projeto. O gerenciamento de cargas de trabalho e os recursos de computação do BigQuery são executados dentro dos limites regionais. Considere o seguinte:

    • Sempre especifique o qualificador regional correto (por exemplo, region-REGION.INFORMATION_SCHEMA.JOBS_BY_PROJECT) ou o qualificador do conjunto de dados.

    • Escolha o nível de hierarquia apropriado (BY_PROJECT, BY_USER, BY_FOLDER ou BY_ORGANIZATION) com base em se você está investigando um problema de usuário único, uma carga de trabalho específica do projeto ou um problema em todo o locatário.

  • Correlacione a demanda de computação com a capacidade. O desempenho lento da consulta geralmente é resultado da contenção de slots, e não apenas de um SQL ineficiente. Compare as solicitações de recursos de job (period_estimated_runnable_units) com os slots de reserva alocados (period_slot_ms) em janelas de tempo idênticas para distinguir entre oportunidades de ajuste de consulta e problemas causados por capacidade insuficiente.

  • Considere a granularidade da telemetria e os limites de retenção. Diferentes visualizações do esquema de informações operam em intervalos de atualização e janelas de retenção de dados distintos. Os metadados de job na visualização JOBS estão disponíveis por 180 dias, enquanto as métricas de linha do tempo de alta resolução nas JOBS_TIMELINE e RESERVATIONS_TIMELINE visualizações são mantidas por períodos mais curtos (normalmente de 14 a 30 dias). Para auditoria de longo prazo e análise de tendências, exporte a telemetria para tabelas particionadas.

  • Evite distorção de métricas em consultas com várias instruções. Scripts com várias instruções (SQL processual que contém DECLARE, IF ou WHILE) geram um job pai com statement_type = 'SCRIPT' e jobs filhos individuais para cada instrução. Ao agregar métricas como total_slot_ms ou total_bytes_billed, filtre statement_type = 'SCRIPT' para evitar a contagem dupla.

  • Filtre colunas de partição. Para minimizar o tempo de execução da consulta e evitar custos de verificação desnecessários na análise sob demanda, sempre inclua filtros de tempo restritivos em colunas de partição, como creation_time, job_start_time ou period_start.

A seguir

  • Para mais informações sobre a sintaxe do esquema de informações e uma lista de visualizações disponíveis, consulte Introdução ao INFORMATION_SCHEMA.
  • Para saber como visualizar detalhes do job, listar jobs ativos e cancelar jobs em execução, consulte Gerenciar jobs.