Introduzione alle prenotazioni
BigQuery offre due modelli di gestione dei carichi di lavoro per l'analisi dei dati (compute). I seguenti modelli definiscono le modalità di gestione dei carichi di lavoro e della fatturazione:
Prezzi on demand: per impostazione predefinita, ti vengono addebitati 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à: puoi passare a un modello di prenotazione che prevede l'acquisto di una capacità di elaborazione delle query dedicata o con scalabilità automatica a una tariffa scontata. La capacità viene misurata in slot, per un determinato periodo di tempo. Puoi quindi allocare la capacità di query prenotata a diversi carichi di lavoro o parti della tua organizzazione. Non viene addebitato alcun costo per i byte elaborati quando si utilizza il modello basato sulla capacità.
La creazione di un impegno di capacità è facoltativa quando si utilizzano prenotazioni che utilizzano versioni di BigQuery, ma può ridurre i costi per i carichi di lavoro in stato stabile.
Puoi combinare entrambi i modelli di fatturazione. Ad esempio, potresti eseguire alcuni carichi di lavoro con prezzi on demand e altri con prezzi basati sulla capacità. Poiché il modello di fatturazione viene specificato in base al progetto, ciò richiede l'utilizzo di 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 coerenti. Puoi specificare in anticipo il budget di costo massimo e sfruttare gli impegni slot, che offrono una capacità continua dedicata a una tariffa scontata.
Flessibilità. Puoi scegliere la capacità dedicata da allocare a un carico di lavoro o lasciare che BigQuery scala la capacità automaticamente in base alle esigenze dei tuoi carichi di lavoro. Il costo degli slot utilizzati ti viene addebitato con incrementi di almeno un secondo.
Gestione del carico di lavoro. Ogni carico di lavoro dispone di un pool specificato di risorse di calcolo BigQuery disponibili per l'uso. Allo stesso tempo, se un carico di lavoro non utilizza tutti gli slot dedicati, gli eventuali slot inutilizzati vengono condivisi automaticamente tra gli altri carichi di lavoro.
Acquisto centralizzato: puoi acquistare e allocare slot per l'intera organizzazione. Non è necessario acquistare slot per ogni progetto che utilizza BigQuery.
Prenotazioni
Gli impegni di capacità BigQuery vengono acquistati nelle prenotazioni e misurati in slot. Gli slot rappresentano le CPU virtuali utilizzate per le query sui dati. In generale, un maggior numero di slot consente di eseguire più query in parallelo e le query complesse possono essere eseguite più velocemente.
Gli slot sono allocati in pool chiamati prenotazioni. Le prenotazioni ti consentono di allocare gli slot in modi significativi per la tua specifica organizzazione.
Ad esempio, potresti creare una prenotazione denominata prod
per i carichi di lavoro di produzione e una prenotazione separata denominata test
per i test, in modo che i job di test non competano per le risorse dei carichi di lavoro di produzione. oppure puoi creare prenotazioni
per reparti diversi dell'organizzazione.
Le prenotazioni possono includere slot di base di riferimento sempre allocati e slot con scalabilità automatica, che vengono aggiunti o rimossi in modo dinamico in base alle esigenze del carico di lavoro.
Se acquisti impegni di slot prima di creare una prenotazione, per praticità viene creata automaticamente una prenotazione denominata default
. La prenotazione default
non ha comportamenti speciali. Puoi creare prenotazioni aggiuntive, se necessario, o utilizzare la prenotazione predefinita.
Per utilizzare gli slot allocati, devi assign uno o più progetti a una prenotazione, come descritto nella sezione successiva. Una prenotazione è il livello più basso al quale puoi specificare l'allocazione degli slot. L'allocazione degli slot all'interno di una prenotazione viene gestita dallo scheduler BigQuery.
Assegnazioni di prenotazione
Per utilizzare la capacità di slot acquistata, devi assegnare progetti, cartelle o organizzazioni a una prenotazione. Durante l'esecuzione, un job in un progetto utilizza gli slot della prenotazione assegnata. Le risorse possono ereditare le assegnazioni dai rispettivi principali nella gerarchia delle risorse. Anche se un progetto non è assegnato a una prenotazione, eredita l'assegnazione dell'organizzazione o della cartella padre, se presente. Se un progetto non ha una prenotazione assegnata o ereditata, il job utilizza i prezzi on demand. Per ulteriori informazioni sulla gerarchia delle risorse, consulta Organizzazione delle risorse BigQuery.
Le risorse possono essere assegnate a None
per rappresentare l'assenza di un compito.
I progetti assegnati a None
usano sempre i prezzi on demand. Un caso d'uso comune per le assegnazioni None
prevede l'assegnazione di un'organizzazione a una prenotazione e l'utilizzo di None
per escludere dalla prenotazione determinati progetti o cartelle. Per ulteriori informazioni,
consulta Assegnare un progetto a
None
.
Quando crei un'assegnazione, specifichi il relativo tipo di prestazione:
QUERY
: utilizza questa prenotazione per i job di query, comprese 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 gratuiti e utilizzano un pool condiviso di slot. BigQuery non garantisce la disponibilità di capacità per questo pool condiviso o la velocità effettiva che vedi. Se stai caricando grandi quantità di dati, il job potrebbe attendere che gli slot diventino disponibili. In questo caso, potresti voler acquistare slot dedicati e assegnare loro
PIPELINE
job. Come best practice, crea una prenotazione aggiuntiva e dedicata con l'opzione Ignora slot inattivi abilitata. Per saperne di più sugli slot inattivi, consulta la pagina Slot inattivi.Quando i job di caricamento ed estrazione sono assegnati a una prenotazione, perdono l'accesso al pool gratuito. Dovresti monitorare l'utilizzo delle risorse e i job per assicurarti che le prenotazioni abbiano una capacità sufficiente per funzionare meglio rispetto all'utilizzo del pool gratuito.
BACKGROUND
: utilizza questa prenotazione se scegli di utilizzare la tua prenotazione per eseguire job di gestione degli indici di ricerca BigQuery o job in background BigQuery Change Data Capture (CDC). Utilizza questa prenotazione anche quando replica i database di origine in BigQuery con le operazioni di applicazione in background di Datastream. Le prenotazioni conBACKGROUND
non sono disponibili nella versione Standard.ML_EXTERNAL
: utilizza questa prenotazione per le query BigQuery ML che utilizzano servizi esterni a BigQuery. Per ulteriori informazioni, consulta Assegnare slot ai carichi di lavoro BigQuery ML. Le prenotazioni conML_EXTERNAL
non sono disponibili nella versione Standard.
Non puoi allocare slot a assegnazioni specifiche. Lo scheduler BigQuery gestisce l'allocazione degli slot per le assegnazioni in una prenotazione.
Impegni
Un impegno di capacità è l'acquisto di slot in incrementi di 100 slot per una durata minima, fino alla quota slot. Gli impegni di capacità sono facoltativi per le prenotazioni create con una versione, ma possono risparmiare sui costi per i carichi di lavoro in stato stabile. Non esiste alcun limite al numero di impegni che puoi creare. L'addebito viene effettuato nel momento in cui l'acquisto dell'impegno va a buon fine. Per informazioni sui prezzi attuali, consulta i prezzi dell'impegno di capacità.
Impegno di tre anni. Acquisti un impegno di tre anni. Puoi scegliere se rinnovare o passare a un altro tipo di piano di impegno dopo 3*365 giorni.
Impegno annuale. Acquisti un impegno di 365 giorni. Puoi scegliere se rinnovare o passare a un tipo di piano di impegno diverso dopo 365 giorni.
Indipendentemente dal piano selezionato, i tuoi slot non scadono alla fine del periodo dell'impegno. Puoi conservare gli slot e ti vengono addebitati i costi finché non elimini l'impegno. Puoi anche modificare il tipo di piano dopo la durata minima. Dopo la scadenza del piano, puoi eliminare l'impegno in qualsiasi momento o continuare a pagare in base alle condizioni del piano di rinnovo. Per ulteriori informazioni sull'eliminazione degli impegni, consulta Eliminare un impegno.
La fatturazione avviene su base mensile per i piani di impegno annuali o triennali. Tuttavia, il tuo impegno finanziario è relativo all'intero periodo di impegno e non può essere annullato su base mensile. Il tuo utilizzo viene aggiornato nel report di fatturazione ogni giorno e può essere visualizzato in qualsiasi momento.
Gli slot sono soggetti alla disponibilità di capacità. Quando tenti di acquistare impegni di slot, il successo dell'acquisto non è garantito. Tuttavia, una volta che l'acquisto dell'impegno va a buon fine, la capacità è garantita fino a quando non elimini l'impegno.
Rinnova impegni
Puoi selezionare un piano di rinnovo al momento dell'acquisto di un piano basato su impegno. Puoi modificare il piano di rinnovo di un impegno in qualsiasi momento fino alla scadenza. Sono disponibili i seguenti piani di rinnovo disponibili:
- Nessuno. Al termine dell'impegno, quest'ultimo viene rimosso. Le prenotazioni non sono interessate.
- annuale. Al termine dell'impegno, questo verrà rinnovato per un altro anno.
- Tre anni. Al termine, il tuo impegno viene rinnovato per altri tre anni.
Se utilizzi il modello della capacità di scalabilità automatica, puoi rinnovare il piano di impegno annuale o triennale a un anno o a tre anni. Per informazioni sull'acquisto e sul rinnovo degli impegni, consulta Creare un impegno di capacità.
Ad esempio, se hai acquistato un impegno annuale alle 18:00 del 5 ottobre 2019, allora hai iniziato a ricevere un addebito. Puoi eliminare o rinnovare l'impegno dopo le 18:00 del 4 ottobre 2020, tenendo presente che il 2020 è un anno bisestile. Puoi modificare i piani di rinnovo prima delle 18:00 del 4 ottobre 2020 come segue:
- Se scegli di rinnovare l'abbonamento con cadenza annuale, alle 18:00 del 4 ottobre 2020, il tuo impegno verrà rinnovato per un altro anno.
- Se scegli di rinnovare un impegno di tre anni, alle 18:00 del 4 ottobre 2020, il tuo impegno verrà rinnovato per tre anni.
Elimina impegni
Dopo aver creato un impegno, puoi eliminarlo solo dopo la sua scadenza. Per eliminare un impegno annuale, imposta il piano di rinnovo su NONE
. Alla scadenza, l'impegno annuale viene rimosso automaticamente. Per scoprire di più su come eliminare un impegno, consulta Eliminare un impegno.
Se acquisti accidentalmente un impegno o hai commesso un errore durante la configurazione dell'impegno, contatta l'assistenza per la fatturazione Cloud per ricevere aiuto.
Allocazione degli slot all'interno delle prenotazioni
BigQuery alloca la capacità degli slot all'interno di una singola prenotazione utilizzando un algoritmo chiamato fair schedule.
Lo scheduler BigQuery applica la stessa condivisione degli slot tra i progetti con query in esecuzione all'interno di una prenotazione e poi all'interno dei job di un determinato progetto. Lo scheduler fornisce l'equità finale. Durante periodi brevi, alcuni job potrebbero ricevere una quota sproporzionata di slot, ma lo scheduler alla fine la corregge. L'obiettivo dello scheduler è trovare un equilibrio tra l'eliminazione aggressiva delle attività in esecuzione (il che comporta uno spreco di tempo di slot) e l'essere troppo permissivo (il che comporta una percentuale sproporzionata di tempo di slot per i job con attività a lunga esecuzione).
Se un job importante ha costantemente bisogno di più slot di quelli che riceve dallo scheduler, valuta la possibilità di creare una prenotazione aggiuntiva con un numero garantito di slot e assegnare il job a quella prenotazione. Per ulteriori informazioni, consulta Gestione dei carichi di lavoro.
Slot inattivi
Alcuni slot potrebbero essere inattivi in un determinato momento. Questi possono includere:
- Impegni slot non assegnati ad alcuna prenotazione.
- Slot allocate a una base di prenotazione, ma non 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 finché è disponibile la capacità. La capacità inattiva è immediatamente prerilasciabile alla prenotazione originale assegnata secondo necessità, indipendentemente dalla priorità della query che richiede le risorse. Ciò avviene automaticamente in tempo reale.
Per evitare questo comportamento e assicurarti che una prenotazione utilizzi solo gli slot di cui è stato eseguito il provisioning, imposta ignore_idle_slots
su true
. Le prenotazioni con ignore_idle_slots
impostato su true
possono tuttavia condividere i propri slot inattivi con altre prenotazioni.
Non puoi condividere slot inattivi tra prenotazioni di versioni diverse. Puoi condividere solo gli slot di riferimento o gli slot impegnati. Gli slot con scalabilità automatica potrebbero essere temporaneamente disponibili, ma non condivisibili perché 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
, disattiva ignore_idle_slots
come best practice. Puoi quindi assegnare un progetto o una cartella alla prenotazione, che utilizzerà solo gli slot inattivi.
Compiti di tipo ML_EXTERNAL
rappresentano un'eccezione perché gli slot utilizzati dai job di creazione di modelli esterni di BigQuery ML non sono prerilasciabili. Gli slot in una prenotazione con entrambi i tipi di assegnazione ML_EXTERNAL
e QUERY
sono disponibili solo per altri job di query quando gli slot non sono occupati dai job ML_EXTERNAL
. Inoltre, questi job non possono utilizzare slot inattivi di altre prenotazioni.
Limitazioni
- Le prenotazioni acquistate non possono essere condivise con altre organizzazioni.
- Devi creare una prenotazione separata e un progetto di amministrazione separato per ogni organizzazione.
- Ogni organizzazione può avere un massimo di 5 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 o più regioni non possono essere utilizzati in altre o più regioni. Gli impegni non possono essere spostati tra regioni o tra regioni e più regioni.
- Gli impegni acquistati in un progetto di amministrazione non possono essere trasferiti a 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 le prenotazioni di versioni diverse.
- Gli slot con scalabilità automatica non sono condivisibili poiché verranno fare lo scale down quando non saranno più necessari.
Quote
La quota di slot è il numero massimo di slot che puoi acquistare in una località. Non ti viene addebitato alcun costo per le quote, ma solo per prenotazioni e impegni. Per ulteriori informazioni, consulta Quote e limiti per le prenotazioni. Per informazioni sull'aumento della quota di slot, consulta Richiesta di aumento della quota.
Prezzi
Per informazioni sui prezzi delle prenotazioni, consulta i prezzi basati sulla capacità.
Passaggi successivi
Per iniziare a utilizzare le prenotazioni BigQuery, consulta Iniziare a utilizzare le prenotazioni
Per decidere meglio il modello di fatturazione da utilizzare, consulta Scegliere un modello di fatturazione.