Gestione dei carichi di lavoro tramite le prenotazioni

Questa pagina descrive come utilizzare le prenotazioni BigQuery per gestire più facilmente i carichi di lavoro BigQuery.

Scegli un modello di fatturazione

Puoi passare dal modello di fatturazione on demand a quello basato sulla capacità e viceversa in qualsiasi momento oppure puoi scegliere di combinare i due modelli. I due modelli di determinazione dei prezzi si completano a vicenda. La fatturazione on demand ti consente di pagare gli slot solo quando ne hai bisogno, mentre i prezzi basati sulla capacità consentono di prenotare allocazioni di slot per carichi di lavoro prevedibili, in genere con uno sconto rispetto ai prezzi on demand.

Scommesse sulle prenotazioni.

Prendi in considerazione i seguenti fattori nella scelta della fatturazione basata sulla capacità:

  • Costo. Google consiglia di spendere ogni mese per l'analisi pari all'impegno minimo basato sulla capacità di BigQuery.
  • Efficienza. Se esegui carichi di lavoro poco frequenti o incoerenti, i prezzi on demand potrebbero essere più efficienti. Con i prezzi on demand puoi pagare gli slot solo quando ti servono.
  • Prevedibilità. Potresti preferire il modello di fatturazione basato sulla capacità se attribuisci un valore alla prevedibilità dei prezzi mensile perché hai la possibilità di pagare una tariffa mensile coerente.
  • Risorse. I modelli di fatturazione basati sulla capacità e on demand differiscono nell'offerta di capacità. Per ulteriori informazioni, consulta la pagina Stima della quantità di slot da acquistare.

Come nuovo cliente, potresti scegliere di iniziare con la fatturazione basata sulla capacità. In qualsiasi momento, puoi vedere quanto sarebbe stato costo con la fatturazione on demand e in qualsiasi momento puoi scegliere il modello più adatto a te.

Puoi anche fare esperimenti con la scalabilità automatica degli slot. Gli slot con scalabilità automatica offrono flessibilità per gestire un improvviso aumento dei carichi di lavoro e sono ideali per gestire la varianza delle esigenze di capacità.

Puoi anche combinare modelli di fatturazione on demand e basati sulla capacità, a livello di carico di lavoro o di unità aziendale, organizzando i carichi di lavoro o le unità aziendali in progetti o cartelle diversi e assegnando ciascuno a una prenotazione o alla fatturazione on demand.

Puoi utilizzare gli attributi basati sulla capacità in una regione e on demand in un'altra. Per impostazione predefinita, tutti i progetti utilizzano la fatturazione on demand. All'interno di una regione, puoi attivare la fatturazione basata sulla capacità per un progetto, una cartella o un'organizzazione assegnandoli a una prenotazione. Ad esempio, se acquisti un impegno di slot in più regioni degli Stati Uniti e assegni la tua organizzazione alla prenotazione predefinita, la tua organizzazione utilizzerà la fatturazione basata sulla capacità in più regioni degli Stati Uniti, ma continuerà a utilizzare la fatturazione on demand in tutte le altre regioni.

All'interno di una regione, puoi combinare la fatturazione basata sulla capacità e on demand assegnando esplicitamente progetti a una prenotazione. Per i progetti non assegnati a una prenotazione utilizza la fatturazione on demand. Puoi anche assegnare esplicitamente un progetto per l'utilizzo della fatturazione on demand assegnando l'ID prenotazione none. Questo è utile se assegni una cartella o un'organizzazione a una prenotazione, ma vuoi che alcuni progetti all'interno della cartella o dell'organizzazione utilizzino la fatturazione on demand. Per ulteriori informazioni, consulta Assegnare un progetto a Nessuno.

Progetti con una capacità di utilizzo della fatturazione on demand separata dalla capacità impegnata. Questi progetti non influiscono sulla disponibilità della capacità impegnata.

Creazione di un progetto di amministrazione

Quando crei impegni e prenotazioni, questi vengono associati a un progetto Google Cloud. Questo progetto gestisce le risorse di prenotazione BigQuery ed è l'origine principale di fatturazione per queste risorse. Questo progetto non deve essere necessariamente lo stesso che contiene i job BigQuery.

Google consiglia di creare un progetto dedicato per le risorse Prenotazioni. Questo progetto è chiamato progetto di amministrazione perché centralizza la fatturazione e la gestione degli impegni. Assegna a questo progetto un nome descrittivo, ad esempio bq-COMPANY_NAME-admin. Quindi crea uno o più progetti separati per contenere i tuoi 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 può utilizzare gli slot.

Al progetto di amministrazione vengono addebitati i costi per gli slot impegnati. I progetti che utilizzano gli slot vengono fatturati per l'archiviazione, ma non per gli slot. Puoi acquistare più di un tipo di piano (ad esempio annuale e triennale) e inserire gli slot nello stesso progetto di amministrazione.

Come best practice, limita il numero di progetti di amministrazione. Ciò aiuta a semplificare la gestione della fatturazione e l'allocazione degli slot. Ove possibile, è consigliato un unico progetto di amministrazione per tutte le prenotazioni dell'organizzazione. Le organizzazioni complesse potrebbero richiedere ulteriori progetti di amministrazione per soddisfare i requisiti di gestione o fatturazione.

Creazione di più progetti di amministrazione

In alcuni casi potresti voler creare più di un progetto di amministrazione:

  • Per separare i costi di più prenotazioni e impegni in unità organizzative diverse.
  • Per mappare uno o più impegni di slot a insiemi specifici di prenotazioni.

La capacità di slot inattivi non è condivisa tra le prenotazioni in progetti di amministrazione diversi.

Quando sei nella pagina BigQuery della console Google Cloud, puoi visualizzare le prenotazioni e gli impegni solo per il progetto amministratore attualmente selezionato.

Stima del numero di slot da acquistare

BigQuery è progettato per scalare in modo lineare con maggiori risorse. A seconda del carico di lavoro, è probabile che la capacità incrementale offra vantaggi incrementali. Pertanto, la scelta del numero ottimale di slot da acquistare dipende dai requisiti in termini di prestazioni, velocità effettiva e utilità.

Puoi fare esperimenti con gli slot di riferimento e con scalabilità automatica per determinare la migliore configurazione degli slot. Ad esempio, puoi testare il tuo carico di lavoro con 500 slot di riferimento, quindi 1000, quindi 1500 e 2000 e osservare l'impatto sulle prestazioni.

Puoi anche esaminare l'utilizzo attuale degli slot dei tuoi progetti, insieme al prezzo mensile scelto che vuoi pagare. I carichi di lavoro on demand hanno un limite di 2000 slot flessibili, ma è importante verificare quanti slot vengono effettivamente utilizzati dai progetti utilizzando le viste INFORMATION_SCHEMA.JOBS*, Cloud Logging, l'API Jobs o gli audit log di BigQuery. Per maggiori informazioni, consulta Visualizzare gli slot disponibili e gli slot allocati.

Cronologia di utilizzo degli slot.

Dopo aver acquistato gli slot ed eseguito i carichi di lavoro per almeno sette giorni, puoi utilizzare lo strumento di stima degli slot (anteprima) per analizzare le prestazioni e modellare l'effetto dell'aggiunta o della riduzione degli slot. Per maggiori informazioni, consulta la pagina Stimare i requisiti di capacità degli slot.

Gestione dei carichi di lavoro e dei reparti mediante le prenotazioni

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

Ad esempio, potresti avere una capacità impegnata totale 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 BI alla prenotazione bi.

Eliminazione impegni.

Anziché partizionare la capacità tra i diversi carichi di lavoro, potresti 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 utilizzate in nessun'altra regione. Tutti i progetti, le cartelle e le organizzazioni possono essere assegnati alle prenotazioni in una regione ed eseguiti on demand in un'altra. Per gestire le prenotazioni in un'altra regione, devi modificare la regione nella pagina Gestione della capacità di BigQuery:

  1. Nella console BigQuery, fai clic su Prenotazioni.
  2. Fai clic sul selettore Località e scegli una regione in cui gestire le prenotazioni. Seleziona un'altra regione.
  3. Dopo aver selezionato una regione, puoi acquistare slot, creare prenotazioni e assegnare un progetto a una prenotazione.

Prenotazioni BigQuery per organizzazioni complesse

Prenotazioni BigQuery è una risorsa con ambito a livello di organizzazione. Puoi acquistare le prenotazioni a livello centrale per utilizzarle nell'intera organizzazione. Puoi richiedere a singoli reparti o divisioni di gestire le prenotazioni BigQuery acquistando una capacità impegnata e distribuendola all'interno del reparto o della 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 ogni reparto o divisione. In questo scenario, definirai un progetto di amministrazione per ogni organizzazione e gestirai le prenotazioni di BigQuery per quell'organizzazione dal progetto di amministrazione. Non c'è 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 nella stessa versione. Se utilizzi più di un progetto di amministrazione, gli slot non vengono condivisi tra le prenotazioni di diversi progetti di amministrazione.