Scalabilità
La scalabilità di un cluster è il processo di aggiunta o rimozione di nodi dal cluster in risposta alle modifiche del workload o delle esigenze di archiviazione dei dati del cluster. Quando crei un cluster, puoi anche configurare il fattore di scalabilità dei nodi per il cluster. Prima di configurare la scalabilità, consulta le limitazioni.
Puoi scalare il cluster Bigtable in base a metriche come l'utilizzo della CPU del cluster. Ad esempio, se il cluster è sottoposto a un carico elevato e l'utilizzo della CPU è elevato, puoi aggiungere nodi al cluster finché l'utilizzo della CPU non diminuisce. Puoi anche risparmiare denaro rimuovendo i nodi dal cluster quando non viene utilizzato intensamente.
Puoi scalare un cluster Bigtable nei seguenti modi:
Scalabilità orizzontale
- Scalabilità automatica
- Allocazione manuale dei nodi
Nella maggior parte dei casi, scegli la scalabilità automatica. Quando abiliti la scalabilità automatica per un cluster, Bigtable monitora continuamente il cluster e regola automaticamente il numero di nodi in base alle tue impostazioni.
Scalabilità verticale del livello in memoria
Il livello in memoria di Bigtable utilizza la scalabilità verticale completamente gestita per la velocità effettiva, che consente ai cluster di rispondere quasi istantaneamente ai picchi di traffico di lettura puntuale.
La scalabilità verticale regola automaticamente ogni nodo per soddisfare le esigenze del workload e funziona perfettamente con la scalabilità automatica di Bigtable. Ogni nodo Bigtable con il livello in memoria abilitato ha un limite di scalabilità verticale. Se viene raggiunto questo limite, la scalabilità automatica di Bigtable aggiunge nodi all'interno della configurazione massima dei nodi per supportare il workload e ribilanciare il traffico.
Per saperne di più sui limiti di scalabilità verticale, consulta Quote e limiti. Per saperne di più sulla capacità di velocità effettiva in memoria per nodo, consulta Informazioni sul rendimento.
Fattore di scalabilità dei nodi
Quando crei un cluster Bigtable, hai la possibilità di configurare il cluster con un fattore di scalabilità dei nodi 2x. Quando scegli questa configurazione, Bigtable tratta due nodi standard come un singolo nodo di calcolo più grande e il cluster viene sempre scalato in incrementi di due nodi. Di conseguenza, ci sono meno limiti di calcolo tra i nodi del cluster. A seconda del workload, i vantaggi della scalabilità dei nodi 2x includono:
- Miglioramento della velocità effettiva e della stabilità della latenza di coda
- Maggiore capacità di assorbire gli hotspot
Puoi creare un cluster con il fattore di scalabilità dei nodi 2x abilitato quando utilizzi la Google Cloud console o gcloud CLI.
Puoi configurare la scalabilità dei nodi 2x con la scalabilità automatica o l'allocazione manuale dei nodi. Nella versione Enterprise Plus, devi abilitare la scalabilità dei nodi 2x per accedere al limite di archiviazione a livelli espanso di 64 TB per nodo (anteprima).
Per le limitazioni, consulta Limitazioni del fattore di scalabilità dei nodi.
Cluster piccoli
La scalabilità dei nodi 2x è ottimale per i workload più grandi. Se stai pensando di passare dalla scalabilità dei nodi standard (con un fattore di uno) alla scalabilità dei nodi 2x, tieni conto delle implicazioni sui costi. Per un workload più piccolo, ad esempio uno che viene eseguito su un cluster con un nodo, l'utilizzo della scalabilità dei nodi 2x costa il doppio. Allo stesso modo, l'utilizzo della scalabilità dei nodi 2x per un workload che in precedenza veniva eseguito su un cluster con 3 nodi aumenta i costi del 33%.
D'altra parte, per un workload che in precedenza veniva eseguito su un cluster di grandi dimensioni, ad esempio un cluster con 50 nodi, l'effetto di un fattore di scalabilità dei nodi 2x è piccolo rispetto al numero di nodi.
Bigtable restituisce un errore se provi a creare un cluster con un fattore di scalabilità dei nodi 2x in una zona non supportata.
Limitazioni
La scalabilità dei cluster è soggetta alla disponibilità dei nodi, richiede tempo per essere completata, non può compensare una progettazione dello schema inappropriata e deve essere eseguita gradualmente. Le seguenti sezioni descrivono queste limitazioni, nonché le limitazioni che si applicano alla scalabilità dei nodi 2x.
Disponibilità dei nodi
Le quote dei nodi si applicano indipendentemente dal fatto che un cluster abbia l'allocazione manuale dei nodi o la scalabilità automatica abilitata. Per i dettagli, consulta Quote e disponibilità dei nodi.
Ritardo durante il ribilanciamento dei nodi
Dopo aver aggiunto nodi a un cluster, potrebbero essere necessari fino a 20 minuti sotto carico prima di notare un miglioramento significativo delle prestazioni del cluster. Di conseguenza, se il tuo workload prevede brevi picchi di attività elevata, l'aggiunta di nodi al cluster in base al carico della CPU non migliora le prestazioni: quando Bigtable ribilancia i dati, il breve picco di attività sarà terminato.
Per pianificare questo ritardo, puoi aggiungere nodi al cluster, a livello di programmazione o tramite la console, prima di aumentare il carico sul cluster. Google Cloud Questo approccio consente a Bigtable di ribilanciare i dati tra i nodi aggiuntivi prima che il workload aumenti. Nei cluster che utilizzano l'allocazione manuale dei nodi, modifica il numero di nodi. Nei cluster che utilizzano la scalabilità automatica, modifica il numero minimo di nodi. Una volta che il traffico torna alla normalità, ripristina le impostazioni dei nodi.
Il livello in memoria gestisce i picchi di traffico con una scalabilità verticale quasi istantanea. Quando Bigtable aggiunge nodi tramite la scalabilità automatica e la capacità di velocità effettiva del livello in memoria aumenta, gestisce automaticamente lo sharding dei dati nel livello in memoria.
Aumento della latenza causato da una riduzione troppo rapida
Quando riduci il numero di nodi in un cluster per eseguire fare lo scale down, cerca di non ridurre le dimensioni del cluster di oltre il 10% in un periodo di 10 minuti. Se esegui lo scale down troppo rapidamente, potresti riscontrare problemi di prestazioni, ad esempio un aumento della latenza, se i nodi rimanenti nel cluster diventano temporaneamente sovraccarichi.
Problemi di progettazione dello schema
Se ci sono problemi con la progettazione dello schema della tabella, l'aggiunta di nodi al cluster Bigtable potrebbe non migliorare le prestazioni. Ad esempio, se hai un numero elevato di letture o scritture in una singola riga della tabella, tutte le letture o scritture verranno eseguite sullo stesso nodo del cluster. Di conseguenza, l'aggiunta di nodi non migliora le prestazioni. Al contrario, se le letture e le scritture sono distribuite uniformemente tra le righe della tabella, l'aggiunta di nodi in genere migliora le prestazioni.
Per saperne di più su come progettare uno schema che consenta a Bigtable di scalare in modo efficace, consulta Progettare lo schema.
Limitazioni delle versioni
Il livello in memoria e la scalabilità verticale sono disponibili solo per i cluster SSD nella versione Enterprise Plus.
Limitazioni del fattore di scalabilità dei nodi
Non puoi convertire un cluster con la scalabilità dei nodi standard per utilizzare la scalabilità dei nodi 2x. Devi creare un nuovo cluster e abilitare la scalabilità dei nodi 2x al momento della creazione. Per saperne di più su come aggiungere un cluster a un'istanza, consulta Modificare un' istanza.
Non puoi configurare la scalabilità dei nodi 2x per un cluster HDD.
Puoi creare cluster configurati con la scalabilità dei nodi 2x in ogni regione Bigtable, ma non in ogni zona. Le seguenti zone non possono contenere un cluster con la scalabilità dei nodi 2x:
- me-central2-b
Passaggi successivi
- Scopri di più sulla scalabilità automatica di Bigtable.
- Scopri come monitorare l'istanza, sia a livello di programmazione sia tramite la Google Cloud console.