Scalabilità
La scalabilità di un cluster è il processo di aggiunta o rimozione di nodi dal cluster in risposta alle variazioni 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à, tieni presente 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 è alto, 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 molto.
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 attivi 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 il throughput, 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 questo limite viene raggiunto, 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 sulle prestazioni.
Fattore di scalabilità del nodo
Quando crei un cluster Bigtable, hai la possibilità di configurarlo con un fattore di scalabilità dei nodi 2x. Quando scegli questa configurazione, Bigtable tratta due nodi standard come un unico nodo di computing più grande e il cluster viene sempre scalato in incrementi di due nodi. Di conseguenza, esistono meno confini di computing tra i nodi del cluster. A seconda del workload, i vantaggi della scalabilità dei nodi 2x includono:
- Miglioramento del throughput 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 attivato quando utilizzi la consoleGoogle Cloud o gcloud CLI.
Puoi configurare la scalabilità dei nodi in incrementi di 2 con la scalabilità automatica o l'allocazione manuale dei nodi. Nella versione Enterprise Plus, devi attivare 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 valutando di passare dalla scalabilità dei nodi standard (con un fattore di uno) alla scalabilità dei nodi 2x, considera le implicazioni sui costi. Per un workload più piccolo, ad esempio uno eseguito su un cluster con un nodo, l'utilizzo della scalabilità dei nodi 2x costa il doppio. Analogamente, l'utilizzo della scalabilità dei nodi 2x per un workload precedentemente eseguito su un cluster con 3 nodi aumenta i costi del 33%.
D'altra parte, per un workload eseguito in precedenza su un cluster di grandi dimensioni, ad esempio un cluster con 50 nodi, l'effetto di un fattore di scalabilità dei nodi 2x è ridotto rispetto al numero di nodi.
Limitazioni
La scalabilità dei cluster è soggetta alla disponibilità dei nodi, richiede tempo per essere completata, non può compensare un design dello schema inappropriato e deve essere eseguita gradualmente. Le sezioni seguenti descrivono queste limitazioni, nonché quelle 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 maggiori dettagli, consulta Quote e disponibilità dei nodi.
Ritardo durante il ribilanciamento dei nodi
Dopo aver aggiunto nodi a un cluster, possono 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à intensa, l'aggiunta di nodi al cluster in base al carico della CPU non migliora le prestazioni: quando Bigtable riequilibra i dati, il breve picco di attività sarà terminato.
Per pianificare questo ritardo, puoi aggiungere nodi al cluster, in modo programmatico o tramite la console Google Cloud , prima di aumentare il carico sul cluster. Questo approccio dà a Bigtable il tempo di ribilanciare i dati tra i nodi aggiuntivi prima che il workload aumenti. Sui cluster che utilizzano l'allocazione manuale dei nodi, modifica il numero di nodi. Sui cluster che utilizzano la scalabilità automatica, modifica il numero minimo di nodi. Dopo 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 throughput del livello in-memory aumenta, gestisce automaticamente lo sharding dei dati nel livello in-memory.
Aumenti della latenza causati da uno scale down troppo rapido
Quando riduci il numero di nodi in un cluster per fare lo scale down, cerca di non ridurre le dimensioni del cluster di oltre il 10% in un periodo di 10 minuti. Fare lo scale down troppo rapidamente può causare problemi di prestazioni, come un aumento della latenza, se i nodi rimanenti nel cluster vengono temporaneamente sovraccaricati.
Problemi di progettazione dello schema
Se si verificano problemi con la progettazione dello schema per la 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 le scritture verranno indirizzate allo stesso nodo del cluster; di conseguenza, l'aggiunta di nodi non migliora le prestazioni. Al contrario, se le letture e le scritture sono distribuite in modo uniforme tra le righe della tabella, l'aggiunta di nodi generalmente migliora le prestazioni.
Per informazioni dettagliate su come progettare uno schema che consenta a Bigtable di scalare in modo efficace, consulta Progettazione dello 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 scalabilità dei nodi standard per utilizzare la scalabilità dei nodi in incrementi di 2; devi creare un nuovo cluster e attivare la scalabilità dei nodi in incrementi di 2 al momento della creazione. Per maggiori informazioni sull'aggiunta di un cluster a un'istanza, consulta Modifica un'istanza.
Non puoi configurare la scalabilità dei nodi 2x per un cluster HDD.
Passaggi successivi
- Scopri di più sulla scalabilità automatica di Bigtable.
- Scopri come monitorare l'istanza, sia in modo programmatico sia tramite la console Google Cloud .