Scalabilità
Scalare 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à del nodo per il cluster. Prima di configurare lo scaling, comprendi le limitazioni.
Puoi scalare un cluster Bigtable nei seguenti modi:
- 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.
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 rimuovendo i nodi dal cluster quando non viene utilizzato molto.
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 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 carico di lavoro, i vantaggi della scalabilità dei nodi 2x includono quanto segue:
- Maggiore stabilità della velocità effettiva e 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 2x con la scalabilità automatica o l'allocazione manuale dei nodi.
Per le limitazioni, vedi Limitazioni del fattore di scalabilità dei nodi.
Cluster di piccole dimensioni
Il ridimensionamento dei nodi 2x è ottimale per i workload più grandi. Se stai valutando la possibilità di passare dalla scalabilità standard dei nodi (di un fattore pari a 1) 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 dello scaling dei nodi 2x costa il doppio. Allo stesso modo, l'utilizzo dello scaling dei nodi 2x per un workload precedentemente eseguito su un cluster con 3 nodi aumenta i costi del 33%.
D'altra parte, per un carico di lavoro precedentemente eseguito su un cluster di grandi dimensioni, ad esempio un cluster con 50 nodi, l'effetto di un fattore di scalabilità dei nodi pari a 2x è piccolo rispetto al numero di nodi.
Bigtable restituisce un errore se provi a creare un cluster con un fattore di scalabilità dei nodi pari a 2x in una zona non supportata.
Limitazioni
La scalabilità del 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é quelle che si applicano alla scalabilità dei nodi 2x.
Disponibilità del nodo
Le quote dei nodi si applicano indipendentemente dal fatto che un cluster abbia l'allocazione manuale dei nodi o la scalabilità automatica attivata. Per ulteriori 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à 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, in modo programmatico o tramite la console Google Cloud , prima di aumentare il carico sul cluster. Questo approccio consente a Bigtable di ribilanciare i dati tra i nodi aggiuntivi prima che il carico di lavoro 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. Dopo che il traffico torna alla normalità, ripristina le impostazioni del nodo.
Aumenti della latenza causati da una riduzione delle risorse 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. La riduzione troppo rapida 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 ci sono problemi con la progettazione dello schema della tabella, l'aggiunta di nodi al cluster Bigtable potrebbe non migliorare il rendimento. 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.
Consulta la sezione Progettazione dello schema per informazioni dettagliate su come progettare uno schema che consenta a Bigtable di scalare in modo efficace.
Limitazioni del fattore di scalabilità del nodo
Non puoi convertire un cluster con scalabilità standard dei nodi per utilizzare la scalabilità dei nodi 2x; devi creare un nuovo cluster e abilitare la scalabilità dei nodi 2x al momento della creazione. Per maggiori informazioni sull'aggiunta di un cluster a un'istanza, vedi Modificare un'istanza.
Non puoi configurare lo scaling dei nodi 2x per un cluster HDD.
Puoi creare cluster configurati con la scalabilità dei nodi in incrementi di 2 in ogni regione Bigtable, ma non in ogni zona. Le seguenti zone non possono contenere un cluster con scalabilità dei nodi 2x:
- asia-south1-c
- europe-central2-c
- me-central2-b
- me-central2-c
- northamerica-northeast1-a
- northamerica-northeast1-b
- southamerica-east1-c
- us-south1-b
- us-south1-c
Passaggi successivi
- Scopri di più sulla scalabilità automatica di Bigtable.
- Scopri come monitorare la tua istanza, sia a livello di programmazione sia tramite la console Google Cloud .