Introduzione alle prenotazioni legacy

Le prenotazioni BigQuery ti consentono di passare da prezzi on demand a 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 ti consentono di allocare la capacità delle 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 le prenotazioni che sfruttano le versioni di BigQuery, ma può ridurre i costi per i workload in stato stazionario.

Panoramica

BigQuery offre due modelli di prezzo di 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. 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 i prezzi on demand e altri con i 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 di slot, che offrono capacità continua dedicata a una tariffa scontata.

  • Flessibilità. Scegli la quantità di capacità dedicata da allocare a un workload o consenti a BigQuery di scalare automaticamente la capacità in base ai requisiti del workload. La fatturazione viene effettuata utilizzando per gli slot consumati con incrementi di almeno un secondo.

  • Gestione del workload. Ogni workload 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, gli slot 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ù velocemente.

Gli slot vengono allocati in pool denominati prenotazioni. Le prenotazioni ti consentono di allocare gli slot in modo logico per la tua organizzazione.

Ad esempio, potresti 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 riferimento, che vengono sempre allocati, nonché slot con scalabilità automatica, che vengono aggiunti o rimossi dinamicamente in base alle esigenze del carico di lavoro.

Se acquisti impegni di 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 allocati, 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.

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 è assegnato, eredita l'assegnazione della cartella o dell'organizzazione padre, se presente. Per ulteriori informazioni sull'organizzazione delle risorse BigQuery, consulta Introduzione alla gerarchia delle risorse.

Quando un job viene avviato da un progetto assegnato a una prenotazione, utilizza gli slot di quella prenotazione. Se un progetto non è assegnato a una prenotazione (direttamente o per ereditarietà dalla cartella o dall'organizzazione padre), 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 dalla prenotazione assegnandoli a None. Per ulteriori informazioni, consulta Assegnare un progetto a Nessuno.

Quando crei un'assegnazione, devi specificare 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 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, potresti voler acquistare slot dedicati e assegnare loro i job della 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 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 tuoi job di gestione dell'indice di ricerca BigQuery o i job in background di importazione 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 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 ML_EXTERNAL non 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

Concetti relativi alle prenotazioni.

Un impegno di capacità è l'acquisto di una quantità fissa di capacità di calcolo BigQuery per una durata minima di tempo. Gli impegni di capacità sono facoltativi per le prenotazioni create con una versione, ma possono ridurre i costi per i workload 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 degli impegni di capacità.

  • Impegno annuale. Acquisti un impegno di 365 giorni. Dopo 365 giorni, puoi scegliere se rinnovare o convertire a un altro tipo di piano di impegno.

  • Impegno mensile. Acquisti un impegno minimo di 30 giorni. Dopo 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 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 la stagione delle imposte.

Qualunque piano tu scelga, gli 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, 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 e poi 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 questo problema. L'obiettivo dello scheduler è trovare un punto intermedio tra l'essere troppo aggressivo con l'espulsione 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 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 quella prenotazione. Per ulteriori informazioni, consulta Gestione del workload.

Slot inattivi

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

  • Impegni di 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 amministratore. Ciò significa che un job può essere eseguito sempre, purché ci sia capacità. La capacità inattiva è immediatamente preemptible alla prenotazione assegnata originale in base alle esigenze, indipendentemente dalla priorità della query che necessita delle risorse. Questa operazione viene eseguita 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 gli slot inattivi tra le prenotazioni di versioni diverse edizioni. Puoi condividere solo gli slot di riferimento o gli slot impegnati. Gli slot con scalabilità automatica potrebbero essere temporaneamente disponibili, ma non sono condivisibili perché potrebbero fare lo scale down.

Finché ignore_idle_slots è impostato su 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 utilizzerà solo gli slot inattivi.

Compiti di tipo ML_EXTERNAL sono un'eccezione al comportamento descritto in precedenza. Gli slot utilizzati dai job di creazione di modelli esterni BigQuery ML non sono preemptible; ovvero, gli slot in una prenotazione con 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 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 amministratore separato per ogni organizzazione.
  • Ogni organizzazione può avere un massimo di 10 progetti amministratore con impegni attivi in una singola località.
  • La capacità inattiva non può essere condivisa tra le organizzazioni o tra diversi progetti amministratore 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 amministratore non possono essere spostati in un altro progetto amministratore.
  • 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 edizioni.
  • Gli slot con scalabilità automatica non sono condivisibili perché faranno 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 vengono addebitati costi per le quote, ma solo per le prenotazioni e gli impegni. Per ulteriori informazioni, consulta Quote e limiti delle prenotazioni. Per informazioni sull'aumento della quota di slot, consulta Richiesta di aumento della quota.

Prezzi

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

Passaggi successivi