Replica e prestazioni
L'abilitazione della replica influisce sulle prestazioni di un'istanza Bigtable. L'effetto è positivo per alcune metriche e negativo per altre. Prima di decidere di abilitare la replica, devi comprendere i potenziali impatti sulle prestazioni.
Throughput di lettura
La replica può migliorare la velocità effettiva di lettura, soprattutto quando utilizzi il routing multi-cluster. Inoltre, la replica può ridurre la latenza di lettura posizionando i dati Bigtable geograficamente più vicini agli utenti dell'applicazione.
Throughput di scrittura
Sebbene la replica possa migliorare la disponibilità e le prestazioni di lettura, non aumenta la velocità effettiva di scrittura. Una scrittura in un cluster deve essere replicata in tutti gli altri cluster dell'istanza. Di conseguenza, ogni cluster utilizza risorse CPU per estrarre le modifiche dagli altri cluster. La velocità effettiva di scrittura potrebbe diminuire perché la replica richiede a ogni cluster di svolgere un lavoro aggiuntivo.
Ad esempio, supponiamo di avere un'istanza a cluster singolo e che il cluster abbia 3 nodi:
Se aggiungi nodi al cluster, l'effetto sulla velocità effettiva di scrittura è diverso rispetto a quando abiliti la replica aggiungendo un secondo cluster di tre nodi all' istanza.
Aggiunta di nodi al cluster originale: puoi aggiungere 3 nodi al cluster, per un totale di 6 nodi. Il throughput di scrittura per l'istanza raddoppia, ma i dati dell'istanza sono disponibili in una sola zona:
Con la replica: in alternativa, puoi aggiungere un secondo cluster con 3 nodi, per un totale di 6 nodi. L'istanza ora scrive ogni dato due volte: quando la scrittura viene ricevuta per la prima volta e di nuovo quando viene replicata nell'altro cluster. Il throughput di scrittura non aumenta e potrebbe diminuire, ma i tuoi dati sono disponibili in due zone diverse:
In questi esempi, l'istanza a cluster singolo può gestire il doppio del throughput di scrittura rispetto all'istanza replicata, anche se i cluster di ciascuna istanza hanno un totale di 6 nodi.
Latenza di replica
Quando utilizzi il routing multi-cluster, la replica per Bigtable è a coerenza finale. Come regola generale, la replica dei dati su una distanza maggiore richiede più tempo. I cluster replicati in regioni diverse in genere hanno una latenza di replica superiore rispetto ai cluster replicati nella stessa regione.
Utilizzo del nodo
Come spiegato in Velocità effettiva di scrittura, quando un'istanza utilizza la replica, ogni cluster dell'istanza deve gestire il lavoro di replica oltre al carico ricevuto dalle applicazioni. Per questo motivo, un cluster in un'istanza multicluster spesso ha bisogno di più nodi rispetto a un cluster in un'istanza monocluster con traffico simile.
Profili delle app e routing del traffico
A seconda del tuo caso d'uso, utilizzerai uno o più profili app per instradare il traffico Bigtable. Ogni profilo dell'app utilizza il routing multi-cluster o a cluster singolo. La scelta del routing può influire sulle prestazioni.
Il routing multi-cluster può ridurre al minimo la latenza. Un profilo di app con routing multi-cluster instrada automaticamente le richieste al cluster più vicino in un'istanza dal punto di vista dell'applicazione e le scritture vengono poi replicate negli altri cluster dell'istanza. Questa scelta automatica della distanza più breve comporta la latenza più bassa possibile.
Un profilo dell'app che utilizza il routing a cluster singolo può essere ottimale per determinati casi d'uso, come la separazione dei carichi di lavoro o per avere una semantica di lettura dopo la scrittura su un singolo cluster, ma non riduce la latenza come il routing multi-cluster.
Per capire come configurare i profili dell'app per questi e altri casi d'uso, vedi Esempi di impostazioni di replica.
Eliminazione degli intervalli di righe
Se possibile, evita di eliminare un intervallo di righe in un'istanza che utilizza la replica perché l'operazione è lenta e l'utilizzo della CPU aumenta durante l'operazione.
Passaggi successivi
- Scopri di più sui failover.
- Esplora le opzioni di routing.