Introduzione alle prenotazioni precedenti
Le prenotazioni di BigQuery ti consentono di passare dai prezzi on demand ai prezzi basati sulla capacità. Con i prezzi basati sulla capacità, paghi per una query dedicata o con scalabilità automatica anziché pagare singolarmente per ogni query.
Le prenotazioni ti consentono di allocare la capacità di query, misurata in slot, a carichi di lavoro diversi o a parti diverse dell'organizzazione.
La creazione di un impegno di capacità è facoltativa quando si utilizzano prenotazioni che sfruttano le versioni di BigQuery, ma può far risparmiare sui costi per i carichi di lavoro in stato stazionario.
Panoramica
BigQuery offre due modelli di prezzo per il calcolo (l'analisi):
Prezzi on demand: paga i dati analizzati dalle query. Hai una capacità di elaborazione delle query fissa per progetto e il costo si basa sul numero di byte elaborati da ogni query.
Prezzi basati sulla capacità: Paghi per la capacità di elaborazione delle query dedicata o con scalabilità automatica, misurata in slot, in un determinato periodo di tempo. Condivisione di più query la stessa capacità di slot.
Per impostazione predefinita, la fatturazione viene effettuata in base al modello di determinazione dei prezzi on demand. Utilizzo puoi passare ai prezzi basati sulla capacità usano la scalabilità automatica degli slot e acquistano impegni per la capacità scontati. C'è senza costi aggiuntivi per i byte elaborati quando si utilizza il modello basato sulla capacità.
Puoi combinare entrambi i modelli di fatturazione. Ad esempio, potresti eseguire alcuni carichi di lavoro con prezzi on demand e altri con prezzi basati sulla capacità. Poiché il modello di fatturazione è specificato per progetto, dovrai utilizzare più progetti per i job di query.
Vantaggi delle prenotazioni
I vantaggi dell'utilizzo delle prenotazioni di BigQuery includono:
Prevedibilità. I prezzi basati sulla capacità offrono costi prevedibili e coerenti. Puoi specificare in anticipo il budget massimo per i costi e usufruire anche degli impegni per gli slot, che offrono una capacità continua dedicata a una tariffa scontata.
Flessibilità. Puoi scegliere la capacità dedicata da allocare carico di lavoro o lascia che sia BigQuery a scalare automaticamente in base ai requisiti dei carichi di lavoro. La fatturazione viene effettuata in base agli slot consumati con incrementi minimi di un secondo.
Gestione del carico di lavoro. Ogni carico di lavoro ha un pool specificato di BigQuery e le risorse di calcolo disponibili. Allo stesso tempo, se un carico di lavoro non utilizza tutte le sue aree dedicate; le eventuali aree inutilizzate vengono condivise automaticamente in tutti gli altri carichi di lavoro.
Acquisto centralizzato: puoi acquistare e allocare slot per il tuo dell'intera organizzazione. Non è necessario acquistare slot per ogni progetto che utilizza BigQuery.
Prenotazioni
La capacità di BigQuery viene misurata in slot, che rappresentano le CPU virtuali utilizzate dalle query. In genere, se esegui il provisioning di più slot, puoi eseguire più query contemporaneamente e le query complesse possono essere eseguite più velocemente.
Gli slot vengono allocati in pool chiamati prenotazioni. Le prenotazioni ti consentono di allocare gli slot 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 questo modo, i job di test non competono per le risorse necessarie ai carichi di lavoro di produzione. Oppure
puoi creare prenotazioni per diversi reparti dell'organizzazione.
Le prenotazioni possono includere slot di base di riferimento, che sono sempre allocati, nonché come slot con scalabilità automatica, che vengono aggiunti o rimossi in modo dinamico. in base alle esigenze del tuo carico di lavoro.
Se acquisti impegni per gli slot prima di creare una prenotazione, viene creata automaticamente una prenotazione denominata default
. Non c'è niente di speciale in
Prenotazione default
: viene creata per praticità. Puoi decidere se hai bisogno di prenotazioni aggiuntive o se utilizzare semplicemente la prenotazione predefinita.
Per utilizzare gli slot allocati, devi assegnare uno o più progetti a una prenotazione, come descritto nella sezione successiva.
Una prenotazione è il livello più basso a cui puoi specificare l'allocazione degli slot. Allocazione degli slot all'interno di una prenotazione è gestito dallo scheduler di BigQuery.
Compiti
Per utilizzare gli slot allocati, devi assegnare a una prenotazione uno o più progetti, cartelle o organizzazioni. Ogni livello della gerarchia delle risorse eredita l'assegnazione dal livello superiore. In altre parole, se un progetto o un progetto cartella non viene assegnata, il progetto o la cartella eredita l'assegnazione alla relativa cartella o organizzazione padre, se presente. Per ulteriori informazioni sulla gerarchia delle risorse, consulta Organizzare le risorse BigQuery.
Quando un job viene avviato da un progetto assegnato a una prenotazione, utilizza gli slot di quella prenotazione. Se un progetto non è assegnato a una prenotazione (direttamente o tramite ereditarietà dalla cartella o dall'organizzazione principale), per i job in quel progetto usano i prezzi on demand.
None
compiti rappresentano l'assenza di un compito. I progetti assegnati a
None
utilizzano i prezzi on demand. Il caso d'uso più comune per le assegnazioni a None
è assegnare un'organizzazione alla prenotazione e disattivare alcuni progetti o alcune cartelle da quella prenotazione assegnandole a None
. Per ulteriori informazioni, consulta Assegnare un progetto a Nessuno.
Quando crei un compito, specifichi il tipo di job per quel compito:
QUERY
: utilizza questa prenotazione per i job di query, tra cui query SQL, DDL, DML e BigQuery ML.PIPELINE
: utilizza questa prenotazione per i job di caricamento ed estrazione.Per impostazione predefinita, i job di caricamento ed estrazione sono gratuiti e usano un pool condiviso di slot. BigQuery non offre garanzie sulla capacità disponibile di questo pool condiviso o sulla velocità effettiva visualizzata. Se carichi grandi quantità di dati, il job potrebbe attendere che gli slot diventino disponibili. In questo caso, ti consigliamo di acquistare slot dedicati e di assegnarvi i job della pipeline. Ti consigliamo di creare un'ulteriore prenotazione dedicata con condivisione degli slot inattivi disabilitata.
Quando i job di caricamento vengono assegnati a una prenotazione, perdono l'accesso piscina. Monitora il rendimento per assicurarti che i job abbiano una capacità sufficiente. In caso contrario, le prestazioni potrebbero essere peggiori rispetto all'utilizzo del pool gratuito.
BACKGROUND
: usa questa prenotazione se scegli di usare la tua prenotazione il tuo indice di BigQuery Search job di gestione o BigQuery Change Data Capture (CDC) job in background. Utilizza questa prenotazione anche quando replichi i database di origine in BigQuery con le operazioni di applicazione in background di Datastream. Le prenotazioni diBACKGROUND
non sono disponibili nella versione Standard.ML_EXTERNAL
: utilizza questa prenotazione per le query BigQuery ML che utilizzano servizi esterni a BigQuery. Per ulteriori informazioni, consulta Assegnare slot ai carichi di lavoro BigQuery ML.ML_EXTERNAL
e le prenotazioni non sono disponibili nella versione Standard.
Non puoi assegnare gli slot a compiti specifici. Il programmatore BigQuery gestisce l'allocazione degli slot per le assegnazioni in una prenotazione.
Impegni
Un impegno di capacità è l'acquisto di un importo fisso di BigQuery solo per un periodo di tempo minimo. Gli impegni in termini di capacità sono facoltativo per le prenotazioni create con versione, ma può risparmiare sui costi per lo stato stabile carichi di lavoro con scale out impegnativi.
BigQuery offre diversi piani di impegno tra cui scegliere. Differiscono principalmente per costo e durata minima dell'impegno. Per informazioni sui prezzi attuali, consulta Prezzi del vincolo di capacità.
Impegno annuale. Acquisti un impegno di 365 giorni. Puoi scegliere se rinnovare l'abbonamento o convertirlo in un altro tipo di piano basato su impegno dopo 365 giorni.
Impegno mensile. Acquisti un impegno minimo di 30 giorni. Dopo 30 giorni, puoi eliminare il piano in qualsiasi momento.
Spazi flessibili. Acquisti un impegno di 60 secondi. Puoi eliminarlo in qualsiasi momento dopo 60 secondi. Gli slot flessibili sono un buon modo per testare il rendimento dei tuoi carichi di lavoro con la fatturazione a tariffa fissa prima di acquistare un impegno a lungo termine. Sono È utile anche per gestire la domanda ciclica o stagionale o per eventi con carichi elevati ad esempio periodo fiscale.
Indipendentemente dal piano selezionato, gli slot non scadono al termine del periodo di impegno. Gli slot vengono mantenuti e ti vengono addebitati i relativi costi finché non li elimini. Puoi anche modificare il tipo di piano dopo la durata minima.
Gli slot sono soggetti alla disponibilità di capacità. Quando tenti di acquistare impegni per gli slot, il completamento di questo acquisto non è garantito. Tuttavia, una volta che l'acquisto dell'impegno è andato a buon fine, la tua capacità è garantita finché non elimini l'impegno.
Per ulteriori dettagli su questi piani, vedi Piani di impegno.
Allocazione di slot all'interno delle prenotazioni
BigQuery alloca la capacità dello slot all'interno di una singola prenotazione utilizzando un algoritmo chiamato pianificazione equa.
Lo scheduler BigQuery applica la stessa condivisione degli slot tra con query in esecuzione all'interno di una prenotazione e poi all'interno di job di un dato progetto. Il programmatore garantisce l'equità. Potrebbero verificarsi brevi periodi in cui alcuni job ricevono una quota sproporzionata di slot, ma lo schedulatore alla fine corregge questo problema. Lo scopo dello scheduler è trovare un equilibrio tra un'espulsione troppo aggressiva delle attività in esecuzione (che comporta un'inutile perdita di tempo dello slot) e un'espulsione troppo permissiva (che comporta l'assegnazione a job con attività in esecuzione prolungata di una quota sproporzionata del tempo dello slot).
Se un job importante ha costantemente bisogno di più slot di quelli che riceve dall'organizzatore, valuta la possibilità di creare una prenotazione aggiuntiva con un numero garantito di slot e di assegnarlo a quella prenotazione. Per ulteriori informazioni, vedi Gestione del carico di lavoro.
Slot inattivi
Alcuni slot potrebbero essere inattivi in un determinato momento. Ecco alcuni esempi:
- Impegni di slot non allocati a nessuna prenotazione.
- Slot allocati a un riferimento di prenotazione, ma non attualmente in uso.
Per impostazione predefinita, le query in esecuzione in una prenotazione utilizzano automaticamente gli slot inattivi da ad altre prenotazioni all'interno dello stesso progetto di amministrazione. Ciò significa che un job può essere eseguito sempre, a condizione che sia disponibile la capacità. La capacità inattiva è immediatamente prerilasciabile tornando alla capacità originale assegnata in base alle esigenze, a prescindere dalla priorità della query che richiede Google Cloud. Ciò avviene automaticamente in tempo reale.
Per disabilitare questa funzionalità e forzare una prenotazione a utilizzare solo gli slot
di cui è stato eseguito il provisioning, imposta ignore_idle_slots
su true
. Le prenotazioni conignore_idle_slots
impostato su true
non ricevono slot inutilizzati.
Non puoi condividere gli slot inattivi tra prenotazioni di diversi . Puoi condividere solo gli slot di riferimento o quelli assegnati. Slot a scalabilità automatica potrebbero essere temporaneamente disponibili, ma non condivisibili in quanto potrebbero fare lo scale down.
Finché ignore_idle_slots
è false, una prenotazione può avere un conteggio degli slot di0
e avere comunque accesso agli slot inutilizzati. Se utilizzi solo la prenotazione default
, ti consigliamo di configurarla in questo modo. Successivamente,
assegnare un progetto o una cartella
a quella prenotazione e userà solo slot inattivi.
Le attribuzioni di tipo ML_EXTERNAL
sono un'eccezione al comportamento descritto
in precedenza. Gli slot utilizzati dai job di creazione di modelli esterni di BigQuery ML non sono preassegnabili. Autrement dit, gli slot di una prenotazione con tipi di assegnazione sia ml_external che query sono disponibili per altri job di query solo quando non sono occupati dai job ML_EXTERNAL
.
Inoltre, questi job non utilizzano slot inattivi di altre prenotazioni.
Limitazioni
- Le prenotazioni che acquisti non possono essere condivise con altre organizzazioni.
- Devi creare una prenotazione e un progetto di amministrazione distinta per ogni organizzazione.
- Ogni organizzazione può avere un massimo di 10 progetti di amministrazione con impegni attivi 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 sono una risorsa di regione. Impegni acquistati in una regione o non è possibile usare più regioni in altre regioni o regioni multiple. Gli impegni non possono essere spostati tra regioni o tra regioni e in più regioni.
- Gli impegni acquistati in un progetto di amministrazione non possono essere spostati in un 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é vengono ridotti quando non sono più necessari.
Quote
La quota di slot è il numero massimo di slot che puoi effettuare un acquisto in una località. Le quote non ti vengono addebitate; sei fatturate solo per prenotazioni e impegni. Per maggiori informazioni le informazioni, vedi quote e limiti per le prenotazioni. Per informazioni su come aumentare la quota di slot, consulta Richiedere un aumento della quota.
Prezzi
Per informazioni sui prezzi delle prenotazioni, vedi Prezzi a costo fisso.
Passaggi successivi
Per iniziare a utilizzare le prenotazioni BigQuery, consulta Iniziare a utilizzare le prenotazioni
Per decidere quale modello di fatturazione utilizzare, consulta Scegliere un modello di fatturazione.