Gestione del carico di lavoro mediante le prenotazioni
Questa pagina descrive come utilizzare le prenotazioni di slot per gestire i carichi di lavoro BigQuery.
Prenotazioni di slot
In BigQuery, gli slot vengono allocati in pool chiamati prenotazioni. Le prenotazioni ti consentono di gestire la capacità e isolare i carichi di lavoro
in modo appropriato per la tua organizzazione. Ad esempio, puoi 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 con i job di produzione. In alternativa, puoi creare prenotazioni per reparti diversi della tua organizzazione per allocare i costi di calcolo.
Nonostante il nome, la capacità in una prenotazione non è necessariamente prenotata. Quando utilizzi le prenotazioni con scalabilità automatica, la capacità viene aumentata e diminuita automaticamente in base alla domanda. Inoltre, gli slot inattivi possono essere condivisi tra le prenotazioni.
Assegnazioni di prenotazione
Per utilizzare gli slot allocati in una prenotazione, devi assegnarla a uno o più progetti, cartelle o organizzazioni. Quando viene eseguito un job in un progetto, vengono utilizzati gli slot della prenotazione assegnata. Le risorse possono ereditare i compiti dalla risorsa di primo livello nella Google Cloud gerarchia delle risorse. Se un progetto non è assegnato a una prenotazione, eredita l'assegnazione della cartella o dell'organizzazione principale, se esistente.
I progetti utilizzano la singola prenotazione più specifica nella gerarchia delle risorse a cui sono assegnati. Un'assegnazione di cartella ha la precedenza su un'assegnazione di organizzazione e un'assegnazione di progetto ha la precedenza su un'assegnazione di 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 la sezione Organizzare le risorse 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 poi utilizzare None
per escludere determinati progetti o cartelle da quella prenotazione. Per maggiori informazioni, consulta Assegnare un progetto a None
.
Quando crei un compito, specifichi il tipo di job per quel compito:
QUERY
: utilizza questa prenotazione per job di query non continui, tra cui query SQL, DDL, DML e BigQuery ML (modelli integrati).BACKGROUND
: utilizza questa prenotazione quando scegli di utilizzare la tua prenotazione per eseguire i job di gestione dell'indice di ricerca BigQuery, di acquisizione dei dati sulle modifiche (CDC) di BigQuery o i job in background di caching dei metadati di BigLake. Utilizza questa prenotazione anche quando replichi i database di origine in BigQuery con le operazioni di applicazione in background di Datastream. Le prenotazioniBACKGROUND
non sono disponibili nella versione Standard.CONTINUOUS
(anteprima): utilizza questa prenotazione per i job di query continue. Per utilizzare le query continue, devi registrarti all'anteprima della funzionalità.ML_EXTERNAL
: utilizza questa prenotazione per le query BigQuery MLCREATE MODEL
che utilizzano servizi esterni a BigQuery. Per maggiori informazioni, consulta Assegnare slot ai carichi di lavoro BigQuery ML. Le prenotazioni diML_EXTERNAL
non sono disponibili nella versione standard.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 di slot condiviso. BigQuery non garantisce la disponibilità della capacità per questo pool condiviso o la velocità effettiva visualizzata. Se carichi grandi quantità di dati, il tuo job potrebbe attendere che gli slot diventino disponibili. In questo caso, ti consigliamo di acquistare slot dedicati e di assegnarvi i job
PIPELINE
. Come best practice, crea un'altra prenotazione dedicata con l'opzione Ignora slot inattivi attivata. Per ulteriori informazioni sugli slot inattivi, consulta Slot inattivi.Quando i job di caricamento ed estrazione vengono assegnati a una prenotazione, perdono l'accesso al pool gratuito. Devi monitorare l'utilizzo delle risorse e dei job per assicurarti che le prenotazioni abbiano una capacità sufficiente per avere un rendimento migliore rispetto all'utilizzo del pool gratuito.
Non puoi assegnare singoli slot a compiti specifici. Lo schedulatore BigQuery gestisce l'allocazione degli slot per i job che utilizzano una prenotazione. Per ulteriori informazioni su come vengono utilizzati gli slot, consulta la pagina sulla programmazione equa in BigQuery.
Combinare le prenotazioni con la 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 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.
Specifica un progetto di amministrazione
Quando crei impegni e prenotazioni, questi vengono associati a un Google Cloud progetto. 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.
Come best practice, crea 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
. Quindi, 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.
Utilizzo 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 diversi 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 Google Cloud BigQuery, puoi visualizzare le prenotazioni e gli impegni solo per il progetto amministrativo selezionato.
Dimensionamento delle prenotazioni di slot
BigQuery è progettato per scalare in modo lineare con l'aumento delle risorse. A seconda del carico di lavoro, è probabile che la capacità incrementale offra risultati incrementali. Tuttavia, l'aggiunta di capacità aumenta anche i costi. 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.
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.
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
Monitorare le prenotazioni.
Gestire i carichi di lavoro 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à in base ai tipi di carico di lavoro, 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ù Google Cloud organizzazioni, 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.
Impegni slot
Un impegno di slot è un acquisto di slot per un determinato periodo di tempo. Puoi acquistare slot con incrementi di 50, fino alla tua quota di slot regionale. Gli impegni di capacità sono facoltativi, ma possono offrire risparmi sui costi per i carichi di lavoro in stato stazionario. Non esiste un limite al numero di impegni che puoi creare. L'addebito avviene dal momento in cui l'acquisto dell'impegno è andato a buon fine. Per informazioni sui prezzi attuali, consulta i prezzi per l'impegno di capacità.
Impegno annuale. Acquisti un impegno di 365 giorni. Puoi scegliere se rinnovare o passare a un altro tipo di piano con impegno dopo 365 giorni.
Impegno di tre anni. Acquisti un impegno di tre anni. Puoi scegliere se rinnovare o passare a un altro tipo di piano di impegno dopo 3 anni (1095 giorni).
Al termine del periodo di impegno, l'impegno verrà rinnovato in base al piano di rinnovo selezionato.
Ti viene addebitato un importo mensile per i piani con impegno annuale o triennale. Tuttavia, il tuo impegno finanziario è valido per l'intero periodo di impegno e non può essere annullato su base mensile. Il tuo utilizzo viene aggiornato quotidianamente nel report di fatturazione, che puoi visualizzare in qualsiasi momento.
Gli impegni relativi agli slot sono soggetti alla disponibilità di capacità. Quando tenti di acquistare impegni per gli slot, il completamento di questo acquisto non è garantito. Tuttavia, se l'acquisto dell'impegno va a buon fine, la capacità è disponibile fino alla scadenza dell'impegno.
Se acquisti impegni per gli slot prima di creare una prenotazione, per comodità viene creata automaticamente una prenotazione denominata default
. La prenotazione default
non ha un comportamento speciale. Se necessario, puoi creare prenotazioni aggiuntive o utilizzare la prenotazione predefinita.
Rinnova gli impegni
Seleziona un piano di rinnovo quando acquisti un impegno. Puoi cambiare il piano di rinnovo di un impegno in qualsiasi momento fino alla sua scadenza. Sono disponibili i seguenti piani di rinnovo:
- Nessuna. Al termine del periodo di impegno, l'impegno viene rimosso. Le prenotazioni non sono interessate.
- Annuale. Al termine del periodo di impegno, l'impegno si rinnova per un altro anno.
- Tre anni. Al termine del periodo di impegno, l'impegno si rinnova 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 ore 18:00 del 5 ottobre 2019, gli addebiti sono iniziati in quel preciso istante. Puoi eliminare o rinnovare l'impegno dopo le ore 18:00 del 4 ottobre 2020, tenendo presente che il 2020 è un anno bisestile. Puoi modificare i piani di rinnovo prima delle ore 18:00 del 4 ottobre 2020 come segue:
- Se scegli di rinnovare l'impegno annuale, il 4 ottobre 2020 alle ore 18:00 il tuo impegno si rinnova per un altro anno.
- Se scegli di rinnovare l'impegno con un impegno di tre anni, il 4 ottobre 2020 alle ore 18:00 il tuo impegno verrà rinnovato per tre anni.
Nota:la procedura di rinnovo può richiedere fino a circa un'ora dopo la scadenza dell'impegno. Ad esempio, se un impegno scade alle 18:00 del 4 ottobre 2020, il record dell'impegno rinnovato viene visualizzato nel sistema tra le 18:00 e le 19:00 del 4 ottobre 2020. Non vengono applicati costi on demand durante questo periodo di aggiornamento dei dati, poiché l'ora di inizio effettiva dell'impegno creato è le 18:00.
Scadenza impegno
Non puoi eliminare un impegno dopo averlo creato.
Per eliminare un impegno annuale o triennale, imposta il piano di rinnovo su NONE
.
Alla scadenza dell'impegno, questo viene eliminato automaticamente. Per scoprire di più sulle scadenze degli impegni, consulta Scadenza dell'impegno.
Se acquisti accidentalmente un impegno o hai commesso un errore durante la configurazione, contatta l'assistenza per la fatturazione Cloud per ricevere aiuto.
Limitazioni delle prenotazioni
- Le prenotazioni in un'organizzazione non possono essere condivise con altre organizzazioni.
- Devi utilizzare prenotazioni e progetti di amministrazione distinti per ogni organizzazione.
- Ogni organizzazione può avere un massimo di 10 progetti di amministrazione con prenotazioni attive in un'unica località.
- La capacità inutilizzata non può essere condivisa tra organizzazioni o tra diversi progetti di amministrazione all'interno di un'unica organizzazione.
- Gli impegni e le prenotazioni sono
risorse a livello di regione.
Gli impegni acquistati in una o più regioni non possono essere utilizzati per le prenotazioni in altre regioni o in più regioni, anche se la località di una singola regione è in co-locazione con la località di più regioni.
Ad esempio, non puoi utilizzare un impegno acquistato nella regione con più zone
EU
per una prenotazione ineurope-west4
. - Gli impegni e le prenotazioni non possono essere spostati da una regione o da una regione a più regioni a un'altra.
- Gli impegni acquistati in un progetto di amministrazione non possono essere spostati in un progetto di amministrazione diverso.
- 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é si riducono quando non sono più necessari.