Informazioni sulle prenotazioni

Questa pagina descrive come utilizzare le prenotazioni di slot per gestire i workload 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 workload in modi che hanno senso per la tua organizzazione. Ad esempio, puoi creare una prenotazione denominata prod per i workload 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 diversi reparti della tua organizzazione per allocare i costi di computing.

Le prenotazioni consentono inoltre agli amministratori di configurare la capacità degli slot in base ai workload assegnati. Ad esempio, se hai workload a livello di produzione con tempi critici, crea una prenotazione con slot di base adeguati.

Una volta allocati, gli slot di base rimangono costantemente disponibili per la tua prenotazione, anche se l'aumento di questa base dipende dalla capacità attuale del sistema. Al contrario, quando utilizzi le prenotazioni con scalabilità automatica, BigQuery non prenota in anticipo la capacità tra la base di riferimento e la dimensione massima della prenotazione. Invece, BigQuery aumenta e riduce automaticamente questa capacità in base alla domanda e alla disponibilità del sistema. Le prenotazioni con scalabilità automatica vengono fatturate al secondo con una durata minima di un minuto per impostazione predefinita. Puoi attivare la scalabilità fluida di BigQuery a livello di prenotazione per la fatturazione al secondo senza durata minima. Inoltre, gli slot inattivi possono essere condivisi tra le prenotazioni.

Assegnazioni delle prenotazioni

Per utilizzare gli slot allocati in una prenotazione, devi assegnarli a uno o più progetti, cartelle o organizzazioni. Quando un job viene eseguito in un progetto, utilizza gli slot della prenotazione assegnata. Le risorse possono ereditare le assegnazioni dalla risorsa principale nella gerarchia delle risorseGoogle Cloud . Se un progetto non è assegnato a una prenotazione, eredita l'assegnazione della cartella o dell'organizzazione padre, se esiste.

I progetti utilizzano la singola prenotazione più specifica nella gerarchia delle risorse a cui sono assegnati. Un'assegnazione a livello di cartella sostituisce un'assegnazione a livello di organizzazione e un'assegnazione a livello di progetto sostituisce un'assegnazione a livello di cartella.

Se un progetto non ha una prenotazione assegnata o ereditata, il job utilizza i prezzi on demand. Per saperne di più sull'organizzazione delle risorse BigQuery, consulta Introduzione alla gerarchia delle risorse.

Le risorse possono essere assegnate a None per rappresentare l'assenza di un'assegnazione. 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 disattivare determinati progetti o cartelle da quella prenotazione. Per saperne di più, consulta Assegna un progetto a None.

Quando crei un'assegnazione, specifichi il tipo di prestazione per l'assegnazione:

  • QUERY: utilizza questa prenotazione per i job di query non continui, tra cui query SQL, DDL, DML e BigQuery ML (modelli integrati).

  • AUTOMATIC_MATERIALIZED_VIEW_REFRESH: utilizza questa prenotazione per i job di aggiornamento vista materializzata materializzate.

  • BACKGROUND_CHANGE_DATA_CAPTURE: utilizza questa prenotazione quando scegli di utilizzare la tua prenotazione per eseguire i job in background di importazione CDC di BigQuery. Le prenotazioni BACKGROUND_CHANGE_DATA_CAPTURE non sono disponibili nella versione Standard.

  • BACKGROUND_COLUMN_METADATA_INDEX: utilizza questa prenotazione quando scegli di utilizzare la tua prenotazione per eseguire i job in background di memorizzazione nella cache 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 prenotazioni BACKGROUND_COLUMN_METADATA_INDEX non sono disponibili nella versione Standard.

  • BACKGROUND_SEARCH_INDEX_REFRESH: utilizza questa prenotazione quando scegli di utilizzare la tua prenotazione per eseguire i job in background di gestione dell'indice di ricerca BigQuery. Le prenotazioni BACKGROUND_SEARCH_INDEX_REFRESH non sono disponibili nella versione Standard.

  • BACKGROUND: utilizza questa prenotazione quando scegli di utilizzare la tua prenotazione per replicare i database di origine in BigQuery con le operazioni di applicazione in background di Datastream. Questa prenotazione verrà utilizzata anche per i job descritti da BACKGROUND_CHANGE_DATA_CAPTURE, BACKGROUND_COLUMN_METADATA_INDEX e BACKGROUND_SEARCH_INDEX_REFRESH come riserva se non esiste una prenotazione più specifica per questi tipi di job. Le prenotazioni BACKGROUND non sono disponibili nella versione Standard.

  • CONTINUOUS: utilizza questa prenotazione per i job di query continua.

  • ML_EXTERNAL: utilizza questa prenotazione per le query BigQuery ML CREATE MODEL che utilizzano servizi esterni a BigQuery. Per saperne di più, consulta Assegna slot ai workload di BigQuery ML. Le prenotazioni ML_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 senza costi e utilizzano un pool di slot condiviso. BigQuery non garantisce la disponibilità della capacità per questo pool condiviso o il throughput che vedi. Se carichi grandi quantità di dati, il job potrebbe attendere che gli slot diventino disponibili.

    Quando i job di caricamento ed estrazione vengono assegnati a una prenotazione, perdono l'accesso al pool senza costi. Devi monitorare l'utilizzo delle risorse e i job per assicurarti che le prenotazioni abbiano una capacità sufficiente per soddisfare i tempi di durata dei job richiesti.

Non puoi assegnare singoli slot a compiti specifici. Lo scheduler di BigQuery gestisce l'allocazione degli slot per i job utilizzando una prenotazione. Per saperne di più su come vengono utilizzati gli slot, consulta Pianificazione equa in BigQuery.

Assegna le prenotazioni in modo flessibile

BigQuery ti consente di specificare la prenotazione su cui deve essere eseguita una query in fase di runtime. In questo modo, hai un maggiore controllo sull'allocazione delle risorse ed eviti di creare progetti non necessari. Puoi specificare una prenotazione in fase di runtime utilizzando l'CLI, l'interfaccia utente, SQL o l'API, eseguendo l'override dell'assegnazione della prenotazione predefinita per il progetto, la cartella o l'organizzazione. La prenotazione assegnata deve trovarsi nella stessa regione della query che stai eseguendo. Queste assegnazioni sono supportate in tutte le versioni.

Per utilizzare la prenotazione quando esegui la query, devi disporre dell'accesso alla prenotazione.

Se la versione della prenotazione assegnata predefinita è Enterprise Plus, può essere sostituita solo con una prenotazione Enterprise Plus.

Per assegnare le prenotazioni in modo flessibile, esegui una query interattiva e specifica la prenotazione.

Combina le prenotazioni con la fatturazione on demand

Puoi utilizzare la fatturazione basata 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 slot nella multi-regione degli Stati Uniti e assegni la tua organizzazione alla prenotazione predefinita, la tua organizzazione utilizzerà la fatturazione basata sulla capacità nella multi-regione degli Stati Uniti, ma rimarrà con la fatturazione on demand in tutte le altre regioni.

All'interno di una regione, puoi combinare la fatturazione basata sulla capacità e quella on demand assegnando esplicitamente i progetti a una prenotazione. I progetti non assegnati a una prenotazione rimangono con la fatturazione on demand. Puoi anche assegnare esplicitamente un progetto per utilizzare 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 saperne di più, consulta Assegna un progetto a Nessuno.

I progetti con fatturazione on demand utilizzano una capacità separata da quella impegnata. Questi progetti non influiscono sulla disponibilità della capacità impegnata. Se esegui query sui dati nel buffer di flussi, i job on demand non vengono addebitati per i byte elaborati dal buffer di flussi, ma i job in esecuzione in una prenotazione utilizzano gli slot per elaborare questi byte.

Specifica 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 ed è l'origine principale della 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 come bq-COMPANY_NAME-admin. Quindi, crea uno o più progetti separati per contenere i 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 gli slot impegnati. I progetti che utilizzano gli slot vengono fatturati per lo spazio di 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. In questo modo, la gestione della fatturazione e l'allocazione degli slot vengono semplificate. Se possibile, è consigliabile utilizzare 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 slot a diversi insiemi di prenotazioni.

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

Nella pagina Gestione dei workload della console BigQuery Google Cloud , puoi visualizzare le prenotazioni e gli impegni solo per il progetto amministrativo selezionato.

Limiti dei progetti e policy di pianificazione

Per richiedere assistenza o fornire un feedback su questa funzionalità, contatta bigquery-wlm-feedback@google.com.

I limiti dei progetti (noti anche come policy di pianificazione) consentono di personalizzare il comportamento predefinito della pianificazione equa impostando limiti di utilizzo e contemporaneità per i progetti che utilizzano una prenotazione. Questi limiti impediscono ai progetti di consumare un numero eccessivo di slot, anche se sono idonei per una maggiore capacità in base alla pianificazione equa.

Puoi impostare i limiti dei progetti come limiti predefiniti a livello di prenotazione, che si applicano a qualsiasi progetto che utilizza la prenotazione, a meno che non venga eseguito l'override. In alternativa, puoi configurare i limiti dei progetti come override specifici per i progetti per i singoli progetti.

Sono supportati i seguenti tipi di limiti di progetto:

  • Slot massimi: limita il consumo di slot delle query in esecuzione per il progetto assegnatario all'interno della prenotazione. Il valore minimo consentito è 100. Non si tratta di un limite rigido, ma di un limite approssimativo.
  • Contemporaneità massima:limita il numero di query simultanee consentite per il progetto assegnatario all'interno della prenotazione.

    Il limite di contemporaneità viene applicato solo al momento dell'ammissione della query e non causa l'annullamento delle query in esecuzione. Se riduci il limite di contemporaneità al di sotto del numero attuale di query in esecuzione, le nuove query vengono messe in coda fino al completamento di un numero sufficiente di query in esecuzione.

La modifica di queste impostazioni presenta le seguenti limitazioni:

  • L'applicazione delle modifiche richiede fino a un minuto.
  • La modifica di un override del numero massimo di slot per progetto richiede l'avvio di una nuova query prima di avere effetto.

Per saperne di più sulla configurazione di queste policy, consulta Gestisci le assegnazioni dei workload e Gestisci le prenotazioni dei workload.

Dimensionamento delle prenotazioni di slot

BigQuery è progettato per scalare in modo lineare con l'aumento delle risorse. A seconda del workload, è probabile che la capacità incrementale offra prestazioni incrementali. Tuttavia, l'aggiunta di capacità aumenta anche i costi. Pertanto, la scelta del numero ottimale di slot da acquistare dipende dai requisiti di prestazioni, throughput e utilità.

Quando aggiungi slot di base o aumenti i limiti di scalabilità automatica, lo scheduler di BigQuery assegna più slot alle singole query per massimizzare il parallelismo. Sebdefi questo riduca il tempo di esecuzione delle query, l'overhead dei worker simultanei può causare l'aumento del tempo di slot totale (total_slot_ms) consumato da una query.

Puoi sperimentare con gli slot di base e con scalabilità automatica per determinare la configurazione migliore degli slot. Ad esempio, puoi testare il tuo workload con 500 slot di base, poi 1000, 1500 e 2000 e osservare l'impatto sulle prestazioni.

Se nella regione in cui vengono testate le prestazioni sono disponibili slot inattivi, una prenotazione potrebbe soddisfare le prestazioni con meno slot del previsto. Questo accade perché la prenotazione ha utilizzato gli slot inattivi per soddisfare i requisiti degli slot del workload. Se la disponibilità di slot inattivi diminuisce a causa di modifiche al workload in altre prenotazioni, le prestazioni del workload potrebbero peggiorare. Pertanto, per i workload a livello di produzione con limiti di tempo, assicurati che la prenotazione sia autosufficiente in termini di capacità degli slot. In questo modo, le modifiche agli slot inattivi non influiscono direttamente sulle prestazioni dei job.

Dopo aver allocato gli slot ed eseguito i workload per almeno sette giorni, puoi utilizzare lo strumento di stima degli slot per analizzare le prestazioni e modellare l'effetto dell'aggiunta o della riduzione degli slot.

Puoi anche esaminare l'utilizzo attuale degli slot dei tuoi progetti, insieme al prezzo mensile scelto che vuoi pagare. I workload on demand hanno un limite di slot flessibile di 2000 slot, ma è importante verificare quanti slot vengono effettivamente utilizzati dai tuoi progetti utilizzando le viste INFORMATION_SCHEMA.JOBS*, Cloud Logging, l'API Jobs o gli audit log di BigQuery. Per saperne di più, consulta Monitora le prenotazioni.

Cronologia dell'utilizzo degli slot.

Gestisci i workload utilizzando le prenotazioni

Puoi utilizzare le prenotazioni BigQuery per allocare la capacità tra workload, team o reparti creando prenotazioni aggiuntive e assegnando progetti a queste prenotazioni. Una prenotazione è un pool di risorse isolato con l'ulteriore vantaggio di poter sfruttare la capacità inattiva in una determinata regione della tua organizzazione.

Ad esempio, potresti avere una capacità impegnata totale di 1000 slot e tre tipi di workload: 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 workload ELT alla prenotazione elt.
  • Puoi creare una prenotazione bi con 200 slot e assegnare i progetti collegati ai tuoi strumenti di BI alla prenotazione bi.

Eliminazione degli impegni.

Anziché suddividere la capacità tra i tipi di workload, puoi scegliere di creare prenotazioni per singoli team o reparti. Con la scalabilità automatica, puoi isolare i workload in più prenotazioni, garantendo una gestione più flessibile e granulare.

Gestisci le prenotazioni in regioni diverse

Le prenotazioni sono risorse di regione. Gli slot acquistati e le prenotazioni create in una regione non possono essere utilizzati in nessun'altra regione. I progetti, le cartelle e le organizzazioni possono essere assegnati alle prenotazioni in una regione ed essere eseguiti on demand in un'altra. Per gestire le prenotazioni in un'altra regione, devi modificare la regione nella pagina Gestione dei workload 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.

Gestisci le prenotazioni in organizzazioni complesse

Le prenotazioni sono risorse con ambito a livello di organizzazione. Quando crei le prenotazioni, puoi assegnare la capacità a qualsiasi progetto all'interno della stessa organizzazione Google Cloud. 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 addebitato il costo della capacità.

Tuttavia, se hai un'organizzazione complessa con più divisioni che gestiscono le proprie fatture, potresti voler utilizzare più progetti di amministrazione. Tieni presente che gli slot inattivi possono essere condivisi solo tra le prenotazioni create nello stesso progetto amministratore. 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, quindi gestire le prenotazioni e gli impegni per ogni organizzazione nel progetto di amministrazione correlato. Non puoi condividere la capacità tra organizzazioni.

Gestisci il controllo avanzato sulle prenotazioni

Le prenotazioni in BigQuery offrono un maggiore controllo su come vengono utilizzate e forniscono funzionalità di sicurezza aggiuntive. Puoi definire policy che specificano quali utenti o gruppi possono accedere e utilizzare prenotazioni specifiche. In questo modo, i dati e i workload sensibili vengono isolati e protetti. In qualità di amministratore delle prenotazioni, puoi controllare con precisione quali utenti o service account (entità) sono autorizzati a utilizzare prenotazioni specifiche. Per farlo, utilizza le condizioni IAM applicate al progetto amministrativo (il progetto in cui vengono gestite le prenotazioni).

Ad esempio, puoi creare una condizione IAM che conceda l'autorizzazione reservations.use a un gruppo specifico di utenti per tutte le prenotazioni i cui nomi iniziano con un determinato prefisso. In questo modo puoi gestire l'accesso a insiemi di prenotazioni correlate.

Gli utenti devono disporre dell'autorizzazione reservations.use per eseguire l'override della prenotazione predefinita per il proprio job o forzare l'esecuzione del job on demand quando esiste già un'assegnazione della prenotazione per il progetto. I ruoli roles/bigquery.resourceAdmin e roles/bigquery.resourceEditor forniscono questa autorizzazione. Puoi concedere l'accesso a singoli utenti, gruppi o service account. Puoi anche definire policy basate su attributi della prenotazione come il nome, poiché le condizioni IAM supportano il controllo dell'accesso basato sugli attributi.

Per concedere condizioni IAM sulle prenotazioni, consulta Controlla l'accesso alle prenotazioni.

Impegni slot

Un impegno slot è un acquisto di slot per un periodo di tempo specificato. Puoi acquistare slot in incrementi di 50 slot, fino alla tua quota di slot regionale. Gli impegni di capacità sono facoltativi, ma possono consentire di risparmiare sui costi per i workload in stato stabile. Gli impegni slot vengono utilizzati per coprire gli slot di riferimento per le tue prenotazioni. La capacità degli slot inutilizzati viene quindi condivisa come slot inattivi tra le altre prenotazioni. Gli impegni slot non si applicano agli slot con scalabilità automatica. Per assicurarti di ricevere la tariffa scontata per gli slot prenotati, assicurati che gli impegni di slot siano sufficienti per coprire gli slot di base. Non esiste un limite al numero di impegni che puoi creare. L'addebito viene effettuato dal momento in cui l'acquisto dell'impegno viene completato correttamente. Per informazioni sui prezzi attuali, consulta Prezzi degli impegni di capacità.

  • Impegno annuale. Acquisti un impegno di 365 giorni. Puoi scegliere se rinnovare o convertire in un tipo diverso di piano di impegno dopo 365 giorni.

  • Impegno di tre anni. Acquisti un impegno di tre anni. Puoi scegliere se rinnovare o convertire in un tipo diverso di piano con impegno dopo 3 anni (1095 giorni).

Al termine del periodo di impegno, l'impegno verrà rinnovato in base al piano di rinnovo selezionato.

L'addebito per i piani di impegno annuale o triennale avviene mensilmente. Tuttavia, l'impegno finanziario è per l'intero periodo di impegno e non può essere annullato su base mensile. L'utilizzo viene aggiornato quotidianamente nel report sulla fatturazione, che puoi visualizzare in qualsiasi momento.

Gli impegni slot sono soggetti alla disponibilità della capacità. Quando tenti di acquistare impegni per gli slot, l'esito positivo dell'acquisto non è garantito. Tuttavia, una volta che l'acquisto dell'impegno è andato a buon fine, la capacità è disponibile fino alla scadenza dell'impegno.

Se acquisti impegni di slot prima di creare una prenotazione, viene creata automaticamente una prenotazione denominata default per comodità. La prenotazione default non ha un comportamento speciale. Se necessario, puoi creare prenotazioni aggiuntive o utilizzare quella predefinita.

Ti consigliamo di assegnare una baseline diversa da zero alle prenotazioni per ottenere prestazioni e capacità iniziale più prevedibili. Sebbene sia possibile configurare una prenotazione con zero slot di base e impostare una capacità massima con l'intenzione di utilizzare le funzionalità di scalabilità automatica, l'efficacia di questo approccio dipende interamente dall'attivazione corretta della scalabilità automatica e dall'acquisizione attiva degli slot. Se la scalabilità automatica non funziona in modo efficace per una prenotazione con base di riferimento pari a zero, torna a dipendere esclusivamente dalla capacità degli slot inattivi disponibili, che non offre alcuna garanzia di prestazioni e può portare a velocità di query imprevedibili o ridotte.

Rinnova gli impegni

Selezioni un piano di rinnovo quando acquisti un impegno. Puoi modificare il piano di rinnovo di un impegno in qualsiasi momento fino alla 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 Crea un impegno di capacità.

Ad esempio, se hai acquistato un impegno annuale alle 18:00 del 5 ottobre 2019, l'addebito è iniziato in quel momento. Puoi eliminare o rinnovare l'impegno dopo le 18:00 del 4 ottobre 2020, tenendo presente che il 2020 è un anno bisestile. Puoi modificare i piani di rinnovo prima delle 18:00 del 4 ottobre 2020 come segue:

  • Se scegli di rinnovare l'impegno annuale, alle 18:00 del 4 ottobre 2020 l'impegno viene rinnovato per un altro anno.
  • Se scegli di rinnovare l'impegno per tre anni, alle 18:00 del 4 ottobre 2020 l'impegno viene 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 circa del 4 ottobre 2020. Durante questo periodo di aggiornamento dei dati non vengono applicati addebiti on demand, poiché l'ora di inizio effettiva dell'impegno creato è le 18:00.

Scadenza dell'impegno

Non puoi eliminare un impegno dopo averlo creato. Per eliminare un impegno annuale o triennale, imposta il piano di rinnovo su NONE. Una volta scaduto, l'impegno viene eliminato automaticamente. Per scoprire di più sulle scadenze degli impegni, consulta Scadenza degli impegni.

Se acquisti accidentalmente un impegno o commetti un errore durante la configurazione, contatta l'assistenza clienti Google Cloud per ricevere aiuto.

Limitazioni delle prenotazioni

  • Le prenotazioni di un'organizzazione non possono essere condivise con altre organizzazioni.
  • Devi utilizzare prenotazioni e progetti di amministrazione separati per ogni organizzazione.
  • Ogni organizzazione può avere un massimo di 10 progetti di amministrazione con prenotazioni attive in un'unica località.
  • La capacità inattiva non può essere condivisa tra organizzazioni o tra progetti di amministrazione diversi all'interno di una singola organizzazione.
  • La capacità inattiva non può essere condivisa tra regioni diverse.
  • Gli impegni e le prenotazioni sono risorse di regione. Gli impegni acquistati in una regione o in una multiregione non possono essere utilizzati per le prenotazioni in altre regioni o in altre multiregioni, anche se la località della singola regione è collocata nella stessa posizione della località multiregionale. Ad esempio, non puoi utilizzare un impegno acquistato nella multi-regione EU per una prenotazione in europe-west4.
  • Gli impegni e le prenotazioni non possono essere spostati da una regione o da una multiregione a un'altra.
  • Gli impegni acquistati in un progetto di amministrazione non possono essere spostati in un altro progetto di amministrazione.
  • Gli impegni acquistati con una versione non possono essere utilizzati con le prenotazioni di un'altra versione.
  • Gli slot inattivi non vengono condivisi tra prenotazioni di versioni diverse.
  • Gli slot con scalabilità automatica non sono condivisibili, in quanto fanno fare lo scale down quando non sono più necessari.

Prevedibilità delle prenotazioni

Per utilizzare la prevedibilità delle prenotazioni, devi prima attivare l'equità delle prenotazioni.

La prevedibilità delle prenotazioni ti consente di impostare il numero massimo assoluto di slot utilizzati in una prenotazione. BigQuery offre slot di base, slot inattivi e slot con scalabilità automatica come potenziali risorse di capacità. Quando crei una prenotazione con una dimensione massima, conferma il numero di slot di riferimento e la configurazione appropriata della scalabilità automatica e degli slot inattivi in base ai tuoi workload precedenti.

Per attivare la prevedibilità delle prenotazioni, devi impostare il valore sia degli slot massimi sia della modalità di scalabilità nella prenotazione. Il numero di slot massimi deve essere un numero positivo e maggiore del numero di slot di riferimento assegnati alla prenotazione. Per scoprire di più sull'utilizzo della prevedibilità delle prenotazioni, consulta Crea una prenotazione con slot dedicati. Non puoi configurare il valore per autoscale_max_slots quando imposti il valore massimo degli slot nella prenotazione.

Il valore di ignore_idle_slots deve essere in linea con la modalità di scalabilità. Se la modalità di scalabilità è ALL_SLOTS o IDLE_SLOTS_ONLY, ignore_idle_slots deve essere false. Se la modalità di scalabilità è AUTOSCALE_ONLY, ignore_idle_slots deve essere true.

Puoi configurare le prenotazioni in modo che utilizzino solo le seguenti combinazioni di risorse di capacità fino al limite massimo definito:

  • Slot di riferimento + slot inattivi: la capacità degli slot di prenotazione è maggiore di zero e la modalità di scalabilità è IDLE_SLOTS_ONLY. La prenotazione consuma il numero configurato di slot di base e di slot inattivi disponibili fino al numero massimo di slot. La prenotazione potrebbe non raggiungere il numero massimo se non sono disponibili slot inattivi sufficienti.

  • Slot di riferimento + slot inattivi + slot con scalabilità automatica: la capacità degli slot di prenotazione è maggiore di zero e la modalità di scalabilità è ALL_SLOTS. La prenotazione utilizza prima il numero configurato di slot di riferimento, poi tutti gli slot inattivi disponibili e infine gli slot con scalabilità automatica.

  • Slot di riferimento + slot con scalabilità automatica: la capacità degli slot di prenotazione è maggiore di zero e la modalità di scalabilità è AUTOSCALE_ONLY. La prenotazione consuma prima gli slot di riferimento configurati, poi gli slot di scalabilità automatica.

  • Slot inattivi + slot con scalabilità automatica: la capacità degli slot di prenotazione è pari a zero e la modalità di scalabilità è ALL_SLOTS. La prenotazione utilizza prima tutti gli slot inattivi disponibili, poi gli slot con scalabilità automatica.

  • Slot inattivi: la capacità degli slot di prenotazione è pari a zero e la modalità di scalabilità è IDLE_SLOTS_ONLY. La prenotazione consuma tutti gli slot inattivi disponibili fino al valore massimo configurato. La prenotazione potrebbe non raggiungere il numero massimo se non sono disponibili slot inattivi sufficienti.

Il seguente diagramma mostra le diverse opzioni di configurazione disponibili:

Opzioni di configurazione della prenotazione prevedibili.

Nel diagramma, le cinque opzioni di configurazione mostrano in che modo BigQuery utilizza gli slot fino al massimo configurato. Le prime tre opzioni contengono slot di riferimento, mentre le altre non hanno slot di riferimento configurati.

Limitazioni

La prevedibilità delle prenotazioni è soggetta alle seguenti limitazioni:

  • La prevedibilità delle prenotazioni è disponibile solo con le versioni Enterprise ed Enterprise Plus, a meno che non scegli l'opzione AUTOSCALE_ONLY.

  • La prevedibilità delle prenotazioni è "best effort". L'utilizzo complessivo potrebbe comunque superare il valore massimo configurato.

Passaggi successivi

Gruppi di prenotazioni

Per utilizzare i gruppi di prenotazioni, devi prima attivare l'equità delle prenotazioni.

I gruppi di prenotazioni ti consentono di gestire le proprietà di più prenotazioni, in modo simile a come i set di dati organizzano le tabelle.

Le prenotazioni con lo stesso gruppo di prenotazioni condivideranno gli slot inattivi tra loro prima di essere disponibili per l'organizzazione:

Gruppi di prenotazioni.

Condivisione degli slot inattivi con i gruppi di prenotazioni

Gli slot inattivi vengono distribuiti in modo uniforme tra le prenotazioni non raggruppate e i gruppi di prenotazioni, quindi in modo uniforme all'interno dei gruppi di prenotazioni.

Nell'esempio seguente sono presenti tre prenotazioni e 1200 slot inattivi. Senza gruppi di prenotazioni, ogni prenotazione ha una quota equa di 400 slot inattivi. Quando le prenotazioni 1 e 2 vengono raggruppate, la distribuzione degli slot inattivi cambia. Gli slot inattivi vengono prima distribuiti equamente tra il gruppo di prenotazioni e la prenotazione 3 (600 slot inattivi per entrambi). Quindi, i 600 slot inattivi per il gruppo di prenotazioni vengono distribuiti equamente tra la prenotazione 1 e la prenotazione 2.

Condivisione degli slot inattivi dei gruppi di prenotazioni.

Limitazioni

I gruppi di prenotazioni sono soggetti alle seguenti limitazioni:

  • Le prenotazioni che condividono un gruppo di prenotazioni devono appartenere allo stesso progetto e alla stessa regione.

  • L'equità basata sulla prenotazione deve essere abilitata nel progetto.

  • Le prenotazioni all'interno di un gruppo devono avere la stessa versione.

  • Non puoi combinare prenotazioni con e senza configurazioni di disaster recovery gestito nello stesso gruppo. Il ripristino di emergenza deve essere configurato o disattivato per tutte le prenotazioni del gruppo.

  • Se il ripristino di emergenza è abilitato per le prenotazioni di un gruppo, tutte le prenotazioni devono utilizzare la stessa coppia di regioni per le località principali e secondarie.

Per scoprire di più sull'utilizzo dei gruppi di prenotazioni, consulta Assegna la priorità agli slot inattivi con i gruppi di prenotazioni.

Risolvi i problemi relativi alle prenotazioni

Utilizza le seguenti informazioni per risolvere i problemi comuni relativi alle prenotazioni, ad esempio gli errori durante l'aggiunta di slot, il motivo per cui una prenotazione non viene utilizzata per un job BigQuery o le prenotazioni non riconosciute.

Impossibile aggiungere altri slot alla dimensione della prenotazione

Se riscontri errori come Failed to allocate slots for reservation in the current system state o Failed to update reservation: Failed to allocate slots for reservation mentre provi ad aggiungere altri slot alla prenotazione, di solito si tratta di un problema temporaneo. Per mitigare il problema, segui questi passaggi:

  • Riprova con un numero inferiore di slot.
  • Se il tentativo con un numero inferiore di slot non va a buon fine, attendi 15 minuti e riprova l'operazione.

Se dopo aver riprovato più volte e aver atteso 30 minuti ricevi ancora lo stesso errore, contatta l'assistenza clienti Google Cloud.

La quota non è sufficiente per completare questa richiesta

Se il messaggio di errore indica There is insufficient quota to complete this request, la richiesta supera il limite di quota impostato per il progetto.

Per risolvere questo errore, esegui una delle seguenti operazioni:

  • Aggiungi un numero inferiore di slot alla prenotazione in modo che la richiesta non superi il limite di quota.
  • Richiedi un aumento della quota nella regione corrispondente. Per saperne di più, consulta Richiedi un aumento della quota.

Prenotazione non utilizzata da BigQuery per eseguire un job

Esistono diversi scenari in cui un job potrebbe essere eseguito utilizzando i prezzi on demand o un pool di slot condiviso senza costi anziché la prenotazione che hai creato.

La query e la prenotazione si trovano in regioni diverse

Le prenotazioni sono risorse di regione. Una query viene eseguita nella stessa località delle tabelle a cui fa riferimento.

Se la località di una tabella non corrisponde a quella della prenotazione, la query non utilizza la prenotazione, ma viene eseguita utilizzando i prezzi on demand (o il pool di slot condivisi senza costi per i job di caricamento ed esportazione batch idonei).

Esecuzione di query sulle tabelle BigQuery Omni

Quando esegui una query su una tabella BigQuery Omni, assicurati di creare la prenotazione nella stessa regione della tabella, non in una regione collocata. Se crei la prenotazione nella regione BigQuery in cui si trova il set di dati, la query viene eseguita utilizzando i prezzi on demand.

La prenotazione è stata creata, ma il progetto non è stato assegnato

Per utilizzare gli slot in una prenotazione, devi creare un'assegnazione che assegni il progetto, la cartella o l'organizzazione alla prenotazione specifica. Assicurati che il progetto abbia un'assegnazione corrispondente per la prenotazione.

Mancata corrispondenza del tipo di prestazione

Assicurati di selezionare il tipo di prestazione corretto durante la creazione di un'assegnazione, altrimenti i job non utilizzeranno la prenotazione.

Ad esempio, se selezioni PIPELINE come tipo di prestazione, tutti i job di query vengono eseguiti utilizzando i prezzi on demand. Cambia il tipo di assegnazione in QUERY per eseguire i job di query utilizzando la prenotazione.

Query con più istruzioni

Se esegui query con più istruzioni, all'oggetto job principale non è associata una prenotazione, anche se i job secondari vengono eseguiti nell'ambito di una prenotazione.

Per verificare se il job ha effettivamente utilizzato una prenotazione, controlla i metadati del job secondario.

Recupero dei risultati memorizzati nella cache

Quando un job di query recupera i risultati memorizzati nella cache, il campo della prenotazione è vuoto perché BigQuery non esegue alcun calcolo e recupera i risultati direttamente dalla tabella temporanea.

Operazioni di modifica delle righe di Change Data Capture

Se hai tabelle di Change Data Capture (CDC), BigQuery applica le modifiche alle righe in attesa entro l'intervallo max_staleness come job in background che utilizzano il tipo di assegnazione BACKGROUND. Se non sono presenti assegnazioni BACKGROUND, questi job utilizzano i prezzi on demand. Ti consigliamo di creare un'assegnazione BACKGROUND per il progetto per evitare costi on demand imprevisti. Puoi identificare questi job dalla sottostringa queueworker_cdc_background_merge_coalesce nell'identificatore del job.

Tipi di modelli BigQuery ML che utilizzano servizi esterni

Se nel progetto non viene trovata alcuna assegnazione di prenotazione con un tipo di prestazione ML_EXTERNAL, i job di creazione di modelli esterni vengono eseguiti utilizzando i prezzi on demand. L'assegnazione del tipo di job QUERY si applica ai modelli BigQuery ML standard e ai modelli di fattorizzazione matriciale (che richiedono una prenotazione della versione Enterprise o Enterprise Plus), mentre i modelli esterni richiedono un'assegnazione ML_EXTERNAL. Per saperne di più, consulta Assegna slot ai workload BigQuery.

Prenotazioni non riconosciute identificate nel progetto

BigQuery possiede prenotazioni che rappresentano un pool di slot condivisi senza costi per determinate operazioni in BigQuery.

default-pipeline

Per impostazione predefinita, il caricamento o l'esportazione in batch dei dati in BigQuery utilizza un pool di slot condivisi senza costi. Quando esamini questi job di caricamento o estrazione, il campo della prenotazione mostra default-pipeline.

Non sono previsti costi per l'utilizzo del pool di slot condiviso. Se vuoi prestazioni coerenti e prevedibili, valuta l'acquisto di una prenotazione PIPELINE.