Utiliser l'exécution avancée BigQuery

Le moteur d'exécution avancé BigQuery est un ensemble d'améliorations des performances conçu pour accélérer automatiquement les charges de travail analytiques sans nécessiter d'action de l'utilisateur ni de modification du code. Ce document décrit ces améliorations des performances, y compris la vectorisation améliorée et les optimisations des requêtes courtes.

Rôles et autorisations

Pour obtenir les autorisations nécessaires pour spécifier un paramètre de configuration, demandez à votre administrateur de vous accorder le rôle IAM Administrateur BigQuery (roles/bigquery.admin) sur votre projet ou votre organisation. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Vectorisation améliorée

L'exécution vectorisée est un modèle de traitement des requêtes qui fonctionne sur des colonnes de données dans des blocs alignés sur la taille du cache du processeur et qui utilise des instructions SIMD (Single Instruction, Multiple Data). La vectorisation améliorée étend l'exécution vectorisée des requêtes dans BigQuery aux aspects suivants du traitement des requêtes :

  • En exploitant des encodages de données spécialisés dans le format de stockage Capacitor, les opérations d'évaluation des filtres peuvent être exécutées sur les données encodées.
  • Les encodages spécialisés sont propagés dans le plan de requête, ce qui permet de traiter davantage de données lorsqu'elles sont encore encodées.
  • En implémentant le pliage d'expressions pour évaluer les fonctions déterministes et les expressions constantes, BigQuery peut simplifier les prédicats complexes en valeurs constantes.

Optimisations pour les requêtes courtes

BigQuery exécute généralement les requêtes dans un environnement distribué à l'aide d'une couche intermédiaire de redistribution. Les optimisations pour les requêtes courtes identifient de manière dynamique les requêtes qui peuvent être exécutées en une seule étape, ce qui réduit la latence et la consommation d'emplacements. Les encodages spécialisés peuvent être utilisés plus efficacement lorsqu'une requête est exécutée en une seule étape. Ces optimisations sont plus efficaces lorsqu'elles sont utilisées avec le mode de création de job facultatif, qui minimise la latence de démarrage, de maintenance et de récupération des résultats des jobs.

L'éligibilité aux optimisations pour les requêtes courtes est dynamique et dépend des facteurs suivants :

  • Taille prévue de l'analyse des données.
  • La quantité de données à transférer.
  • Sélectivité des filtres de requête.
  • Type et disposition physique des données stockées.
  • Structure globale de la requête.
  • Les statistiques historiques des exécutions de requêtes passées.

Activer l'environnement d'exécution avancé

Entre le 15 septembre 2025 et début 2026, BigQuery commencera à utiliser l'exécution avancée comme exécution par défaut pour tous les projets. Pour activer le runtime avancé dans un projet ou une organisation existants, utilisez l'instruction ALTER PROJECT ou ALTER ORGANIZATION pour modifier la configuration par défaut. Dans l'instruction, définissez l'argument query_runtime sur 'advanced'. Exemple :

ALTER PROJECT PROJECT_NAME
SET OPTIONS (
  `region-LOCATION.query_runtime` = 'advanced'
);

Remplacez les éléments suivants :

  • PROJECT_NAME : nom du projet.
  • LOCATION : emplacement du projet.

La prise en compte de la modification peut prendre plusieurs minutes.

Une fois que vous avez activé l'environnement d'exécution avancé, les requêtes éligibles du projet ou de l'organisation utilisent l'environnement d'exécution avancé, quel que soit l'utilisateur qui a créé le job de requête.