Gestione dei carichi di lavoro tramite le prenotazioni

In questa pagina viene descritto come utilizzare le prenotazioni di BigQuery per gestire più facilmente i carichi di lavoro BigQuery.

Scegli un modello di fatturazione

Puoi passare in qualsiasi momento dal modello di fatturazione on demand a quello basato sulla capacità oppure puoi scegliere di combinare i due modelli. I due modelli di determinazione del prezzo 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à ti consentono di prenotare le allocazioni degli slot per carichi di lavoro prevedibili, generalmente con uno sconto rispetto ai prezzi on demand.

Le prenotazioni hanno compromessi.

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

  • Costo. Google consiglia di impostare la spesa mensile per l'analisi attorno all'impegno minimo basato sulla capacità di BigQuery.
  • Efficienza. Se esegui carichi di lavoro non frequenti o incoerenti, i prezzi on demand potrebbero essere più efficienti. Con il modello on demand puoi pagare gli slot solo quando ti servono.
  • Prevedibilità. Potresti preferire il modello di fatturazione basato sulla capacità se apprezzi la prevedibilità mensile dei prezzi, perché hai la possibilità di pagare una tariffa mensile coerente.
  • Risorse. I modelli di fatturazione basati sulla capacità e on demand differiscono nel modo in cui offrono capacità. Per maggiori informazioni, consulta la pagina Stima della quantità di slot da acquistare.

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

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

Puoi inoltre 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 cartelle o progetti diversi e assegnando ciascuno a una prenotazione o alla fatturazione on demand.

Puoi utilizzare il modello basato 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 nella località multiregionale degli Stati Uniti e assegni la tua organizzazione alla prenotazione predefinita, la tua organizzazione sarà soggetta alla fatturazione basata sulla capacità negli Stati Uniti (più regioni), ma continuerà a essere applicata 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 i progetti a una prenotazione. Per tutti i progetti non assegnati a una prenotazione viene mantenuta la fatturazione on demand. Puoi anche assegnare esplicitamente un progetto per la 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 di quella cartella o organizzazione utilizzino la fatturazione on demand. Per ulteriori informazioni, consulta Assegnare un progetto a Nessuno.

Progetti con 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 delle prenotazioni BigQuery e rappresenta la principale fonte di fatturazione per queste risorse. Questo progetto non deve necessariamente essere lo stesso che contiene i job BigQuery.

Google consiglia di creare un progetto dedicato per le risorse relative alle prenotazioni. Si tratta del 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 dell'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.

Ti consigliamo di creare un progetto di amministrazione per tutte le prenotazioni. L'utilizzo di un singolo progetto di amministrazione semplifica la gestione della fatturazione e l'allocazione degli slot. Ti consigliamo inoltre di abilitare l'API BigQuery Reservations solo nel progetto di amministrazione, in modo che tutti gli impegni vengano gestiti tramite questo progetto.

Creazione di più progetti di amministrazione

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

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

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

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 un maggior numero di risorse. A seconda del carico di lavoro, è probabile che la capacità incrementale offra vantaggi incrementali. La scelta del numero ottimale di slot da acquistare dipende quindi dai tuoi requisiti di prestazioni, velocità effettiva e utilità.

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

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

Cronologia di utilizzo degli slot.

Dopo aver acquistato 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 ulteriori informazioni, consulta Stimare i requisiti di capacità degli slot.

Gestione dei carichi di lavoro e dei reparti utilizzando le prenotazioni

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 l'ulteriore vantaggio di poter sfruttare la capacità inattiva nell'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 progetti collegati ai tuoi strumenti BI alla prenotazione bi.

Gli impegni vengono eliminati.

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

Gestione delle prenotazioni in diverse regioni

Le prenotazioni sono una risorsa di regione. Gli slot acquistati e le prenotazioni create in un'area geografica non possono essere utilizzate in nessun'altra area geografica. 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, devi modificare l'area geografica nella pagina Gestione della capacità di BigQuery:

  1. Nella console BigQuery, fai clic su Prenotazioni.
  2. Fai clic sul selettore Località e seleziona una regione in cui vuoi 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

BigQuery Reservations è una risorsa con ambito di organizzazione. Puoi acquistare le prenotazioni a livello centrale in modo da utilizzarle nell'intera organizzazione. Puoi richiedere a singoli reparti o divisioni di gestire le proprie prenotazioni BigQuery acquistando 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 ciascuno dei tuoi reparti o reparti. In questo scenario, devi definire un progetto di amministrazione per ogni organizzazione e gestire le prenotazioni BigQuery per quella organizzazione dal progetto di amministrazione. Non viene condivisa la 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.