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 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 diversi carichi di lavoro 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ò ridurre i costi per i carichi di lavoro in stato stazionario.

Panoramica

BigQuery offre due modelli di prezzo per il calcolo (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à e utilizzare la scalabilità automatica degli slot e acquistare impegni di capacità scontati. Non è previsto alcun costo per i byte elaborati quando utilizzi 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 è specificato per progetto, ciò richiederebbe l'utilizzo di più progetti per i job di query.

Vantaggi delle prenotazioni

I vantaggi dell'utilizzo delle prenotazioni BigQuery includono:

  • Prevedibilità. Il prezzo basato sulla capacità offre costi prevedibili e costanti. Specifichi in anticipo il budget massimo per i costi e puoi anche usufruire degli impegni relativi agli slot, che offrono capacità continua dedicata a una tariffa scontata.

  • Flessibilità. Scegli la quantità di capacità dedicata da allocare a un carico di lavoro oppure lascia che BigQuery aumenti o diminuisca automaticamente la capacità in base ai requisiti del carico di lavoro. La fatturazione viene effettuata in base agli slot consumati con incrementi minimi di un secondo.

  • Gestione del workload. Ogni carico di lavoro ha un pool specificato di risorse di calcolo BigQuery disponibili per l'uso. Allo stesso tempo, se un workload non utilizza tutti gli slot dedicati, quelli inutilizzati vengono condivisi automaticamente tra 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 simultanee e le query complesse possono essere eseguite più rapidamente.

Gli slot vengono allocati in pool chiamati prenotazioni. Le prenotazioni ti consentono di allocare gli slot in modo sensato per la tua 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 competono per le risorse necessarie ai carichi di lavoro di produzione. In alternativa, puoi creare prenotazioni per reparti diversi della tua organizzazione.

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

Se acquisti impegni di slot prima di creare una prenotazione, viene creata automaticamente una prenotazione denominata default. Non c'è niente di speciale nella prenotazione default: viene creata per comodità. Puoi decidere se hai bisogno di prenotazioni aggiuntive o se utilizzare solo la prenotazione predefinita.

Per utilizzare gli slot che allochi, 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 BigQuery.

Compiti

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ù sulla gerarchia delle risorse, vedi Organizzare le risorse BigQuery.

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 per ereditarietà dalla cartella o dall'organizzazione principale), i job in quel progetto utilizzano i prezzi on demand.

I compiti None rappresentano l'assenza di un compito. I progetti assegnati a None utilizzano i prezzi on demand. Il caso d'uso comune per le assegnazioni None è quello di assegnare un'organizzazione alla prenotazione ed escludere alcuni progetti o cartelle dalla prenotazione assegnandoli a None. Per saperne di più, consulta Assegnare un progetto a Nessuno.

Quando crei un'assegnazione, specifichi il tipo di job 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 gratuiti e utilizzano un pool di slot condiviso. BigQuery non offre garanzie sulla capacità disponibile di questo pool condiviso o sulla velocità effettiva visualizzata. 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 gratuito. Monitora le prestazioni per assicurarti che i job abbiano capacità sufficiente. In caso contrario, il rendimento potrebbe essere peggiore rispetto all'utilizzo del pool gratuito.

  • BACKGROUND: utilizza questa prenotazione quando scegli di utilizzare una tua prenotazione per eseguire i tuoi job di gestione dell'indice di ricerca BigQuery o i job in background di BigQuery Change Data Capture (CDC). 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 utilizzano servizi esterni a BigQuery. Per ulteriori informazioni, consulta Assegnare slot ai workload 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 relativi alle prenotazioni.

Un impegno di capacità è l'acquisto di una quantità fissa di capacità di calcolo BigQuery per un periodo di tempo minimo. Gli impegni di capacità sono facoltativi per le prenotazioni create con una versione, ma possono ridurre i costi per i carichi di lavoro in stato stazionario.

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

  • Impegno annuale. Acquisti un impegno di 365 giorni. Puoi scegliere se rinnovare o passare a un altro tipo di piano di impegno dopo 365 giorni.

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

  • Spazi flessibili. Acquisti un impegno di 60 secondi. Puoi eliminarlo in qualsiasi momento dopo 60 secondi. Gli slot flessibili sono un buon modo per testare il rendimento dei tuoi carichi di lavoro con la fatturazione a tariffa fissa, 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 la stagione fiscale.

Qualunque piano tu scelga, i tuoi slot non scadono al termine del periodo di impegno. Mantieni gli slot e ti vengono addebitati 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, il completamento di questo acquisto non è garantito. Tuttavia, se l'acquisto dell'impegno va a buon fine, la capacità è garantita fino all'eliminazione dell'impegno.

Per ulteriori dettagli su questi piani, vedi 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 BigQuery applica la condivisione equa 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 garantisce l'equità nel tempo. Potrebbero esserci brevi periodi in cui alcuni job ottengono una quota sproporzionata di slot, ma lo scheduler alla fine corregge questo problema. Lo scopo dello scheduler è trovare un equilibrio tra l'essere troppo aggressivo con l'espulsione delle attività in esecuzione (il che comporta lo spreco di tempo dello slot) e l'essere troppo indulgente (il che comporta che i job con attività a lunga esecuzione ottengano una quota sproporzionata del tempo dello slot).

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 di assegnare il job a questa prenotazione. Per saperne di più, consulta la pagina Gestione dei carichi di lavoro.

Slot inattivi

In un dato momento, alcuni slot potrebbero essere inattivi. Questi possono includere:

  • 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 eseguite in una prenotazione utilizzano automaticamente gli slot inattivi di altre prenotazioni all'interno dello stesso progetto di amministrazione. Ciò significa che un job può essere eseguito sempre, purché ci sia capacità. La capacità inattiva è immediatamente preemptible alla prenotazione assegnata in origine in base alle esigenze, indipendentemente dalla priorità della query che richiede le risorse. Ciò 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 perché potrebbero essere 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 questa prenotazione e verranno utilizzati solo gli slot inattivi.

Compiti di tipo ML_EXTERNAL fanno eccezione al comportamento descritto in precedenza. Gli slot utilizzati dai job di creazione di modelli esterni BigQuery ML non sono preemptive, ovvero gli slot in una prenotazione con tipi di assegnazione sia ml_external che query sono disponibili per altri job di query solo quando gli slot non sono occupati dai job ML_EXTERNAL. Inoltre, questi job non utilizzano gli slot inattivi di altre prenotazioni.

Limitazioni

  • Le prenotazioni che acquisti 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 un'unica località.
  • La capacità inattiva non può essere condivisa tra organizzazioni o tra diversi progetti di amministrazione all'interno di una singola organizzazione.
  • Gli impegni sono una risorsa di regione. Gli impegni acquistati in una regione o in più regioni non possono essere utilizzati in altre regioni o in 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 spostati in un progetto di amministrazione diverso.
  • 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é vengono 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; ti vengono addebitati solo i costi per le prenotazioni e gli impegni. Per ulteriori informazioni, consulta quote e limiti delle prenotazioni. Per informazioni su come aumentare la quota di slot, consulta la pagina Richiesta di aumento della quota.

Prezzi

Per informazioni sui prezzi delle prenotazioni, consulta la sezione Prezzi a costo fisso.

Passaggi successivi