Gestione dei carichi di lavoro mediante Reservations
Questa pagina descrive come utilizzare BigQuery Reservations per gestire i carichi di lavoro BigQuery.
Scegliere un modello di fatturazione
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. 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 i carichi di lavoro prevedibili, in genere a un prezzo scontato rispetto ai prezzi on demand.
Quando scegli la fatturazione in base alla capacità, prendi in considerazione i seguenti fattori:
- Cost. Google consiglia di mantenere la spesa mensile per l'analisi intorno all'impegno minimo basato sulla capacità di BigQuery.
- Efficienza. Se esegui carichi di lavoro infrequenti o incoerenti, i prezzi on demand potrebbero essere più efficienti. Con il modello on demand paghi solo per gli slot quando ne hai bisogno.
- Prevedibilità. Potresti preferire il modello di fatturazione in base alla capacità se prendi in considerazione la prevedibilità mensile dei prezzi, in quanto hai la possibilità di paga una tariffa mensile costante.
- Risorse. I modelli di fatturazione basati sulla capacità e on demand differiscono per il modo in cui offrono la capacità. Per ulteriori informazioni, consulta la pagina Stimare la quantità di slot da acquistare.
In qualità di nuovo cliente, puoi scegliere di iniziare con la fatturazione basata sulla capacità. In qualsiasi momento, puoi osservare quale sarebbe stato il tuo costo con la fatturazione on demand e scegliere il modello più adatto alle tue esigenze.
Puoi anche fare esperimenti con il scaling automatico degli slot. Gli slot con scalabilità automatica offrono la flessibilità necessaria per gestire un improvviso aumento dei carichi di lavoro e sono ideali per gestire la varianza delle esigenze di capacità.
Puoi anche combinare i 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 la capacità in una regione e la tariffa 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 in base alla capacità per un progetto, una cartella o un'organizzazione assegnandoli a una prenotazione. Ad esempio, se acquisti un impegno per gli slot nella multi-regione degli Stati Uniti e assegni la tua organizzazione alla prenotazione predefinita, la tua organizzazione utilizzerà la fatturazione in base alla capacità nella multi-regione degli Stati Uniti, ma rimarrà in uso la fatturazione on demand in tutte le altre regioni.
All'interno di una regione, puoi combinare la fatturazione in base alla capacità e quella 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 a un progetto la fatturazione on demand assegnando l'ID prenotazione none
. Questa opzione è 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 la sezione Assegnare un progetto a Nessuno.
I progetti con fatturazione on demand utilizzano una capacità distinta da quella 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 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.
Google consiglia di creare un progetto dedicato per le risorse di prenotazione. 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
. Poi 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.
Al progetto di amministrazione vengono addebitati gli slot riservati. Per i progetti che utilizzano gli slot viene addebitato lo spazio di archiviazione, ma non 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. In questo modo, si semplifica la gestione della fatturazione e l'allocazione degli slot. Ove possibile, è consigliabile un progetto di amministrazione per tutte le prenotazioni della tua organizzazione. Le organizzazioni complesse potrebbero richiedere progetti di amministrazione aggiuntivi 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 relativi agli slot a insiemi specifici di prenotazioni.
La capacità degli slot inattivi non viene 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 amministrativo attualmente selezionato.
Stima del numero di slot da acquistare
BigQuery è progettato per scalare in modo lineare con l'aumento delle 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 tuoi requisiti per prestazioni, throughput e utilità.
Puoi fare esperimenti con gli slot di riferimento e di scalabilità automatica per determinare la migliore configurazione degli slot. Ad esempio, puoi testare il tuo carico di lavoro con 500 slot di base, poi 1000, 1500 e 2000 e osservare l'impatto sulle prestazioni.
Puoi anche esaminare l'utilizzo corrente degli slot dei tuoi progetti, nonché il prezzo mensile scelto che vuoi pagare. I carichi di lavoro on demand hanno un
limite massimo di slot flessibile di 2000, ma è importante verificare quanti slot vengono
effettivamente utilizzati dai tuoi progetti utilizzando
le visualizzazioni INFORMATION_SCHEMA.JOBS*
,
Cloud Logging, l'API Jobs o i log di BigQuery Audit. Per ulteriori informazioni, consulta
Visualizzare gli slot disponibili e quelli allocati.
Dopo aver acquistato gli slot ed eseguito i carichi di lavoro per almeno sette giorni, puoi utilizzare lo stimatore degli slot (Anteprima) per analizzare il rendimento e simulare l'effetto dell'aggiunta o della riduzione degli slot. Per ulteriori informazioni, consulta la sezione Stimare i requisiti di capacità degli slot.
Gestire i carichi di lavoro e i reparti utilizzando le prenotazioni
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 aggiuntivo di poter sfruttare la capacità inutilizzata 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 prenotazioneds
. - Puoi creare una prenotazione
elt
con 300 slot e assegnare i progetti che utilizzi per i carichi di lavoro ELT alla prenotazioneelt
. - Puoi creare una prenotazione
bi
con 200 slot e assegnare i progetti collegati ai tuoi strumenti di BI alla prenotazionebi
.
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. 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 la regione nella pagina Gestione della capacità di BigQuery:
- Nella console BigQuery, fai clic su Prenotazioni.
- Fai clic sul selettore Località e seleziona una regione in cui gestire le prenotazioni.
- Dopo aver selezionato una regione, puoi acquistare slot, creare prenotazioni e assegnare un progetto a una prenotazione.
BigQuery Reservations per organizzazioni complesse
BigQuery Reservations è una risorsa a livello di organizzazione. Acquisti le prenotazioni a livello centrale per utilizzarle in tutta l'organizzazione. Puoi richiedere ai singoli reparti o reparti di gestire le proprie prenotazioni BigQuery acquistando la capacità impegnata e distribuendola nel reparto o nel reparto. Il progetto di amministrazione è associato a un account di fatturazione Cloud, per 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 organizzazione e gestisci le prenotazioni BigQuery per quell'organizzazione 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.