Introduzione alle prenotazioni legacy
Le prenotazioni BigQuery ti consentono di passare dai prezzi on demand ai prezzi basati sulla capacità. Con i prezzi basati sulla capacità, paghi per la capacità di elaborazione delle query dedicata o con scalabilità automatica, anziché per ogni singola query.
Le prenotazioni ti consentono di allocare la capacità di query, misurata in slot, a diversi workload o a diverse parti della tua organizzazione.
La creazione di un impegno di capacità è facoltativa quando si lavora con prenotazioni che sfruttano le versioni di BigQuery, ma può far risparmiare sui costi per i workload in stato stabile.
Tutti gli impegni con costo fisso legacy sono etichettati comeflat-rate per il valore del modello di prezzi di computing e Enterprise per il valore dell'edizione.
Panoramica
BigQuery offre due modelli di prezzi per il computing (analisi):
Prezzi on demand: paghi per i dati analizzati dalle query. Hai una capacità di elaborazione delle query fissa per progetto e il costo si basa sul numero di byte elaborati da ogni query.
Prezzi basati sulla capacità: paghi per la capacità di elaborazione delle query dedicata o con scalabilità automatica, misurata in slot, per un periodo di tempo. Più query condividono la stessa capacità degli slot.
Per impostazione predefinita, la fatturazione viene effettuata in base al modello di determinazione dei prezzi on demand. Utilizzando le prenotazioni, puoi passare ai prezzi basati sulla capacità, utilizzare la scalabilità automatica degli slot e acquistare impegni di capacità scontati. Quando utilizzi il modello basato sulla capacità, non è previsto alcun costo per i byte elaborati.
Puoi combinare entrambi i modelli di fatturazione. Ad esempio, potresti eseguire alcuni workload con prezzi on demand e altri con prezzi basati sulla capacità. Poiché il modello di fatturazione è specificato per progetto, dovrai utilizzare più progetti per i job di query.
Vantaggi delle prenotazioni
I vantaggi dell'utilizzo delle prenotazioni BigQuery includono:
Prevedibilità. I prezzi basati sulla capacità offrono costi prevedibili e costanti. Specifichi in anticipo il budget di costo massimo e puoi anche usufruire degli impegni slot, che offrono una capacità dedicata continua a una tariffa scontata.
Flessibilità. Puoi scegliere la quantità di capacità dedicata da allocare a un workload o lasciare che BigQuery la scali automaticamente in base ai requisiti del workload. La fatturazione si basa sugli slot utilizzati, con incrementi minimi di un secondo.
Gestione del workload. Ogni workload ha un pool specificato di risorse di calcolo BigQuery disponibili per l'utilizzo. Allo stesso tempo, se un workload non utilizza tutti gli slot dedicati, gli slot inutilizzati vengono condivisi automaticamente con gli altri workload.
Acquisto centralizzato: puoi acquistare e allocare slot per l'intera organizzazione. Non è necessario acquistare slot per ogni progetto che utilizza BigQuery.
Prenotazioni
La capacità di BigQuery viene misurata in slot, che rappresentano le CPU virtuali utilizzate dalle query. In genere, se esegui il provisioning di più slot, puoi eseguire più query contemporaneamente e le query complesse possono essere eseguite più velocemente.
Gli slot vengono allocati in pool chiamati prenotazioni. Le prenotazioni ti consentono di allocare gli slot in modo che abbia senso per la tua organizzazione specifica.
Ad esempio, puoi creare una prenotazione denominata prod per i workload di produzione e una prenotazione separata denominata test per i test. In questo modo, i job di test non competono per le risorse necessarie ai workload di produzione. In alternativa, puoi creare prenotazioni per diversi reparti della tua organizzazione.
Le prenotazioni possono includere slot di base, che vengono sempre allocati, nonché slot con scalabilità automatica, che vengono aggiunti o rimossi in modo dinamico in base alle esigenze del workload.
Se acquisti impegni slot prima di creare una prenotazione, viene creata automaticamente una prenotazione denominata default. La prenotazione default non ha nulla di speciale: viene creata per comodità. Puoi decidere se hai bisogno di prenotazioni aggiuntive o se utilizzare solo la prenotazione predefinita.
Per utilizzare gli slot che assegni, devi assegnare uno o più progetti a una prenotazione, come descritto nella sezione successiva.
Una prenotazione è il livello più basso in cui puoi specificare l'allocazione degli slot. L'allocazione degli slot all'interno di una prenotazione viene gestita dallo scheduler di BigQuery.
Assegnazioni
Per utilizzare gli slot che allochi, devi assegnare uno o più progetti, cartelle o organizzazioni a una prenotazione. Ogni livello della gerarchia delle risorse eredita l'assegnazione dal livello superiore. In altre parole, se un progetto o una cartella non è assegnato, eredita l'assegnazione della cartella o dell'organizzazione padre, se presente. Per saperne di più sull'organizzazione delle risorse BigQuery, consulta Introduzione alla gerarchia delle risorse.
Quando un job viene avviato da un progetto assegnato a una prenotazione, il job utilizza gli slot della prenotazione. Se un progetto non è assegnato a una prenotazione (direttamente o ereditando dalla cartella o dall'organizzazione principale), i job in quel progetto utilizzano i prezzi on demand.
Le assegnazioni None rappresentano l'assenza di un'assegnazione. I progetti assegnati a None utilizzano i prezzi on demand. Il caso d'uso comune per le assegnazioni None è assegnare un'organizzazione alla prenotazione e disattivare alcuni progetti o cartelle da quella prenotazione assegnandoli a None. Per saperne di più, consulta Assegna un progetto a Nessuno.
Quando crei un'assegnazione, specifichi il tipo di prestazione per l'assegnazione:
QUERY: utilizza questa prenotazione per i job di query, incluse le query SQL, DDL, DML e BigQuery ML.PIPELINE: utilizza questa prenotazione per i job di caricamento ed estrazione.Per impostazione predefinita, i job di caricamento ed estrazione sono senza costi e utilizzano un pool di slot condiviso. BigQuery non garantisce la capacità disponibile di questo pool condiviso o il throughput che vedi. Se carichi grandi quantità di dati, il job potrebbe attendere che gli slot diventino disponibili. In questo caso, ti consigliamo di acquistare slot dedicati e assegnarvi i job di pipeline. Ti consigliamo di creare una prenotazione dedicata aggiuntiva con la condivisione degli slot inattivi disattivata.
Quando i job di caricamento vengono assegnati a una prenotazione, perdono l'accesso al pool senza costi. Monitora le prestazioni per assicurarti che i job abbiano una capacità sufficiente. In caso contrario, le prestazioni potrebbero essere peggiori rispetto all'utilizzo del pool senza costi.
BACKGROUND: utilizza questa prenotazione quando scegli di utilizzare la tua prenotazione per eseguire i job di gestione dell'indice di ricerca BigQuery o i job in background di importazione di Change Data Capture (CDC) di BigQuery. Utilizza questa prenotazione anche quando replichi i database di origine in BigQuery con le operazioni di applicazione in background di Datastream. Le prenotazioniBACKGROUNDnon sono disponibili nella versione Standard.ML_EXTERNAL: utilizza questa prenotazione per le query BigQuery ML che utilizzano servizi esterni a BigQuery. Per saperne di più, consulta Assegna slot ai workload di BigQuery ML. Le prenotazioniML_EXTERNALnon sono disponibili nella versione Standard.
Non puoi allocare slot ad assegnazioni specifiche. Lo scheduler di BigQuery gestisce l'allocazione degli slot per le assegnazioni in una prenotazione.
Impegni
Un impegno di capacità è un acquisto di una quantità fissa di capacità di calcolo di BigQuery per un periodo di tempo minimo. Gli impegni di capacità sono facoltativi per le prenotazioni create con una versione, ma possono farti risparmiare sui costi per i workload in stato stabile.
BigQuery offre diversi piani di impegno tra cui scegliere. Si differenziano principalmente per il costo e la durata minima dell'impegno. Per informazioni aggiornate sui prezzi, consulta Prezzi degli impegni di capacità.
Impegno annuale. Acquisti un impegno di 365 giorni. Puoi scegliere se rinnovare o convertire in un tipo diverso di piano di impegno dopo 365 giorni.
Impegno mensile. Acquisti un impegno minimo di 30 giorni. Trascorsi 30 giorni, puoi eliminare il piano in qualsiasi momento.
Slot flessibili. Acquisti un impegno di 60 secondi. Puoi eliminarlo in qualsiasi momento dopo 60 secondi. Gli slot flessibili sono un buon modo per testare le prestazioni dei tuoi workload con la fatturazione a costo fisso, prima di acquistare un impegno a lungo termine. Sono utili anche per gestire la domanda ciclica o stagionale o per eventi con carico elevato, come il periodo delle dichiarazioni dei redditi.
Indipendentemente dal piano selezionato, gli slot non scadono alla fine del periodo di impegno. Gli slot rimangono tuoi e ti vengono addebitati finché non li elimini. Puoi anche modificare il tipo di piano dopo la durata minima.
Gli slot sono soggetti alla capacità disponibile. Quando tenti di acquistare impegni di slot, il successo di questo acquisto non è garantito. Tuttavia, una volta completato l'acquisto dell'impegno, la capacità è garantita fino a quando non elimini l'impegno.
Per maggiori dettagli su questi piani, consulta Piani di impegno.
Allocazione degli slot all'interno delle prenotazioni
BigQuery alloca la capacità degli slot all'interno di una singola prenotazione utilizzando un algoritmo chiamato pianificazione equa.
Lo scheduler di BigQuery applica la condivisione equa degli slot tra i progetti con query in esecuzione all'interno di una prenotazione, quindi all'interno dei job di un determinato progetto. Lo scheduler fornisce un'equità finale. Potrebbero esserci brevi periodi in cui alcuni job ricevono una quota sproporzionata di slot, ma lo scheduler alla fine corregge questa situazione. L'obiettivo dello scheduler è trovare una via di mezzo tra l'essere troppo aggressivo con l'eliminazione delle attività in esecuzione (che comporta uno spreco di tempo degli slot) e l'essere troppo indulgente (che comporta che i job con attività a lunga esecuzione ottengano una quota sproporzionata del tempo degli slot).
Se un job importante richiede costantemente più slot di quelli che riceve dallo scheduler, valuta la possibilità di creare una prenotazione aggiuntiva con un numero garantito di slot e di assegnare il job a quella prenotazione. Per saperne di più, consulta Gestione dei workload.
Slot inattivi
In un dato momento, alcuni slot potrebbero essere inattivi. tra cui:
- Impegni slot non allocati a nessuna prenotazione.
- Slot allocati a una base di riferimento della prenotazione, ma non attualmente in uso.
Per impostazione predefinita, le query in esecuzione in una prenotazione utilizzano automaticamente gli slot inattivi di altre prenotazioni all'interno dello stesso progetto di amministrazione. Ciò significa che un job può sempre essere eseguito, purché ci sia capacità. La capacità inattiva è immediatamente prerilasciabile alla prenotazione assegnata originale, se necessario, indipendentemente dalla priorità della query che richiede le risorse. Questo avviene automaticamente in tempo reale.
Per disattivare questa funzionalità e forzare una prenotazione a utilizzare solo gli slot di cui è stato eseguito il provisioning, imposta ignore_idle_slots su true. Le prenotazioni con
ignore_idle_slots impostato su true non ricevono slot inattivi.
Non puoi condividere slot inattivi tra prenotazioni di versioni diverse. Puoi condividere solo gli slot di base o gli slot impegnati. Gli slot con scalabilità automatica potrebbero essere temporaneamente disponibili, ma non sono condivisibili in quanto potrebbero fare lo scale down.
Finché ignore_idle_slots è false, una prenotazione può avere un numero di slot pari a 0 e avere comunque accesso agli slot inutilizzati. Se utilizzi solo la prenotazione default, ti consigliamo di configurarla in questo modo. Puoi quindi assegnare un progetto o una cartella a quella prenotazione, che utilizzerà solo gli slot inattivi.
Compiti di tipo ML_EXTERNAL costituiscono un'eccezione al comportamento descritto
in precedenza. Gli slot utilizzati dai job di creazione di modelli esterni di BigQuery ML non sono preemptible;
ovvero, gli slot in una prenotazione con tipi di assegnazione ml_external e query
sono disponibili per altri job di query solo quando non sono occupati dai job ML_EXTERNAL.
Inoltre, questi job non utilizzano slot inattivi di altre prenotazioni.
Limitazioni
- Le prenotazioni che acquisti non possono essere condivise con altre organizzazioni.
- Devi creare una prenotazione e un progetto di amministrazione separati per ogni organizzazione.
- Ogni organizzazione può avere un massimo di 10 progetti di amministrazione con impegni attivi in un'unica località.
- La capacità inattiva non può essere condivisa tra organizzazioni o tra progetti di amministrazione diversi all'interno di una singola organizzazione.
- Gli impegni sono una risorsa di regione. Gli impegni acquistati in una regione o in una multiregione non possono essere utilizzati in altre regioni o in altre multiregioni. Gli impegni non possono essere spostati tra regioni o tra regioni e multiregioni.
- Gli impegni acquistati in un progetto di amministrazione non possono essere spostati in un altro progetto di amministrazione.
- Gli impegni acquistati con una versione non possono essere utilizzati con le prenotazioni di un'altra versione.
- Gli slot inattivi non vengono condivisi tra prenotazioni di versioni diverse.
- Gli slot con scalabilità automatica non sono condivisibili, in quanto fare lo scale down viene eseguito quando non sono più necessari.
Quote
La quota di slot è il numero massimo di slot che puoi acquistare in una località. Non ti verranno addebitati costi per le quote, ma solo per le prenotazioni e gli impegni. Per saperne di più, consulta Quote e limiti delle prenotazioni. Per informazioni su come aumentare la quota di slot, consulta Richiedi un aumento della quota.
Prezzi
Per informazioni sui prezzi delle prenotazioni, consulta Prezzi a costo fisso.
Passaggi successivi
Per iniziare a utilizzare le prenotazioni BigQuery, consulta Inizia a utilizzare le prenotazioni.
Per informazioni sulla fatturazione on demand per le prenotazioni, consulta Combina le prenotazioni con la fatturazione on demand.