Introduzione alla gestione del workload

La gestione dei carichi di lavoro di BigQuery ti consente di controllare le risorse e le funzionalità disponibili per l'analisi dei dati nella tua organizzazione, nonché di definire i modelli di fatturazione. La capacità di calcolo di BigQuery, misurata in slot, può essere acquistata in prenotazioni e impegni, che poi assegni all'intera organizzazione per eseguire i job.

BigQuery offre due modelli di gestione dei carichi di lavoro per l'analisi dei dati, noti anche come computing. Con la fatturazione On demand, paghi per i byte elaborati quando esegui query sui dati. Con la fatturazione in base alla capacità, puoi prenotare la capacità di elaborazione per i carichi di lavoro con la possibilità di eseguire automaticamente lo scale up e lo scale down della capacità.

Puoi passare da un modello di fatturazione on demand a uno basato sulla capacità in qualsiasi momento oppure puoi scegliere di combinare i due modelli. Il modello basato sulla capacità ti offre un controllo esplicito sugli slot e sulla capacità di elaborazione, diversamente dal modello on demand.

Compromessi delle prenotazioni.

I seguenti modelli definiscono la modalità di gestione dei carichi di lavoro e la modalità di 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 paghi solo per il numero di byte elaborati quando li utilizzi.

  • Prezzi basati sulla capacità: acquisti una capacità di elaborazione delle query dedicata o con scalabilità automatica a una tariffa scontata. La capacità viene misurata in slot che puoi allocare ai carichi di lavoro o a parti della tua organizzazione. La fatturazione in base alla capacità offre la possibilità di commitments, che ti consentono di impegnarti a un livello costante di capacità di elaborazione su un periodo di 1 o 3 anni a un prezzo scontato. Non è previsto alcun costo per i byte elaborate quando utilizzi il modello basato sulla capacità. I vantaggi della determinazione dei prezzi in base alla capacità includono:

    • Cost. Come best practice, puoi impostare l'utilizzo mensile minimo di analisi come impegno basato sulla capacità di BigQuery per ridurre i costi.
    • Prevedibilità. Gli slot basati sulla capacità consentono di avere costi mensili più coerenti.
    • Acquisto centralizzato: puoi acquistare e allocare gli slot per l'intera organizzazione anziché per ogni progetto che utilizza BigQuery.
    • Flessibilità. Puoi scegliere la quantità di capacità da allocare a un caricamento di lavoro o consentire a BigQuery di scalare automaticamente la capacità in base ai requisiti del carico di lavoro. La fatturazione avviene in incrementi di secondo con un periodo di utilizzo minimo di un minuto.

La creazione di un impegno di capacità è facoltativa quando si utilizzano prenotazioni che utilizzano le versioni BigQuery, ma può ridurre i costi per i carichi di lavoro in stato stazionario.

Puoi combinare 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, dovrai utilizzare più progetti per i job di query. Per comprendere meglio i prezzi di BigQuery per le prenotazioni, consulta quanto segue:

Slot

La capacità di elaborazione in BigQuery viene misurata in slot. Gli slot rappresentano le CPU virtuali utilizzate per eseguire query sui dati. In generale, l'accesso a un maggior numero di slot consente di eseguire più query simultanee e le query complesse possono essere eseguite più rapidamente. Il modello di determinazione del prezzo in base alla capacità ti consente di prenotare un volume di slot. Le query vengono eseguite in questa capacità e tu la paghi continuamente ogni secondo di deployment. Ad esempio, se acquisti 2000 slotti BigQuery, le query aggregate sono limitate all'utilizzo di 2000 CPU virtuali in un determinato momento. Puoi utilizzare questa capacità fino all'eliminazione e paghi 2000 slot fino all'eliminazione.

Per scoprire di più sugli slot e su come vengono utilizzati, consulta Informazioni sugli slot.

Quote di slot

Le quote di slot offrono una salvaguardia per BigQuery. Il tipo di quota dipende dal modello di determinazione dei prezzi degli slot:

  • Modello di prezzo on demand: la quota di slot per progetto con capacità di picco temporaneo è sufficiente per la maggior parte degli utenti. A seconda dei carichi di lavoro, l'accesso a più slot può migliorare le prestazioni delle query. Per verificare quanti slot utilizza il tuo account, consulta Monitoraggio di BigQuery.

  • Modello di determinazione dei prezzi in base alla capacità: le quote e i limiti di prenotazione definiscono il numero massimo di slot che puoi acquistare in una località. Ti vengono addebitati solo le prenotazioni e gli impegni, non le quote.

Per informazioni su come aumentare la quota di slot, consulta Richiedere un aumento della quota.

Job

I job sono azioni eseguite da BigQuery per tuo conto per caricare i dati, esportare i dati, eseguire query sui dati o copiare i dati.

Quando utilizzi la console Google Cloud o lo strumento bq per eseguire uno di questi job, viene creata, pianificata ed eseguita automaticamente una risorsa job. Puoi anche creare in modo programmatico un job di caricamento, esportazione, query o copia. Quando crei un job in modo programmatico, BigQuery lo pianifica ed esegue per te.

Poiché il completamento dei job può richiedere molto tempo, vengono eseguiti in modo asincrono e possono essere sottoposti a polling per verificarne lo stato. Le azioni più brevi, come l'elenco delle risorse o l'ottenimento dei metadati, non sono gestite da una risorsa job.

Per ulteriori informazioni su BigQuery, consulta Informazioni sui job.

Prenotazioni

Gli slot vengono acquistati, assegnati alle risorse e allocati ai job in pool chiamati reservations. Le prenotazioni ti consentono di assegnare gli slot in modo sensato per la tua organizzazione. Ad esempio, puoi 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. In alternativa, puoi creare prenotazioni per reparti diversi della tua organizzazione.

Se acquisti impegni per gli slot prima di creare una prenotazione, viene creata automaticamente una prenotazione denominata default per comodità. La prenotazione default non ha un comportamento speciale. Se necessario, puoi creare prenotazioni aggiuntive o utilizzare la prenotazione predefinita.

Per informazioni sui prezzi, consulta i prezzi basati sulla capacità e i prezzi on demand.

Limitazioni delle prenotazioni

  • Le prenotazioni che crei non vengono condivise con altre organizzazioni.
  • Devi creare una prenotazione e un progetto di amministrazione distinta per ogni organizzazione.
  • Ogni organizzazione può avere un massimo di 10 progetti di amministrazione con impegni attivi in un'unica località.
  • La capacità inutilizzata non può essere condivisa tra organizzazioni o tra diversi progetti di amministrazione all'interno di un'unica organizzazione.
  • Gli impegni e le prenotazioni sono risorse a livello di regione. Gli impegni acquistati in una o più regioni non possono essere utilizzati per le prenotazioni in altre regioni o in più regioni, anche se la località di una singola regione è inclusa nella località di più regioni. Ad esempio, non puoi utilizzare un impegno acquistato nella regione con più zone EU per una prenotazione in europe-west1.
  • Gli impegni e le prenotazioni non possono essere spostati da una regione o da una regione a più regioni a un'altra.
  • 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.

Assegnazioni di prenotazione

Per utilizzare gli slot acquistati, devi assegnare uno o più progetti, cartelle o organizzazioni a una prenotazione. Una prenotazione è il livello più basso in cui puoi specificare l'assegnazione degli slot. Quando viene eseguito un job in un progetto, vengono utilizzati gli slot della prenotazione assegnata. Le risorse possono ereditare le assegnazioni dalle risorse di primo livello nella gerarchia delle risorse. Se un progetto non è assegnato a una prenotazione, eredita l'assegnazione della cartella o dell'organizzazione principale, se esistenti.

I progetti utilizzano la singola prenotazione più specifica nella gerarchia delle risorse a cui sono assegnati. Un'assegnazione di cartella ha la precedenza su un'assegnazione di organizzazione e un'assegnazione di progetto ha la precedenza su un'assegnazione di cartella.

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 Organizzare le risorse di BigQuery.

Le risorse possono essere assegnate a None per rappresentare l'assenza di un compito. I progetti assegnati a None utilizzano sempre i prezzi on demand. Un caso d'uso comune per le assegnazioni di None è assegnare un'organizzazione a una prenotazione e poi utilizzare None per escludere determinati progetti o cartelle da quella prenotazione. Per maggiori informazioni, consulta Assegnare un progetto a None.

Quando crei un compito, specifichi il tipo di job per quel compito:

  • BACKGROUND: utilizza questa prenotazione quando scegli di utilizzare la tua prenotazione per eseguire i job di gestione dell'indice di ricerca BigQuery, di acquisizione dei dati sulle modifiche (CDC) di BigQuery o i job in background di caching dei metadati di BigLake. 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.

  • CONTINUOUS (anteprima): utilizza questa prenotazione per i job di query continue. Per utilizzare le query continue, devi registrarti all'anteprima della funzionalità.

  • ML_EXTERNAL: utilizza questa prenotazione per le query CREATE MODEL di BigQuery ML che utilizzano 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.

  • 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 garantisce la disponibilità della capacità per questo pool condiviso o la velocità effettiva visualizzata. Se carichi grandi quantità di dati, il tuo job potrebbe attendere che gli slot diventino disponibili. In questo caso, ti consigliamo di acquistare slot dedicati e di assegnarvi i job PIPELINE. Come best practice, crea un'altra prenotazione dedicata con l'opzione Ignora slot inattivi attivata. Per ulteriori informazioni sugli slot inattivi, consulta Slot inattivi.

    Quando i job di caricamento ed estrazione vengono assegnati a una prenotazione, perdono l'accesso al pool gratuito. Devi monitorare l'utilizzo delle risorse e dei job per assicurarti che le prenotazioni abbiano una capacità sufficiente per avere un rendimento migliore rispetto all'utilizzo del pool gratuito.

  • QUERY: utilizza questa prenotazione per job di query non continui, tra cui query SQL, DDL, DML e BigQuery ML.

Non puoi assegnare gli slot a compiti specifici. Il programmatore BigQuery gestisce l'allocazione degli slot per le assegnazioni in una prenotazione. Per ulteriori informazioni sull'utilizzo degli slot, consulta la sezione Allocazione degli slot all'interno di una prenotazione.

Informazioni sulla gestione del carico di lavoro

Le prenotazioni BigQuery sono risorse a livello di organizzazione che sono tipicamente di proprietà di un progetto, ma possono essere utilizzate da altri progetti all'interno dell'organizzazione. Acquisti le prenotazioni in modo centralizzato per utilizzarle in tutta l'organizzazione. Puoi richiedere ai singoli reparti o dipartimenti di gestire le proprie prenotazioni acquistando la capacità impegnata e assegnandola al reparto o al dipartimento. Il progetto di amministrazione è associato a un account di fatturazione Cloud, a cui viene addebitata la capacità.

Puoi utilizzare un'organizzazione Google Cloud distinta per ogni reparto o divisione. In questo scenario, definisci un progetto di amministrazione per ogni reparto e gestisci le prenotazioni per quel reparto dal progetto di amministrazione. Non è prevista la condivisione della capacità impegnata o inutilizzata tra le organizzazioni.

Gli slot inattivi e non allocati vengono condivisi solo tra le prenotazioni create nello stesso progetto di amministrazione e nella stessa versione. Se utilizzi più di un progetto di amministrazione, gli slot non vengono condivisi tra le prenotazioni in progetti di amministrazione diversi.

Amministrare i carichi di lavoro dell'organizzazione

Quando crei impegni e prenotazioni, questi vengono associati a un progetto Google Cloud. Questo progetto gestisce le risorse di BigQuery Reservations ed è la fonte principale di fatturazione per queste risorse. Questo progetto non deve necessariamente essere lo stesso in cui si trovano i job BigQuery.

Come best practice, crea un progetto dedicato per le risorse Reservations. Questo progetto è chiamato progetto di amministrazione perché centralizza la fatturazione e la gestione dei tuoi impegni. Assegna a questo progetto un nome descrittivo, ad esempio bq-COMPANY_NAME-admin. Quindi, crea uno o più progetti distinti per contenere i job BigQuery.

Solo i progetti all'interno della stessa risorsa dell'organizzazione del progetto di amministrazione possono essere assegnati a una prenotazione. Se il progetto di amministrazione non fa parte di un'organizzazione, solo questo progetto può utilizzare gli slot assegnati.

Al progetto di amministrazione vengono addebitati gli slot riservati. Per gli slot utilizzati dai progetti provenienti dalle prenotazioni di proprietà del progetto di amministrazione non viene addebitato alcun costo. Puoi acquistare più di un tipo di piano (ad esempio impegni di un anno e di tre anni) e inserire gli slot nello stesso progetto di amministrazione.

Come best practice, crea un progetto di amministrazione per tutte le prenotazioni. L'utilizzo di un unico progetto di amministrazione semplifica la gestione della fatturazione e dell'allocazione degli slot. Devi attivare l'API BigQuery Reservations solo nel progetto di amministrazione in modo che tutti gli impegni vengano gestiti tramite questo progetto.

Gestione del carico di lavoro e dei reparti

Puoi utilizzare le prenotazioni BigQuery per isolare la capacità impegnata tra carichi di lavoro, team o reparti creando prenotazioni aggiuntive e assegnando progetti a queste prenotazioni. Una prenotazione è un pool di risorse isolate con il vantaggio di poter sfruttare la capacità inutilizzata dell'intera organizzazione.

Ad esempio, potresti avere una capacità totale impegnata di 1000 slot e tre tipi di carichi di lavoro: data science, ELT e BI.

  • Puoi creare una prenotazione ds con 500 slot e assegnare tutti i progetti Google Cloud pertinenti alla prenotazione ds.
  • Puoi creare una prenotazione elt con 300 slot e assegnare i progetti che utilizzi per i carichi di lavoro ELT alla prenotazione elt.
  • Puoi creare una prenotazione bi con 200 slot e assegnare i progetti collegati ai tuoi strumenti di BI alla prenotazione bi.

Eliminazione degli impegni.

Anziché suddividere la capacità tra i vari workload, puoi scegliere di creare prenotazioni per singoli team o reparti.

Gestione delle prenotazioni in regioni diverse

Le prenotazioni sono una risorsa di regione. Gli slot acquistati e le prenotazioni create in una regione non possono essere utilizzati in un'altra regione. Le località a regione singola non corrisponde alle località a più regioni, anche se la località a regione singola è contenuta nella località a più regioni. Ad esempio, non puoi utilizzare una prenotazione nella regione con più zone EU per eseguire un job in europe-west1. Progetti, cartelle e organizzazioni possono essere assegnati alle prenotazioni in una regione ed eseguiti on demand in un'altra. Per gestire le prenotazioni in un'altra regione:

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel menu di navigazione, fai clic su Gestione della capacità.

  3. Nell'elenco Località, seleziona una regione in cui gestire le prenotazioni.

    Dopo aver selezionato una regione, puoi creare prenotazioni, impegni e assegnare un progetto a una prenotazione.

Impegni

Un impegno di capacità è un acquisto di slot per un determinato periodo di tempo. Gli slot possono essere acquistati in incrementi di 100, fino alla tua quota di slot. Gli impegni di capacità sono facoltativi, ma possono offrire risparmi sui costi per i carichi di lavoro in stato stabile. Non esiste un limite al numero di impegni che puoi creare. L'addebito avviene dal momento in cui l'acquisto dell'impegno è andato a buon fine. Per informazioni sui prezzi attuali, consulta i prezzi per l'impegno di capacità.

  • Impegno di tre anni. Acquisti un impegno di tre anni. Puoi scegliere se rinnovare il piano 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 altro tipo di piano con impegno dopo 365 giorni.

Al termine del periodo di impegno, l'impegno verrà rinnovato in base al piano di rinnovo selezionato.

Ti viene addebitato un importo mensile per i piani con impegno annuale o triennale. Tuttavia, il tuo impegno finanziario è valido per l'intero periodo di impegno e non può essere annullato su base mensile. L'utilizzo viene aggiornato quotidianamente nel report di fatturazione e può essere visualizzato in qualsiasi momento.

Gli impegni relativi agli slot sono soggetti alla disponibilità di capacità. Quando tenti di acquistare impegni per gli slot, il completamento di questo acquisto non è garantito. Tuttavia, se l'acquisto dell'impegno va a buon fine, la capacità sarà disponibile fino alla scadenza dell'impegno.

Rinnova gli impegni

Seleziona un piano di rinnovo quando acquisti un impegno. Puoi cambiare il piano di rinnovo di un impegno in qualsiasi momento fino alla sua scadenza. Sono disponibili i seguenti piani di rinnovo:

  • Nessuna. Al termine del periodo di impegno, l'impegno viene rimosso. Le prenotazioni non sono interessate.
  • Annuale. Al termine del periodo di impegno, l'impegno si rinnova per un altro anno.
  • Tre anni. Al termine del periodo di impegno, l'impegno si rinnova per altri 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 ore 18:00 del 5 ottobre 2019, gli addebiti sono iniziati in quel preciso istante. Puoi eliminare o rinnovare l'impegno dopo le ore 18:00 del 4 ottobre 2020, tenendo presente che il 2020 è un anno bisestile. Puoi modificare i piani di rinnovo prima delle ore 18:00 del 4 ottobre 2020 come segue:

  • Se scegli di rinnovare l'impegno annuale, il 4 ottobre 2020 alle ore 18:00 il tuo impegno si rinnova per un altro anno.
  • Se scegli di rinnovare l'impegno con un impegno di tre anni, il 4 ottobre 2020 alle ore 18:00 il tuo impegno verrà rinnovato per tre anni.

Nota:la procedura di rinnovo può richiedere fino a circa un'ora dopo la scadenza dell'impegno. Ad esempio, se un impegno scade alle 18:00 del 4 ottobre 2020, il record dell'impegno rinnovato viene visualizzato nel sistema tra le 18:00 e le 19:00 del 4 ottobre 2020. Non vengono applicati costi on demand durante questo periodo di aggiornamento dei dati perché l'ora di inizio effettiva dell'impegno creato è le 18:00.

Scadenza impegno

Dopo aver creato un impegno, puoi eliminarlo solo al termine del periodo di impegno. Per eliminare un impegno annuale o triennale, imposta il piano di rinnovo su NONE. Alla scadenza dell'impegno, questo viene eliminato automaticamente. Per scoprire di più sulle scadenze degli impegni, consulta Scadenza dell'impegno.

Se acquisti accidentalmente un impegno o hai commesso un errore durante la configurazione, contatta l'assistenza per la fatturazione Cloud per ricevere aiuto.

Passaggi successivi