Gestione dei carichi di lavoro mediante Reservations
Questa pagina descrive come utilizzare le prenotazioni di slot 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 utilizzare la scalabilità automatica 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 rimane attiva 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 scoprire di più, 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 prenotazione BigQuery ed è la fonte principale di fatturazione per queste risorse. Questo progetto non deve necessariamente essere lo stesso che contiene i job o i set di dati 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 Gestione della capacità della console BigQuery Google Cloud , puoi visualizzare le prenotazioni e gli impegni solo per il progetto amministrativo 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 allocato gli slot ed eseguito i carichi di lavoro per almeno sette giorni, puoi utilizzare lo strumento di stima degli slot per analizzare il rendimento e modellare l'effetto dell'aggiunta o della riduzione degli slot.
Gestire i carichi di lavoro e i reparti utilizzando le prenotazioni
Puoi utilizzare le prenotazioni BigQuery per allocare la capacità 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.
Gestire le prenotazioni in regioni diverse
Le prenotazioni sono risorse a livello di regione. Gli slot acquistati e le prenotazioni create in una regione non possono essere utilizzati in un'altra regione. 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:
- 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.
Gestire le prenotazioni in organizzazioni complesse
Le prenotazioni sono risorse basate sull'organizzazione. Quando crei prenotazioni, puoi assegnare la capacità a qualsiasi progetto all'interno della stessa Google Cloud organizzazione. La maggior parte degli utenti di BigQuery utilizza un unico progetto di amministrazione per le prenotazioni e gli impegni. Questo progetto di amministrazione è associato a un account di fatturazione Cloud, a cui viene addebitata la capacità.
Tuttavia, se hai un'organizzazione complessa con più reparti che gestiscono le proprie fatture, ti consigliamo di utilizzare più progetti di amministrazione. Tieni presente che gli slot inattivi possono essere condivisi solo tra le prenotazioni create nello stesso progetto di amministrazione. Devi conoscere le quote e i limiti per le prenotazioni e i progetti di amministrazione.
Se utilizzi più organizzazioni Google Cloud , devi creare almeno un progetto di amministrazione per ogni organizzazione e poi gestire le prenotazioni e gli impegni per ogni organizzazione nel relativo progetto di amministrazione. Non puoi condividere la capacità tra le organizzazioni.