Introduzione alla gestione dei carichi di lavoro

La gestione dei carichi di lavoro di BigQuery consente di controllare le risorse e le funzionalità disponibili per l'analisi dei dati nella tua organizzazione e 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'organizzazione per eseguire i job.

BigQuery offre due modelli di gestione dei carichi di lavoro per l'analisi dei dati, noti anche come compute. Con la fatturazione on demand, paghi in base ai byte elaborati quando esegui query sui dati. Con la fatturazione basata sulla capacità, prenota la capacità di elaborazione per i carichi di lavoro con la possibilità di scalare automaticamente la capacità in alto e in basso.

Puoi passare dal modello di fatturazione on demand a quello basato sulla capacità in qualsiasi momento oppure puoi scegliere di combinare i due modelli. Il modello basato sulla capacità offre un controllo esplicito su slot e capacità di elaborazione, al contrario del modello on demand.

Compromissioni delle prenotazioni.

I seguenti modelli definiscono le modalità di gestione dei carichi di lavoro e 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 un prezzo scontato. La capacità è misurata in slot allocati ai carichi di lavoro o a parti della tua organizzazione. La fatturazione basata sulla capacità offre l'opzione di impegni, che ti consentono di mantenere un livello coerente di capacità di elaborazione per un periodo di 1 o 3 anni a un prezzo scontato. Non è previsto alcun costo per i byte elaborati quando si utilizza il modello basato sulla capacità. I vantaggi dei prezzi basati sulla capacità includono:

    • Costo. Come best practice, puoi impostare l'utilizzo minimo mensile delle analisi come impegno BigQuery basato sulla capacità per ridurre i costi.
    • Prevedibilità. Gli slot basati sulla capacità consentono tariffe mensili più coerenti.
    • Acquisto centralizzato: puoi acquistare e allocare slot per l'intera organizzazione anziché per ogni progetto che utilizza BigQuery.
    • Flessibilità. Puoi scegliere quanta capacità allocare a un carico di lavoro o lasciare che BigQuery la scali automaticamente in base ai requisiti dei carichi di lavoro. La fatturazione avviene in incrementi al secondo con un periodo di utilizzo minimo di un minuto.

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 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 viene specificato per progetto, ciò richiederebbe l'utilizzo di 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 è misurata in slot. Gli slot rappresentano le CPU virtuali utilizzate per eseguire query sui dati. In generale, l'accesso a più slot consente di eseguire più query in parallelo, mentre le query complesse possono essere eseguite più velocemente. Il modello di prezzi basato sulla capacità consente di prenotare un volume di slot. Le query vengono eseguite all'interno di questa capacità e paghi ogni secondo per la capacità di cui viene eseguito il deployment. Ad esempio, se acquisti 2000 slot BigQuery, le query in forma aggregata possono utilizzare soltanto 2000 CPU virtuali in qualsiasi momento. Questa capacità è disponibile fino a quando non la elimini e paghi per 2000 slot finché non li elimini.

Per saperne di più sugli slot e sul loro utilizzo, consulta Informazioni sugli slot.

Quote per gli slot

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

  • Modello di prezzi on demand: la quota di slot per progetto con funzionalità di burst 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 vengono utilizzati dal tuo account, consulta Monitoraggio BigQuery.

  • Modello di prezzi basato sulla capacità: le quote e i limiti di prenotazione definiscono il numero massimo di slot che puoi acquistare in una località. Ti verranno addebitate solo le prenotazioni e gli impegni, non le quote.

Per informazioni sull'aumento della quota di slot, consulta Richiesta di aumento della quota.

Prenotazioni

Gli slot vengono acquistati, assegnati alle risorse e allocati ai job in pool chiamati prenotazioni. Le prenotazioni ti consentono di assegnare slot nel modo più appropriato 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 modo che i job di test non competano per le risorse dei carichi di lavoro di produzione. In alternativa, puoi creare prenotazioni per diversi reparti dell'organizzazione.

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. 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 di prenotazione

  • Le prenotazioni create non vengono 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.

Assegnazioni di prenotazione

Per utilizzare gli slot acquistati, devi assign uno o più progetti, cartelle o organizzazioni a una prenotazione. Una prenotazione è il livello più basso al quale puoi specificare l'assegnazione degli slot. Durante l'esecuzione di un job in un progetto, vengono utilizzati gli slot della prenotazione assegnata. Le risorse possono ereditare le assegnazioni dai rispettivi elementi padre nella gerarchia delle risorse. Se un progetto non viene assegnato a una prenotazione, eredita l'assegnazione dell'organizzazione o della cartella padre, se presente.

I progetti utilizzano la singola prenotazione più specifica nella gerarchia delle risorse a cui sono assegnati. Un'assegnazione cartella sostituisce un'assegnazione dell'organizzazione, mentre un'assegnazione progetto sostituisce un'assegnazione 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 Organizzazione delle 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 None è assegnare un'organizzazione a una prenotazione e utilizzare None per escludere dalla prenotazione determinati progetti o cartelle. Per ulteriori informazioni, consulta Assegnare un progetto a None.

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 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 dedicata con l'opzione Ignora gli slot inattivi abilitata. Per saperne di più sugli slot inattivi, consulta la sezione 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 migliorare le prestazioni rispetto all'uso 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 in background CDC (Change Data Capture) 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. Per ulteriori informazioni su come vengono utilizzati gli slot, consulta Assegnazione degli slot all'interno di una prenotazione.

Informazioni sulla gestione dei carichi di lavoro

Le prenotazioni di BigQuery sono risorse con ambito a livello di organizzazione che in genere sono di proprietà di un progetto, ma possono essere utilizzate da altri progetti all'interno dell'organizzazione. Puoi acquistare le prenotazioni in modo centralizzato, da utilizzare nell'intera organizzazione. Puoi richiedere a singoli reparti o reparti di gestire le prenotazioni acquistando la capacità impegnata e assegnandola al reparto o alla divisione. 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 ciascuno dei tuoi reparti o reparti. In questo scenario, devi definire un progetto di amministrazione per ogni reparto e gestire le relative prenotazioni dal progetto di amministrazione. Non esiste alcuna condivisione della capacità impegnata o inattiva tra le organizzazioni.

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

Amministra 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 prenotazione di BigQuery ed è l'origine principale di fatturazione per queste risorse. Questo progetto non deve essere necessariamente lo stesso che include i job BigQuery.

Come best practice, crea un progetto dedicato per le risorse relative alle prenotazioni. Questo progetto è chiamato progetto di amministrazione, perché centralizza la fatturazione e la gestione degli impegni. Assegna al progetto un nome descrittivo come bq-COMPANY_NAME-admin. Poi crea uno o più progetti separati in cui inserire i job BigQuery.

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

Al progetto di amministrazione vengono addebitati i costi per gli slot impegnati. I progetti che utilizzano slot delle prenotazioni di proprietà del progetto di amministrazione non vengono fatturati per gli slot. Puoi acquistare più di un tipo di piano (ad esempio impegni di uno o 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 l'allocazione degli slot. Devi abilitare l'API BigQuery Reservations solo nel progetto di amministrazione, in modo che tutti gli impegni vengano gestiti tramite questo progetto.

Gestione dei carichi di lavoro e dei reparti

Puoi utilizzare le prenotazioni di 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 isolato di risorse con il vantaggio di poter sfruttare la capacità inattiva nell'intera organizzazione.

Ad esempio, la 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 utilizzati per i carichi di lavoro ELT alla prenotazione elt.
  • Puoi creare una prenotazione bi con 200 slot e assegnare progetti collegati ai tuoi strumenti BI alla prenotazione bi.

Eliminazione degli impegni.

Invece di partizionare la capacità tra i diversi carichi di lavoro, potresti scegliere di creare prenotazioni per singoli team o reparti.

Gestire le prenotazioni in diverse regioni

Le prenotazioni sono una risorsa di regione. Le slot acquistate e le prenotazioni create in una regione non possono essere utilizzate in un'altra regione. Le organizzazioni, i progetti e le cartelle possono essere assegnati a 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 vuoi gestire le prenotazioni.

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

Impegni

Un impegno di capacità è l'acquisto di slot per un periodo di tempo specificato. L'acquisto può avvenire con incrementi di 100 slot, fino alla tua quota di slot. Gli impegni di capacità sono facoltativi, ma possono comportare risparmi per i carichi di lavoro in stato stazionario. Non esiste un limite al numero di impegni che puoi creare. L'addebito verrà 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 convertire a un tipo di piano di impegno diverso 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.

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

Ti viene addebitata una tariffa mensile per i piani di impegno annuale o triennale. Tuttavia, il tuo impegno finanziario si applica all'intero periodo di impegno e non può essere annullato su base mensile. Il tuo utilizzo viene aggiornato quotidianamente nel report di fatturazione e può essere visualizzato in qualsiasi momento.

Gli impegni 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 andrà a buon fine, la capacità sarà disponibile fino alla scadenza dell'impegno.

Rinnova impegni

Puoi selezionare un piano di rinnovo al momento dell'acquisto di un impegno. Puoi modificare il piano di rinnovo per un impegno in qualsiasi momento fino alla scadenza. Sono disponibili i seguenti piani di rinnovo:

  • Nessuno. Al termine del periodo, l'impegno viene rimosso. Le prenotazioni non sono interessate.
  • annuale. Al termine del periodo di impegno, l'impegno viene rinnovato per un altro anno.
  • Tre anni. Al termine del periodo, l'impegno viene rinnovato 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 18:00 del 5 ottobre 2019, l'addebito è iniziato a partire da quel secondo. 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 indicato di seguito:

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

Scadenza impegno

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

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

Passaggi successivi