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 |
|
|
| Capacidade e contenção da carga de trabalho |
|
|
| Custos de armazenamento e arquitetura de dados |
|
|
| Controle de acesso e governança |
|
|
| Pipelines de ingestão de dados |
|
|
| Machine learning e pesquisa vetorial |
|
|
| Insights de otimização da carga de trabalho |
|
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_FOLDERouBY_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
JOBSestão disponíveis por 180 dias, enquanto as métricas de linha do tempo de alta resolução nasJOBS_TIMELINEeRESERVATIONS_TIMELINEvisualizaçõ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,IFouWHILE) geram um job pai comstatement_type = 'SCRIPT'e jobs filhos individuais para cada instrução. Ao agregar métricas comototal_slot_msoutotal_bytes_billed, filtrestatement_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_timeouperiod_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.