Capacità di calcolo, nodi e unità di elaborazione

Questa pagina descrive la capacità di calcolo di Spanner e le due unità di misura utilizzate per quantificarla: nodi e unità di elaborazione.

Capacità di calcolo

La capacità di calcolo definisce la quantità di risorse di server e archiviazione disponibili per i database in un'istanza. Quando crei un'istanza, specificare la sua capacità di calcolo come numero di unità di elaborazione o come numero nodes, con 1000 unità di elaborazione uguali a 1 nodo.

L'unità di misura che utilizzi non ha importanza a meno che tu non stia creando un istanza con capacità di calcolo inferiore a 1000 unità di elaborazione (1 nodo); in questo caso, devi utilizzare le unità di elaborazione per specificare la capacità di calcolo l'istanza.

Quando definisci o modifichi la capacità di calcolo di un'istanza, specifica le unità di elaborazione in multipli di 100 (100, 200, 300 e così via). Quando il numero di unità di elaborazione raggiunge 1000, puoi specificare quantità maggiori come multipli di 1000 unità di elaborazione (1000, 2000, 3000 e così via) o come nodi (1, 2, 3 e così via).

Le istanze con meno di 1000 unità di elaborazione sono progettate per dimensioni, query e carichi di lavoro dei dati più piccoli. Hanno risorse di calcolo limitate potrebbe portare a scalabilità e prestazioni non lineari per alcuni carichi di lavoro. che subiscano aumenti intermittenti delle latenze.

Limiti di archiviazione dei dati

Come descritto in Quote e limiti, per fornire alta disponibilità e bassa latenza quando si accede a un database, Spanner utilizza la capacità di calcolo di un'istanza come base per determinare i limiti di archiviazione, utilizzando le seguenti linee guida:

  • Per le istanze di dimensioni inferiori a 1 nodo (1000 unità di elaborazione), Spanner alloca 409,6 GB di dati per ogni 100 unità di elaborazione nel database.
  • Per istanze da 1 nodo o più grandi, Spanner alloca 4 TB di dati per ogni nodo. Una maggiore capacità di archiviazione (10 TB per nodo) è disponibile in alcune configurazioni di istanze Spanner regionali, a due regioni e multiregionali. Per ulteriori informazioni, vedi Miglioramenti delle prestazioni e dello spazio di archiviazione.

Ad esempio, per creare un'istanza per un database di 300 GB, puoi impostarne la capacità di calcolo su 100 unità di elaborazione. Questa quantità di computing la capacità massima mantiene l'istanza al di sotto del limite finché il database non raggiunge una dimensione maggiore di oltre 409,6 GB. Dopo che il database ha raggiunto queste dimensioni, devi aggiungere altre 100 unità di elaborazione per consentirne l'espansione. In caso contrario, Spanner potrebbe rifiutare le scritture nel database. Per ulteriori informazioni, vedi Suggerimenti per l'utilizzo dello spazio di archiviazione del database.

Spanner addebita lo spazio di archiviazione effettivamente utilizzato dalle istanze e non la loro allocazione totale di spazio di archiviazione.

Prestazioni

I valori di picco della velocità effettiva di lettura e scrittura per una determinata quantità di calcolo che la capacità di archiviazione può fornire dipende dall'istanza configurazione, nonché sulla progettazione dello schema e sulle caratteristiche del set di dati. Per maggiori informazioni informazioni, consulta la Panoramica del rendimento.

Utilizza istanze con meno di 1000 unità di elaborazione per dimensioni dei dati, query e carichi di lavoro più piccoli. Per carichi di lavoro più grandi, le loro risorse di calcolo limitate potrebbe causare una scalabilità e prestazioni non lineari, con l'aumento delle latenze.

Configurazioni di istanze e capacità di calcolo

Come descritto in Configurazioni a livello di una regione, di due regioni e di più regioni, Spanner distribuisce un'istanza tra zone di una o più in più regioni per offrire prestazioni elevate e disponibilità elevata. Di conseguenza, Spanner distribuisce anche le risorse server fornite e la capacità di calcolo dell'istanza.

Ecco un diagramma che illustra questa distribuzione delle risorse del server.

Due istanze create in una configurazione di istanze a livello di regione

Questo diagramma mostra due istanze con configurazioni regionali:

  • Istanza-A mostra un'istanza di 1000 unità di elaborazione (1 nodo) con il e la distribuzione della capacità di calcolo che consuma risorse server in ognuno dei tre zone.
  • L'Istanza-B mostra un'istanza di 2000 unità di elaborazione (2 nodi) con il suo e la distribuzione della capacità di calcolo che consuma risorse server in ognuno dei tre zone.

Tieni presente quanto segue in questo diagramma:

  • Per ogni istanza, Spanner alloca risorse server in ogni della configurazione regionale. Ogni risorsa server per zona utilizza la replica dei dati nella propria zona. Per informazioni sulle repliche di dati nell'istanza configurazioni, consulta Configurazioni a livello di una singola regione, di due regioni e di più regioni. Per informazioni su come Spanner mantiene sincronizzate queste repliche di dati, consulta Replica.

  • Le risorse server per l'Istanza-A sono mostrate in singole caselle, mentre Le risorse per l'Istanza-B sono mostrate in riquadri suddivisi in due parti. Questa differenza mostra che Spanner alloca le risorse del server in modo diverso per istanze di dimensioni diverse:

    • Per le istanze di 1000 unità di elaborazione (1 nodo) e più piccole, Spanner alloca le risorse del server in un'unica attività del server per zona.
    • Per istanze con più di 1000 unità di elaborazione (1 nodo), Spanner alloca risorse server in più server per zona, con un'attività ogni 1000 unità di elaborazione. L'utilizzo di più attività del server per zona offre prestazioni migliori e consente a Spanner di creare suddivisioni del database e offrire prestazioni ancora migliori.

Modificare la capacità di calcolo

Dopo aver creato un'istanza, puoi aumentarne la capacità di calcolo in un secondo momento. Nella nella maggior parte dei casi, le richieste vengono completate entro pochi minuti. In rare occasioni, viene visualizzata il completamento potrebbe richiedere fino a un'ora.

Nella maggior parte dei casi, puoi anche diminuire la capacità di calcolo. Ci sono alcuni casi in cui non è possibile ridurre la capacità di calcolo:

  • La rimozione della capacità di calcolo richiederebbe che l'istanza memorizzi più di 4 TB di dati per 1000 unità di elaborazione (1 nodo).
  • In base ai tuoi pattern di utilizzo storici, Spanner ha creato un numero elevato di sezioni per dell'istanza e, in alcuni rari casi, Spanner non sarebbe per gestire le suddivisioni dopo aver rimosso la capacità di calcolo.

Nel secondo caso, potresti provare a ridurre progressivamente la capacità di calcolo di piccole dimensioni finché non trovi la capacità minima richiesta da Spanner deve gestire tutte le suddivisioni dell'istanza. Se l'istanza non richiede più per un numero così elevato di suddivisioni dovute a una modifica dei pattern di utilizzo, alla fine unisce alcune suddivisioni e consente di provare a ridurre la capacità di calcolo dell'istanza dopo una o due settimane.

Quando rimuovi capacità di calcolo, monitora l'utilizzo della CPU e le richieste in Cloud Monitoring per garantire che la CPU l'utilizzo rimane al di sotto del 65% per le regioni delle istanze VM e il 45% per ogni regione di istanze multiregionali. Potresti notare un aumento temporaneo delle richieste e la latenza minima, rimuovendo la capacità di calcolo.

Spanner non ha una modalità di sospensione. La capacità di calcolo di Spanner è una risorsa dedicata e, anche quando non esegui un carico di lavoro, Spanner esegue spesso operazioni in background per ottimizzare e proteggere i tuoi dati.

Puoi utilizzare la console Google Cloud, Google Cloud CLI o le librerie client di Spanner per modificare la capacità di calcolo. Per ulteriori informazioni, consulta Modificare la capacità di calcolo.

Capacità di calcolo e repliche

Se devi aumentare le risorse di server e archiviazione nell'istanza, aumenta la capacità di calcolo dell'istanza. Tieni presente che l'aumento della capacità di calcolo non aumenta il numero di repliche (che sono fisse per una determinata configurazione dell'istanza), ma aumenta le risorse di ciascuna replica nell'istanza. L'aumento della capacità di calcolo fornisce a ogni replica più CPU e RAM, aumentando la velocità effettiva della replica (vale a dire, più letture e scritture al secondo).

Passaggi successivi