Soluciona problemas con el esquema de información

Como administrador o analista de datos de BigQuery, la administración de cargas de trabajo empresariales requiere una forma confiable y escalable de diagnosticar cuellos de botella de rendimiento, fallas de consultas, límites de capacidad y crecimiento de almacenamiento. Las vistas del esquema de información de BigQuery sirven como base de observabilidad, ya que proporcionan metadatos históricos y casi en tiempo real a los que se puede acceder a través de consultas de GoogleSQL estándar.

En este documento, se describen los principios básicos para solucionar problemas de BigQuery con el esquema de información, se proporciona una descripción general estructurada del kit de herramientas de solución de problemas administrativos y se te dirige a vistas específicas en la biblioteca de BigQuery.

Solución de problemas del esquema de información por tarea

En la siguiente tabla, se resumen las vistas útiles del esquema de información categorizadas por tarea y caso de uso de diagnóstico:

Tarea Casos de uso Vistas del esquema de información
Rendimiento y errores de las consultas
  • Identifica las consultas más costosas y que consumen más ranuras.
  • Agrega los motivos de error y los patrones de falla de los trabajos.
  • Analiza los tiempos de ejecución por etapa y los bytes derramados.
Capacidad y contención de la carga de trabajo
  • Detecta la contención de ranuras, la limitación y los tiempos de cola.
  • Supervisa la saturación de la memoria de reproducción aleatoria en la memoria.
  • Audita el uso de ranuras de referencia y de ajuste de escala automático de la reserva.
  • Verifica las asignaciones de reservas de proyectos y carpetas.
Costos de almacenamiento y arquitectura de datos
  • Identifica las tablas con almacenamiento físico o lógico descontrolado.
  • Detecta el aumento del almacenamiento de viaje en el tiempo y de seguridad ante fallas.
  • Diagnostica la asimetría de particiones y las tablas que se acercan a los límites de particiones.
  • Descubre tablas borradas o vencidas en períodos de viaje en el tiempo.
Control de acceso y administración
  • Audita las concesiones explícitas de roles de Identity and Access Management (IAM) en tablas y conjuntos de datos.
  • Soluciona los errores de acceso denegado para usuarios y cuentas de servicio.
  • Realiza un seguimiento del uso analítico y del uso compartido de conjuntos de datos entre proyectos.
Canalizaciones de transferencia de datos
  • Supervisa la capacidad de procesamiento y los errores de la transferencia de datos de la API de Storage Write.
  • Diagnostica la latencia de inserción de transmisión y los límites de frecuencia.
  • Identifica las transmisiones con errores por tipo de transmisión y código de error.
Aprendizaje automático y búsqueda vectorial
  • Realiza un seguimiento de la duración del entrenamiento de modelos y el consumo de recursos.
  • Audita el estado de compilación del índice vectorial y el porcentaje de cobertura.
  • Soluciona problemas de compilaciones de UDF de Python y procedimientos almacenados.
Estadísticas de optimización de cargas de trabajo
  • Revisa las recomendaciones de partición y agrupamiento en clústeres automatizadas.
  • Identifica las tablas candidatas de vistas materializadas.

Principios de la solución de problemas con el esquema de información

Cuando diagnostiques problemas de cargas de trabajo o de entorno en BigQuery, aplica los siguientes principios básicos:

  • Alcance por región, conjunto de datos y proyecto. La administración de cargas de trabajo y los recursos de procesamiento de BigQuery se ejecutan dentro de los límites regionales. Ten en cuenta lo siguiente:

    • Siempre especifica el calificador regional correcto (por ejemplo, region-REGION.INFORMATION_SCHEMA.JOBS_BY_PROJECT) o el calificador del conjunto de datos.

    • Elige el nivel de jerarquía adecuado (BY_PROJECT, BY_USER, BY_FOLDER o BY_ORGANIZATION) según si estás investigando un problema de un solo usuario, una carga de trabajo específica del proyecto o un problema en todo el tenant.

  • Correlaciona la demanda de procesamiento con la capacidad. El rendimiento lento de las consultas suele ser el resultado de la contención de ranuras en lugar de un SQL ineficiente. Compara las solicitudes de recursos de trabajo (period_estimated_runnable_units) con las ranuras de reserva asignadas (period_slot_ms) en períodos idénticos para distinguir entre las oportunidades de ajuste de consultas y los problemas causados por una capacidad insuficiente.

  • Ten en cuenta la granularidad de la telemetría y los límites de retención. Las diferentes vistas del esquema de información operan en intervalos de actualización y períodos de retención de datos distintos. Los metadatos de trabajo en la vista JOBS están disponibles durante 180 días, mientras que las métricas de cronograma de alta resolución en las JOBS_TIMELINE y RESERVATIONS_TIMELINE vistas se retienen durante períodos más cortos (por lo general, de 14 a 30 días). Para el análisis de tendencias y auditorías a largo plazo, debes exportar la telemetría a tablas particionadas.

  • Evita la distorsión de las métricas en las consultas de varias instrucciones. Las secuencias de comandos de varias instrucciones (SQL procedimental que contiene DECLARE, IF, o WHILE) generan un trabajo superior con statement_type = 'SCRIPT' y trabajos secundarios individuales para cada instrucción. Cuando agregues métricas como total_slot_ms o total_bytes_billed, filtra statement_type = 'SCRIPT' para evitar el registro duplicado.

  • Filtra por columnas de partición. Para minimizar el tiempo de ejecución de las consultas y evitar costos de análisis innecesarios en el análisis a pedido, siempre incluye filtros de tiempo restrictivos en las columnas de partición, como creation_time, job_start_time o period_start.

¿Qué sigue?

  • Para obtener más información sobre la sintaxis del esquema de información y una lista de las vistas disponibles, consulta Introducción a INFORMATION_SCHEMA.
  • Para obtener información sobre cómo ver los detalles de los trabajos, enumerar los trabajos activos y cancelar los trabajos en ejecución, consulta Administra trabajos.