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 PROJECTPROJECT_NAME
SET OPTIONS ( `region-LOCATION
.query_runtime` = 'advanced' );
Sostituisci quanto segue:
PROJECT_NAME
: il nome del progettoLOCATION
: 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.