Introduzione alle prenotazioni legacy

Le prenotazioni BigQuery 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é pagare per ogni query singolarmente.

Le prenotazioni consentono di allocare la capacità di query, misurata in slot, a carichi di lavoro diversi o a parti diverse della tua organizzazione.

La creazione di un impegno di capacità è facoltativa quando si lavora con prenotazioni che utilizzano le versioni di BigQuery, ma consente di risparmiare sui costi per carichi di lavoro in stato stabile.

Panoramica

BigQuery offre due modelli di determinazione dei prezzi (analisi):

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. Non è previsto alcun costo per i byte elaborati quando si utilizza il modello basato sulla capacità.

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 per progetto, ciò richiederebbe l'utilizzo di più progetti per i job di query.

Vantaggi delle prenotazioni

I vantaggi delle prenotazioni BigQuery includono:

  • Prevedibilità. I prezzi basati sulla capacità offrono costi prevedibili e coerenti. Puoi specificare in anticipo il budget massimo per il costo e puoi anche usufruire degli impegni slot, che offrono capacità continua dedicata a una tariffa scontata.

  • Flessibilità. Puoi scegliere la quantità di capacità dedicata da allocare a un carico di lavoro o lasciare che BigQuery la scali automaticamente in base ai requisiti dei tuoi carichi di lavoro. Ti viene addebitato l'utilizzo per gli slot consumati con incrementi di almeno un secondo.

  • Gestione del carico di lavoro. Ogni carico di lavoro ha 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, eventuali slot inutilizzati vengono condivisi automaticamente tra gli altri carichi di lavoro.

  • Acquisto centralizzato: puoi acquistare e assegnare slot per l'intera organizzazione. Non è necessario acquistare slot per ogni progetto che utilizza BigQuery.

Prenotazioni

La capacità di BigQuery è misurata in slot, che rappresentano le CPU virtuali utilizzate dalle query. In genere, se esegui il provisioning di più slot, puoi eseguire più query in parallelo e query complesse possono essere eseguite più velocemente.

Gli slot sono allocati in pool chiamati prenotazioni. Le prenotazioni ti consentono di allocare gli slot nel modo più appropriato per la tua particolare 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 questo modo, i job di test non sono in concorrenza per le risorse richieste dai carichi di lavoro di produzione. In alternativa, puoi creare prenotazioni per diversi reparti dell'organizzazione.

Le prenotazioni possono includere slot di base di riferimento, che sono sempre allocati, nonché slot con scalabilità automatica, che vengono aggiunti o rimossi in modo dinamico in base alle esigenze del carico di lavoro.

Una prenotazione denominata default viene creata automaticamente se acquisti impegni di slot prima di creare una prenotazione. Non c'è niente di speciale nella prenotazione default: è stata creata per comodità. Puoi decidere se hai bisogno di prenotazioni aggiuntive o semplicemente 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.

Compiti

Per utilizzare gli slot allocati, 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 sono assegnati, il progetto o la cartella eredita l'assegnazione della cartella o dell'organizzazione padre, se presente. Per ulteriori informazioni sulla gerarchia delle risorse, consulta Organizzazione delle risorse di BigQuery.

Quando un job viene avviato da un progetto assegnato a una prenotazione, il job utilizza gli slot di quella prenotazione. Se un progetto non è assegnato a una prenotazione (direttamente o tramite ereditarietà dalla cartella o dall'organizzazione padre), i job in quel progetto utilizzano prezzi on demand.

None compiti rappresentano un'assenza di un compito. I progetti assegnati a None utilizzano i prezzi on demand. Il caso d'uso comune delle assegnazioni None prevede l'assegnazione di un'organizzazione alla prenotazione e l'esclusione di alcuni progetti o cartelle dalla prenotazione assegnandoli a None. Per ulteriori informazioni, consulta la sezione Assegnare un progetto a Nessuno.

Quando crei un'assegnazione, specifichi il tipo di prestazione per tale 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 gratuiti e utilizzano un pool condiviso di slot. BigQuery non fornisce garanzie sulla capacità disponibile di questo pool condiviso o sulla velocità effettiva visualizzata. Se stai caricando grandi quantità di dati, il job potrebbe attendere man mano che gli slot diventano disponibili. In tal caso, potresti voler acquistare slot dedicati e assegnare loro job di pipeline. Ti consigliamo di creare un'ulteriore prenotazione dedicata con la condivisione degli slot inattivi disabilitata.

    Quando i job di caricamento vengono assegnati a una prenotazione, perdono l'accesso al pool gratuito. Monitora le prestazioni per assicurarti che i job abbiano una capacità sufficiente. In caso contrario, le prestazioni potrebbero essere effettivamente peggiori rispetto all'utilizzo del pool gratuito.

  • BACKGROUND: utilizza questa prenotazione se scegli di utilizzare la tua prenotazione per eseguire i job di gestione degli indici di ricerca BigQuery o i job 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 prenotazioni di BACKGROUND non sono disponibili nella versione Standard.

  • ML_EXTERNAL: utilizza questa prenotazione per le query BigQuery ML che usano servizi esterni a BigQuery. Per maggiori informazioni, consulta Assegnare slot ai carichi di lavoro BigQuery ML. Le prenotazioni di ML_EXTERNAL non sono disponibili nella versione Standard.

Non puoi assegnare slot ad assegnazioni specifiche. Lo scheduler BigQuery gestisce l'allocazione degli slot per le assegnazioni in una prenotazione.

Impegni

Concetti sulle prenotazioni.

Un impegno di capacità è l'acquisto di una quantità fissa di capacità di calcolo di BigQuery per un determinato periodo di tempo. 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.

BigQuery offre diversi piani di impegno tra cui scegliere. e si differenziano principalmente per il costo e la durata minima dell'impegno. Per informazioni sui prezzi attuali, consulta i prezzi dell'impegno di capacità.

  • 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.

  • Impegno mensile. Acquista un impegno minimo di 30 giorni. Dopo 30 giorni, puoi eliminare il piano in qualsiasi momento.

  • Slot flessibili. Acquista un impegno di 60 secondi. Puoi eliminarli in qualsiasi momento dopo 60 secondi. Gli slot flessibili sono un ottimo modo per testare le prestazioni dei carichi di lavoro 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 molto carichi di lavoro come il periodo fiscale.

Indipendentemente dal piano selezionato, i tuoi slot non scadono al termine del periodo di impegno. Manterrai gli slot e ti verranno addebitati dei costi finché non li elimini. Puoi anche modificare il tipo di piano dopo la durata minima.

Gli slot sono soggetti alla disponibilità di capacità. Quando tenti di acquistare impegni di slot, l'esito positivo di questo acquisto non è garantito. Tuttavia, una volta che l'acquisto dell'impegno è andato a buon fine, la capacità è garantita finché 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 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. Potrebbero esserci brevi periodi in cui alcuni job ricevono una quota sproporzionata di slot, ma lo scheduler alla fine corregge questo problema. L'obiettivo dello scheduler è trovare un mezzo tra l'essere troppo aggressivi e l'eliminazione delle attività in esecuzione (il che comporta uno spreco di tempo di slot) e l'essere troppo permissivi (il che si traduce in job con attività di lunga durata che ottengono una quota sproporzionata del tempo di 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 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 a nessuna prenotazione.
  • Slot assegnati a una base di 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 fino a quando dispone della capacità. La capacità inattiva è immediatamente prerilasciabile alla prenotazione originale assegnata in base alle esigenze, indipendentemente dalla priorità della query che richiede le risorse. Questo avviene automaticamente in tempo reale.

Per disabilitare questa funzionalità e forzare una prenotazione in modo che 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 non ricevono slot inattivi.

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 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 alla prenotazione, che utilizzerà solo gli slot inattivi.

Compiti di tipo ML_EXTERNAL rappresentano un'eccezione al comportamento descritto in precedenza. Gli slot utilizzati dai job di creazione di modelli esterni di BigQuery ML non sono prerilasciabili. In altre parole, gli slot in una prenotazione con i tipi di assegnazione ml_external e di query sono disponibili solo per altri job di query quando gli slot non sono occupati dai job ML_EXTERNAL. Inoltre, questi job non utilizzano 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 10 progetti di amministrazione con impegni attivi in una singola 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 regioni o in regioni multiple. Gli impegni non possono essere spostati tra regioni o tra regioni e regioni multiple.
  • 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 le prenotazioni di versioni diverse.
  • Gli slot con scalabilità automatica non sono condivisibili perché fanno fare lo scale down quando non sono più necessari.

Quote

La quota di slot è il numero massimo di slot che puoi acquistare in una località. Le quote non vengono fatturate, 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 per le prenotazioni, consulta Prezzi a costo fisso.

Passaggi successivi