Quote e limiti

Questa pagina descrive le quote e i limiti di produzione per Spanner. Quota e limite potrebbero essere utilizzati in modo intercambiabile nella console Google Cloud .

I valori di quote e limiti sono soggetti a modifiche.

Autorizzazioni per controllare e modificare le quote

Per visualizzare le quote, devi disporre dell'autorizzazione serviceusage.quotas.get Identity and Access Management (IAM).

Per modificare le quote, devi disporre dell'autorizzazione IAM serviceusage.quotas.update. che è già inclusa per impostazione predefinita per i seguenti ruoli predefiniti: Proprietario, Editor e Amministratore quota.

Queste autorizzazioni sono incluse per impostazione predefinita nei ruoli IAM di base Proprietario ed Editor, nonché nel ruolo Amministratore quota predefinito.

Verifica le tue quote

Per controllare le quote attuali per le risorse nel tuo progetto, utilizza la consoleGoogle Cloud :

Vai a Quote

Aumentare le quote

Man mano che il tuo utilizzo di Spanner aumenta nel tempo, le tue quote possono aumentare di conseguenza. Se prevedi un aumento dell'utilizzo consistente, presenta la richiesta con qualche giorno di anticipo per assicurarti che le quote vengano dimensionate correttamente.

Potrebbe anche essere necessario aumentare l'override della quota del consumer. Per ulteriori informazioni, vedi Creazione di un override della quota consumer.

Puoi aumentare il limite attuale dei nodi di configurazione dell'istanza Spanner utilizzando la console Google Cloud .

  1. Vai alla pagina Quote.

    Vai alla pagina Quote

  2. Seleziona API Spanner dall'elenco a discesa Servizio.

    Se non vedi la voce API Spanner, l'API Spanner non è stata abilitata. Per ulteriori informazioni, vedi Attivazione delle API.

  3. Seleziona le quote che vuoi modificare.

  4. Fai clic su Modifica quote.

  5. Nel riquadro Modifiche alla quota visualizzato, inserisci il nuovo limite di quota.

    Screenshot della finestra di creazione dell'istanza

  6. Fai clic su Fine e poi su Invia richiesta.

    Se non riesci ad aumentare manualmente il limite dei nodi al valore desiderato, fai clic su Richiedi una quota più alta. Compila il modulo per inviare una richiesta al team Spanner. Riceverai una risposta entro 48 ore dalla richiesta.

Aumentare la quota per una configurazione dell'istanza personalizzata

Puoi aumentare la quota di nodi per la tua configurazione dell'istanza personalizzata.

  1. Controlla il limite di nodi di una configurazione di istanza personalizzata controllando il limite di nodi della configurazione di istanza di base.

    Utilizza il comando show instance configurations detail se non conosci o non ricordi la configurazione di base della tua configurazione personalizzata dell'istanza.

  2. Se il limite di nodi richiesto per la configurazione dell'istanza personalizzata è inferiore a 85, segui le istruzioni nella sezione Aumentare le quote precedente. Utilizza la console Google Cloud per aumentare il limite dei nodi della configurazione dell'istanza di base associata alla configurazione dell'istanza personalizzata.

    Se il limite di nodi richiesto per la configurazione personalizzata dell'istanza è superiore a 85, compila il modulo Richiedi un aumento della quota per i nodi Spanner. Specifica l'ID della tua configurazione dell'istanza personalizzata nel modulo.

Limiti di nodi

Valore Limite
Nodi per configurazione di istanza

I limiti predefiniti variano in base alla configurazione del progetto e dell'istanza. Per modificare i limiti di quota del progetto o richiedere un aumento del limite, consulta Aumentare le quote.

Limiti per le istanze

Valore Limite
Lunghezza ID istanza Da 2 a 64 caratteri

Limiti delle istanze di prova gratuite

Un'istanza di prova gratuita di Spanner ha i seguenti limiti aggiuntivi. Per aumentare o rimuovere questi limiti, esegui l'upgrade dell'istanza di prova gratuita a un'istanza a pagamento.

Valore Limite
Capacità dello spazio di archiviazione 10 GB
Limite del database Crea fino a cinque database
Funzionalità non supportate Backup e ripristino
SLA Nessuno SLA
Periodo di prova Periodo di prova gratuito di 90 giorni

Limiti del partizionamento geografico

Valore Limite
Numero massimo di partizioni per istanza 10
Numero massimo di righe di posizionamento per nodo nella partizione 100 milioni

Limiti delle query salvate

Valore Limite
Numero massimo di query salvate per progetto (incluse le query salvate per altri prodotti Google Cloud ) 10.000
Dimensione massima per ogni query 1 MiB

Limiti di configurazione delle istanze

Valore Limite
Numero massimo di configurazioni di istanze personalizzate per progetto 100
Lunghezza ID configurazione istanza personalizzata

Da 8 a 64 caratteri

Un ID configurazione istanza personalizzata deve iniziare con custom-

Limiti per i database

Valore Limite
Database per istanza
  • Per istanze di 1 nodo (1000 unità di elaborazione) e superiori: 100 database
  • Per istanze più piccole di 1 nodo: 10 database per 100 unità di elaborazione
Ruoli per database 100
Lunghezza ID database Da 2 a 30 caratteri
Dimensioni dello spazio di archiviazione1
  • Per istanze di 1 nodo (1000 unità di elaborazione) e superiori: 10 TiB per nodo
  • Per istanze più piccole di 1 nodo: 1024,0 GiB per 100 unità di elaborazione

Una maggiore capacità di archiviazione di 10 TiB per nodo è disponibile nella maggior parte delle configurazioni di istanze Spanner regionali, a due regioni e multiregionali. Per saperne di più, vedi Miglioramenti di prestazioni e spazio di archiviazione.

Se utilizzi l'archiviazione a livelli, puoi utilizzare uno spazio di archiviazione combinato (SSD e HDD) fino a 10 TiB per nodo.

I backup vengono archiviati separatamente e non vengono considerati ai fini di questo limite. Per saperne di più, consulta Metriche di utilizzo dello spazio di archiviazione.

Tieni presente che Spanner fattura lo spazio di archiviazione effettivo utilizzato all'interno di un'istanza e non lo spazio di archiviazione totale disponibile.

Limiti di backup e ripristino

Valore Limite
Numero di operazioni di creazione di backup in corso per database 1
Numero di operazioni di ripristino del database in corso per istanza (nell'istanza del database ripristinato, non del backup) 10
Periodo massimo di conservazione del backup 1 anno (incluso il giorno extra di un anno bisestile)

Limiti per gli schemi

Oggetti di schema

Valore Limite
Il numero totale di oggetti schema in tutti i database della stessa istanza I limiti predefiniti variano in base alla configurazione dell'istanza9

Istruzioni DDL

Valore Limite
Dimensioni dell'istruzione DDL per una singola modifica dello schema 10 MiB
Dimensioni dell'istruzione DDL per l'intero schema di un database, come viene restituita da GetDatabaseDdl 10 MiB

Grafici

Valore Limite
Grafici delle proprietà per database 16
Lunghezza del nome del grafico delle proprietà Da 1 a 128 caratteri

Tabelle

Valore Limite
Tabelle per database 5000
Lunghezza nome tabella Da 1 a 128 caratteri
Colonne per tabella 1024
Lunghezza nome colonna Da 1 a 128 caratteri
Dimensioni dei dati per cella 10 MiB
Dimensioni di una cella STRING 2.621.440 caratteri Unicode
Numero di colonne in una chiave di tabella

16

Include le colonne chiave condivise con qualsiasi tabella principale.

Profondità interfoliazione tabelle

7

Una tabella di primo livello con tabelle figlio ha profondità 1.

Una tabella di primo livello con tabelle nipote ha profondità 2 e così via.

Dimensioni totali di una tabella o di una chiave indice

8 KB

Includono le dimensioni di tutte le colonne che compongono la chiave.

Dimensione totale delle colonne non chiave

1600 MiB

Include le dimensioni di tutte le colonne non chiave di una tabella.

Indici

Valore Limite
Indici per database 10.000
Indici per tabella 128
Lunghezza nome indice Da 1 a 128 caratteri
Numero di colonne in una chiave di indice

16

Il numero di colonne indicizzate (eccetto le colonne STORING) più il numero di colonne di chiave primaria nella tabella di base.

Visualizzazioni

Valore Limite
Visualizzazioni per database 5000
Lunghezza del nome della vista Da 1 a 128 caratteri
Profondità di nidificazione

10

Una visualizzazione che fa riferimento a un'altra visualizzazione ha una profondità di nidificazione pari a 1. Una visualizzazione che fa riferimento a un'altra visualizzazione che a sua volta fa riferimento a un'altra visualizzazione ancora ha una profondità di nidificazione pari a 2 e così via.

Gruppi di località

Valore Limite
Numero massimo di gruppi di località per database 16 (1 gruppo di località predefinito e 15 gruppi di località aggiuntivi facoltativi)
Quantità minima di tempo richiesta nell'opzione ssd_to_hdd_spill_timespan 1 ora
Quantità massima di tempo consentita nell'opzione ssd_to_hdd_spill_timespan 365 giorni

Limiti per le query

Valore Limite
Colonne in una clausola GROUP BY 1000
Valori in un operatore IN 10.000
Chiamate di funzione 1000
Unioni 20
Chiamate delle funzioni nidificate 75
Clausole GROUP BY nidificate 35
Espressioni sottoquery nidificate 25
Istruzioni selezione secondaria nidificate 60
Unioni prodotte da una query del grafico 100
Parametri 950
Lunghezza istruzione query 1 milione di caratteri
STRUCT campi 1000
Espressione sottoquery secondaria 50
Unioni in una query 200
Profondità dell'attraversamento del percorso quantificato del grafico 100

Limiti per la creazione, la lettura, l'aggiornamento e l'eliminazione di dati

Valore Limite
Dimensioni commit (inclusi gli indici e modifiche in tempo reale) 100 MiB
Letture simultanee per sessione 100
Modifiche per commit (inclusi gli indici)2 80.000
Istruzioni DML partizionate in parallelo per database 20.000

Limiti amministrativi

Valore Limite
Dimensioni richiesta azioni amministrative3 1 MiB
Limite di frequenza per azioni amministrative4

5 al secondo per progetto per utente

(su una media di 100 secondi)

Limiti per le richieste

Valore Limite
Dimensioni richieste diverse da commit5 10 MiB

Limiti dei flussi di modifiche

Valore Limite
Stream di modifiche per database 10
Modificare i flussi di visualizzazione di una colonna non chiave6 3
Lettori simultanei per partizione di dati dello stream di modifiche7 5

Limiti di Data Boost

Valore Limite
Richieste Data Boost simultanee per progetto in us-central1 1000 8
Richieste Data Boost simultanee per progetto per regione in altre regioni 400 8

Limiti dell'API di pre-splitting

Valore Limite
Punti di divisione aggiunti per richiesta API 100
Dimensione della richiesta API del punto di divisione 1 MiB
Punti di suddivisione aggiunti per nodo per tutti i database nell'istanza 50
Punti di suddivisione aggiunti o aggiornati al minuto per nodo 10
Punti suddivisi aggiunti o aggiornati al giorno per nodo 200

Note

1. Per fornire alta disponibilità e bassa latenza per l'accesso a un database, Spanner definisce i limiti di archiviazione in base alla capacità di calcolo dell'istanza:

  • Per le istanze più piccole di 1 nodo (1000 unità di elaborazione), Spanner assegna 1024 GB di dati per ogni 100 unità di elaborazione nel database.
  • Per le istanze con 1 nodo o più, Spanner assegna 10 TiB di dati per ogni nodo.

Ad esempio, per creare un'istanza per un database da 1500 GiB, devi impostare la capacità di calcolo su 200 unità di elaborazione. Questa quantità di capacità di calcolo manterrà l'istanza al di sotto del limite finché il database non raggiungerà più di 2048 GiB. Una volta raggiunto questo limite, dovrai aggiungere altre 100 unità di elaborazione per consentire l'espansione del database. In caso contrario, le scritture sul database potrebbero essere rifiutate. Per saperne di più, consulta Suggerimenti per l'utilizzo dello spazio di archiviazione del database.

Per consentire un'espansione fluida, aggiungi capacità di calcolo prima che il database raggiunga il limite.

2. Le operazioni di inserimento e aggiornamento vengono moltiplicate per il numero di colonne interessate e le colonne della chiave primaria sono sempre interessate. Ad esempio, l'inserimento di un nuovo record può contare come cinque modifiche, se i valori vengono inseriti in cinque colonne. L'aggiornamento di tre colonne in un record può contare anche come cinque modifiche se il record ha due colonne della chiave primaria. Le operazioni di eliminazione e di eliminazione di intervalli contano come una sola modifica, indipendentemente dal numero di colonne interessate. Anche l'eliminazione di una colonna da una tabella principale che include l'annotazione ON DELETE CASCADE conta come una modifica, indipendentemente dal numero di righe figlio con interfoliazione presenti. Costituisce un'eccezione la presenza di indici secondari definiti nelle righe da eliminare: in tal caso, le modifiche agli indici secondari saranno contate individualmente. Ad esempio, se una tabella ha due indici secondari, l'eliminazione di un intervallo di righe nella tabella verrà conteggiata come una mutazione per la tabella, più due mutazioni per ogni riga eliminata perché le righe nell'indice secondario potrebbero essere sparse nello spazio delle chiavi, rendendo impossibile per Spanner chiamare una singola operazione di eliminazione dell'intervallo sugli indici secondari. Gli indici secondari includono gli indici di supporto delle chiavi esterne.

Per trovare il conteggio delle modifiche per una transazione, vedi Recupero delle statistiche di commit per una transazione.

Gli stream di modifiche non aggiungono mutazioni che vengono conteggiate ai fini di questo limite.

3. Il limite per le richieste di azioni amministrative non include i commit, le richieste elencate nella nota 5 e le modifiche di schema.

4. Questo limite di frequenza include tutte le chiamate all'API Admin, che include le chiamate per eseguire il polling di operazioni a lunga esecuzione su un'istanza, un database o un backup.

5. Questo limite include richieste di creazione e aggiornamento di un database, letture, flussi di letture, esecuzione di query SQL ed esecuzione di flussi di query SQL.

6. Un flusso di modifiche che monitora un'intera tabella o un intero database monitora implicitamente ogni colonna della tabella o del database e pertanto viene conteggiato ai fini di questo limite.

7. Questo limite si applica ai lettori simultanei della stessa partizione di modifiche in tempo reale, indipendentemente dal fatto che si tratti di pipeline Dataflow o query API dirette.

8. I limiti predefiniti variano in base al progetto e alle regioni. Per saperne di più, vedi Monitorare e gestire l'utilizzo della quota Data Boost.

9. Gli oggetti schema contabilizzati includono tutti i tipi di oggetti descritti in DDL come tabelle, colonne, indici, sequenze e così via. Il limite degli oggetti schema viene applicato a livello di istanza e dipende dalle unità di elaborazione disponibili per la tua istanza.

  • Per le istanze di uno o più nodi, il limite predefinito è di un milione di oggetti.
  • Per le istanze più piccole di un nodo (1000 unità di elaborazione), il limite diminuisce proporzionalmente alle dimensioni dell'istanza. Ad esempio, il limite è di 100.000 oggetti schema per le istanze con 100 unità di elaborazione.

Per controllare il conteggio degli oggetti schema per i tuoi database e il limite di oggetti per la tua istanza, cerca le metriche spanner.googleapis.com/instance/schema_objects e spanner.googleapis.com/instance/schema_object_count in Metrics Explorer. Per ulteriori informazioni sul monitoraggio, consulta Monitorare le istanze con Cloud Monitoring.

Se raggiungi il limite, Spanner ti impedisce di eseguire operazioni che ti fanno superare il limite, ad esempio:

  • Modifica dello schema del database (ad esempio, aggiunta di un indice).
  • Creazione di un nuovo database nell'istanza.
  • Ripristino di un database da un backup nella stessa istanza. In questo caso, puoi ripristinare il backup in un'altra istanza con la stessa configurazione o creare una nuova istanza con la stessa configurazione e ripristinare il backup nella nuova istanza.