Utilizzare il runtime avanzato di BigQuery

BigQuery advanced runtime è un insieme di miglioramenti delle prestazioni progettati per accelerare automaticamente i carichi di lavoro analitici senza richiedere l'intervento dell'utente o modifiche al codice. Questo documento descrive questi miglioramenti delle prestazioni, tra cui una migliore vettorizzazione e ottimizzazioni delle query brevi.

Ruoli e autorizzazioni

Per ottenere le autorizzazioni necessarie per specificare un'impostazione di configurazione, chiedi all'amministratore di concederti il ruolo IAM BigQuery Admin (roles/bigquery.admin) nel progetto o nell'organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Vettorializzazione avanzata

L'esecuzione vettoriale è un modello di elaborazione delle query che opera su colonne di dati in blocchi allineati alle dimensioni della cache della CPU e utilizza istruzioni SIMD (Single Instruction, Multiple Data). La vettorizzazione avanzata estende l'esecuzione vettorizzata delle query in BigQuery ai seguenti aspetti dell'elaborazione delle query:

  • Sfruttando codifiche dei dati specializzate all'interno del formato di archiviazione Capacitor, le operazioni di valutazione dei filtri possono essere eseguite sui dati codificati.
  • Le codifiche specializzate vengono propagate tramite il piano di query, il che consente di elaborare più dati mentre sono ancora codificati.
  • Implementando il folding delle espressioni per valutare le funzioni deterministiche e le espressioni costanti, BigQuery può semplificare i predicati complessi in valori costanti.

Ottimizzazioni delle query a breve termine

BigQuery in genere esegue le query in un ambiente distribuito utilizzando un livello intermedio di shuffle. Le ottimizzazioni delle query brevi identificano dinamicamente le query che possono essere eseguite come singola fase, riducendo la latenza e il consumo di slot. Le codifiche specializzate possono essere utilizzate in modo più efficace quando una query viene eseguita in una singola fase. Queste ottimizzazioni sono più efficaci se utilizzate con la modalità di creazione dei job facoltativa, che riduce al minimo la latenza di avvio, manutenzione e recupero dei risultati dei job.

L'idoneità alle ottimizzazioni delle query brevi è dinamica e dipende dai seguenti fattori:

  • La dimensione prevista della scansione dei dati.
  • La quantità di spostamento dei dati richiesta.
  • La selettività dei filtri delle query.
  • Il tipo e il layout fisico dei dati nell'archivio.
  • La struttura generale della query.
  • Le statistiche storiche delle esecuzioni di query precedenti.

Attiva il runtime avanzato

Tra il 15 settembre 2025 e l'inizio del 2026, BigQuery inizierà a utilizzare il runtime avanzato come runtime predefinito per tutti i progetti. Per abilitare l'ambiente di runtime avanzato in un progetto o un'organizzazione esistente, utilizza l'istruzione ALTER PROJECT o ALTER ORGANIZATION per modificare la configurazione predefinita. Nell'istruzione, imposta l'argomento query_runtime su 'advanced'. Ad esempio:

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

Sostituisci quanto segue:

  • PROJECT_NAME: il nome del progetto
  • LOCATION: la posizione del progetto

Potrebbero essere necessari diversi minuti prima che la modifica diventi effettiva.

Una volta abilitato l'ambiente di esecuzione avanzato, le query idonee nel progetto o nell'organizzazione utilizzano l'ambiente di esecuzione avanzato indipendentemente dall'utente che ha creato il job di query.