Questa pagina descrive le configurazioni delle istanze e i due tipi di configurazioni delle istanze offerte da Spanner: configurazioni a livello di regione e configurazioni per più regioni. Descrive inoltre le differenze e i compromessi tra le configurazioni a livello di una o più regioni.
Configurazioni delle istanze
Una configurazione dell'istanza definisce il posizionamento geografico e la replica dei database in tale istanza. Quando crei un'istanza, devi configurarla come regionale (tutte le risorse sono contenute in una singola regione di Google Cloud) o come più regioni (le risorse coprono più di una regione). Puoi scegliere questa opzione selezionando una configurazione dell'istanza, che determina dove vengono archiviati i tuoi dati per l'istanza.
Le configurazioni di istanze con regioni fisse e topologie di replica sono definite configurazioni delle istanze di base. Puoi creare configurazioni di istanze personalizzate e aggiungere ulteriori repliche facoltative di sola lettura. Non puoi modificare la topologia di replica delle configurazioni delle istanze di base. Per saperne di più, consulta Repliche di sola lettura.
Puoi spostare la tua istanza da qualsiasi configurazione dell'istanza a qualsiasi altra configurazione dell'istanza a una o più regioni (ad esempio da us-centra1
a nam3
).Puoi anche creare una nuova configurazione dell'istanza personalizzata con repliche aggiuntive, quindi spostare l'istanza nella nuova configurazione dell'istanza personalizzata. Ad esempio,
se l'istanza si trova in us-central1
e vuoi aggiungere una replica di sola lettura
us-west1
, devi creare una nuova configurazione dell'istanza personalizzata
con us-central1
come configurazione di base e aggiungere us-west1
come replica
di sola lettura. Quindi, sposta l'istanza in questa nuova configurazione dell'istanza personalizzata.
Configurazioni per singole aree geografiche
I servizi Google Cloud sono disponibili in località in Nord America, Sud America, Europa, Asia e Australia. Se i tuoi utenti e servizi si trovano all'interno di un'unica regione, scegli una configurazione dell'istanza a livello di regione per le operazioni di lettura e scrittura con la latenza più bassa.
Per qualsiasi configurazione a livello di regione di base, Spanner gestisce tre repliche di lettura e scrittura, ciascuna all'interno di una zona di Google Cloud diversa in quella regione. Ogni replica di lettura e scrittura contiene una copia completa del tuo database operativo in grado di gestire le richieste di lettura/scrittura e di sola lettura. Spanner utilizza le repliche in zone diverse in modo che, in caso di errore in una singola zona, il database rimanga disponibile.
Configurazioni disponibili
Spanner offre le seguenti configurazioni di istanza a livello di regione di base:
Nome configurazione di base | Descrizione regione | Regione facoltativa | |
---|---|---|---|
Americhe | |||
northamerica-northeast1 |
Montréal A basse emissioni di CO2 | ||
northamerica-northeast2 |
Toronto A basse emissioni di CO2 | ||
southamerica-east1 |
San Paolo A basse emissioni di CO2 | ||
southamerica-west1 |
Santiago A basse emissioni di CO2 | ||
us-central1 |
Iowa A basse emissioni di CO2 | Sola lettura: asia-northeast1 1-OR asia-south1 1-OR europe-west2 1-OR europe-west9 1-OR |
|
us-east1 |
Carolina del Sud | Sola lettura: us-central1 1-OR us-west1 1-OR |
|
us-east4 |
Virginia del Nord | ||
us-east5 |
Columbus | ||
us-south1 |
Dallas | ||
us-west1 |
Oregon A basse emissioni di CO2 | ||
us-west2 |
Los Angeles | ||
us-west3 |
Salt Lake City | ||
us-west4 |
Las Vegas | ||
Europa | |||
europe-central2 |
Varsavia | ||
europe-north1 |
Finlandia A basse emissioni di CO2 | ||
europe-southwest1 |
Madrid | ||
europe-west1 |
Belgio A basse emissioni di CO2 | Sola lettura: us-central1 1-OR us-west1 1-OR |
|
europe-west2 |
Londra A basse emissioni di CO2 | ||
europe-west3 |
Francoforte A basse emissioni di CO2 | ||
europe-west4 |
Paesi Bassi | ||
europe-west6 |
Zurigo A basse emissioni di CO2 | ||
europe-west8 |
Milano | ||
europe-west9 |
Parigi A basse emissioni di CO2 | ||
europe-west10 |
Berlino | ||
europe-west12 |
Torino | ||
Asia Pacifico | |||
asia-east1 |
Taiwan | ||
asia-east2 |
Hong Kong | ||
asia-northeast1 |
Tokyo | ||
asia-northeast2 |
Osaka | ||
asia-northeast3 |
Seul | ||
asia-south1 |
Mumbai | ||
asia-south2 |
Delhi | ||
asia-southeast1 |
Singapore | ||
asia-southeast2 |
Giacarta | ||
australia-southeast1 |
Sydney | ||
australia-southeast2 |
Melbourne | ||
Medio Oriente | |||
me-central1 |
Doha | ||
me-central2 |
Dammam | ||
me-west1 |
Tel Aviv | ||
Africa | |||
africa-south1 |
Johannesburg |
Replica
Le configurazioni a livello di regione di base contengono tre repliche di lettura e scrittura. Ogni mutazione di Spanner richiede un quorum di scrittura composto dalla maggior parte delle repliche di voto. I quorum di scrittura sono formati da due delle tre repliche nelle configurazioni regionali. Per ulteriori informazioni sulle regioni leader e sulle repliche di voto, consulta Replica.
Puoi creare una configurazione personalizzata dell'istanza regionale e aggiungere repliche facoltative di sola lettura. Le repliche di sola lettura possono aiutare a scalare le letture e supportare le letture inattive a bassa latenza. Queste repliche di sola lettura non prendono parte ai quorum di scrittura e non influiscono sullo SLA (accordo sul livello del servizio) >= 99, 99% di Spanner per le istanze a livello di regione. Puoi aggiungere località elencate nella colonna Regione facoltativa come repliche facoltative di sola lettura. Se non vedi la località che hai scelto per la replica di sola lettura, puoi richiedere una nuova regione facoltativa per la replica di sola lettura. Per saperne di più, consulta Repliche di sola lettura.
Best practice per le prestazioni delle configurazioni a livello di regione
Per un rendimento ottimale, segui queste best practice:
- Progetta uno schema che impedisca gli hotspot e altri problemi di prestazioni.
- Posiziona le risorse di calcolo critiche all'interno della stessa regione dell'istanza di Spanner.
- Esegui il provisioning di una capacità di calcolo sufficiente per mantenere l'utilizzo totale della CPU ad alta priorità al di sotto del 65%.
- Per la quantità di velocità effettiva per nodo Spanner, consulta le prestazioni per le configurazioni a livello di regione.
Configurazioni per più aree geografiche
Le configurazioni regionali di Spanner replicano i dati tra più zone all'interno di una singola regione. Tuttavia, una configurazione a livello di regione potrebbe non essere ottimale se:
- Spesso la tua applicazione deve leggere i dati da più posizioni geografiche (ad esempio per fornire dati agli utenti sia in Nord America che in Asia).
- Le scritture provengono da una posizione diversa rispetto alle letture (ad esempio, se hai carichi di lavoro di scrittura di grandi dimensioni in Nord America e carichi di lavoro di lettura di grandi dimensioni in Europa).
Le configurazioni per più regioni possono:
- Operazioni di scrittura da più regioni.
- Mantieni la disponibilità in caso di errori a livello di regione.
- Offri una disponibilità più elevata e SLA (accordi sul livello del servizio) rispetto alle configurazioni a livello di regione.
Le configurazioni multiregionali consentono di replicare i dati del database in più zone su più regioni, come definito dalla configurazione dell'istanza. Queste repliche aggiuntive ti consentono di leggere i dati con latenza inferiore da più località vicine o all'interno delle regioni nella configurazione.
Esistono però dei compromessi, perché in una configurazione per più regioni, le repliche del quorum (lettura-scrittura) sono distribuite in più di una regione. Potresti notare una maggiore latenza di rete quando queste repliche comunicano tra loro per formare un quorum di scrittura. Le letture non richiedono un quorum. Il risultato è che l'applicazione raggiunge letture più rapide in più posizioni, con un piccolo aumento della latenza di scrittura. Per maggiori informazioni, consulta Il ruolo delle repliche nelle operazioni di scrittura e lettura.
Configurazioni disponibili
Spanner offre le seguenti configurazioni di istanze multiregionali di base:
Un continente
Nome configurazione di base | Località | Regioni di lettura/scrittura | Regioni di sola lettura | Regione testimone | Regione facoltativa |
---|---|---|---|---|---|
asia1 |
Asia | Tokyo: asia-northeast1 L,2R Osaka: asia-northeast2 2R |
Nessuna | Seul: asia-northeast3 |
Sola lettura: us-west1 1-OR us-east5 1-OR |
asia2 R |
Asia | Mumbai: asia-south1 L,2R Delhi: asia-south2 2R Singapore: asia-southeast1 1R |
Nessuna | Nessuna | |
eur3 |
Europa | Belgio: europe-west1 L,2R Paesi Bassi: europe-west4 2R |
Nessuna | Finlandia: europe-north1 |
|
eur5 |
Europa | Londra: europe-west2 L,2R Belgio: europe-west1 2R |
Nessuna | Paesi Bassi: europe-west4 |
Sola lettura: us-central1 1-OR us-east1 1-OR |
eur6 |
Europa | Paesi Bassi: europe-west4 L,2R Francoforte: europe-west3 2R |
Nessuna | Zurigo: europe-west6 |
Sola lettura: us-east1 2-OR |
nam3 |
Nord America | Virginia del Nord: us-east4 L,2R Carolina del Sud: us-east1 2R |
Nessuna | Iowa: us-central1 |
Sola lettura: us-west2 1-OR asia-southeast1 1-OR asia-southeast2 1-OR europe-west1 1-OR europe-west2 1-OR |
nam6 |
Nord America | Iowa: us-central1 L,2R Carolina del Sud: us-east1 2R |
Oregon: us-west1 1R Los Angeles: us-west2 1R |
Oklahoma: us-central2 |
|
nam7 |
Nord America | Iowa: us-central1 L,2R Virginia del Nord: us-east4 2R |
Nessuna | Oklahoma: us-central2 |
Sola lettura: us-east1 2-OR us-south1 1-OR europe-west1 2-OR |
nam8 |
Nord America | Los Angeles: us-west2 L,2R Oregon: us-west1 2R |
Nessuna | Salt Lake City: us-west3 |
Sola lettura: asia-southeast1 2R europe-west2 2R |
nam9 |
Nord America | Virginia del Nord: us-east4 L,2R Iowa: us-central1 2R |
Oregon: us-west1 2R |
Carolina del Sud: us-east1 |
|
nam10 |
Nord America | Iowa: us-central1 L,2R Salt Lake City: us-west3 2R |
Nessuna | Oklahoma: us-central2 |
|
nam11 |
Nord America | Iowa: us-central1 L,2R Carolina del Sud: us-east1 2R |
Nessuna | Oklahoma: us-central2 |
Sola lettura: us-west1 1-OR |
nam12 |
Nord America | Iowa: us-central1 L,2R Virginia del Nord: us-east4 2R |
Oregon: us-west1 2R |
Oklahoma: us-central2 |
|
nam13 |
Nord America | Oklahoma: us-central2 L,2R Iowa: us-central1 2R |
Nessuna | Salt Lake City: us-west3 |
|
nam14 |
Nord America | Virginia del Nord: us-east4 L,2R Montréal: northamerica-northeast1 2R |
Nessuna | Carolina del Sud: us-east1 |
|
nam15 |
Nord America | Dallas: us-south1 L,2R Virginia del Nord: us-east4 2R |
Nessuna | Iowa: us-central1 |
Tre continenti
Nome configurazione di base | Località | Regioni di lettura/scrittura | Regioni di sola lettura | Regione testimone | Regione facoltativa |
---|---|---|---|---|---|
nam-eur-asia1 |
Nord America Europa Asia |
Iowa: us-central1 L,2R Oklahoma: us-central2 2R |
Belgio: europe-west1 2R Taiwan: asia-east1 2R |
Carolina del Sud: us-east1 |
Sola lettura: us-west2 1-OR |
nam-eur-asia3 |
Nord America Europa Asia |
Iowa: us-central1 L,2R Carolina del Sud: us-east1 2R |
Belgio: europe-west1 1R Paesi Bassi: europe-west4 1R Taiwan: asia-east1 2R |
Oklahoma: us-central2 |
L: regione leader predefinita. Per maggiori informazioni, consulta Modificare la regione leader di un database.
1R: una replica nella regione.
2R: due repliche nella regione.
1-OR: una replica facoltativa. Puoi creare una configurazione dell'istanza regionale personalizzata e aggiungere una replica facoltativa di sola lettura. Per maggiori informazioni, consulta Creare una configurazione dell'istanza personalizzata.
2-OR: fino a due repliche facoltative. Puoi creare una configurazione di istanza regionale personalizzata e aggiungere una o due repliche facoltative di sola lettura. Ti consigliamo di aggiungerne due (se possibile) per mantenere una bassa latenza di lettura. Per maggiori informazioni, consulta Creare una configurazione dell'istanza personalizzata.
A: questa configurazione dell'istanza è limitata con una lista consentita. Per accedervi, contatta il tuo Technical Account Manager.
Vantaggi
Le istanze multiregionali offrono i seguenti vantaggi principali:
Disponibilità del 99,999%, superiore alla disponibilità del 99,99% offerta dalle configurazioni regionali di Spanner.
Distribuzione dei dati: Spanner replica automaticamente i dati tra regioni con garanzie di elevata coerenza. Ciò consente di archiviare i dati dove vengono utilizzati, il che può ridurre la latenza e migliorare l'esperienza utente.
Coerenza esterna: anche se Spanner esegue la replica in località geografiche lontane, puoi comunque utilizzare Spanner come se fosse un database in esecuzione su un'unica macchina. È garantito che le transazioni siano seriizzabili e l'ordine delle transazioni all'interno del database è lo stesso dell'ordine in cui i clienti osservano che le transazioni sono state confermate. La coerenza esterna è una garanzia più efficace rispetto all'"elevata coerenza", che è offerta da alcuni altri prodotti. Scopri di più su questa proprietà in TrueTime e coerenza esterna.
Replica
Ogni configurazione di base per più regioni contiene due regioni designate come regioni di lettura-scrittura, ciascuna delle quali contiene due repliche di lettura-scrittura. Una di queste regioni di lettura-scrittura è designata come regione leader predefinita, il che significa che contiene le repliche leader del database. Spanner posiziona anche una replica di test in una terza regione chiamata regione di test.
Ogni volta che un client invia una modifica al tuo database, si forma un quorum di scrittura, composto da una delle repliche della regione leader predefinita e due delle altre quattro repliche di voto. (Il quorum potrebbe essere formato da repliche di due o tre delle regioni che compongono la tua configurazione, a seconda di quali altre repliche partecipano al voto.) Oltre a queste cinque repliche di voto, alcune configurazioni multiregionali di base contengono repliche di sola lettura per la gestione di letture a bassa latenza. Le regioni che contengono repliche di sola lettura sono chiamate regioni di sola lettura.
In generale, le regioni di voto in una configurazione multiregionale sono posizionate geograficamente vicino, a meno di mille miglia di distanza l'una dall'altra, per formare un quorum a bassa latenza che consente scritture rapide (scopri di più). Tuttavia, le regioni sono ancora abbastanza distanti (di solito almeno qualche centinaio di chilometri) per evitare errori coordinati. Inoltre, se l'applicazione client si trova in un'area geografica non principale, Spanner utilizza il routing basato sui leader per instradare le transazioni di lettura e scrittura in modo dinamico e ridurre la latenza nel database. Per ulteriori informazioni, consulta la sezione Routing basato sui leader.
Puoi creare una configurazione personalizzata di istanze multiregionali con repliche di sola lettura facoltative. Le repliche di sola lettura personalizzate non possono essere incluse nei quorum di scrittura. Puoi aggiungere località elencate nella colonna Regione facoltativa come repliche facoltative di sola lettura. Se non vedi la località scelta per la replica di sola lettura, puoi richiedere una nuova regione facoltativa per la replica di sola lettura. Per saperne di più, consulta Repliche di sola lettura.
Best practice per le prestazioni per le configurazioni multiregionali
Per un rendimento ottimale, segui queste best practice:
- Progetta uno schema che impedisca gli hotspot e altri problemi di prestazioni.
- Per una latenza di scrittura ottimale, posiziona le risorse di computing per i carichi di lavoro ad alta intensità di scrittura all'interno o nelle vicinanze della regione leader predefinita.
- Per prestazioni di lettura ottimali al di fuori della regione leader predefinita, utilizza un tempo di inattività di almeno 15 secondi.
- Per evitare una dipendenza da una singola regione per i carichi di lavoro, posiziona le risorse di computing critiche in almeno due regioni. Una buona opzione è posizionarle accanto a due diverse regioni di lettura e scrittura in modo che l'interruzione di una singola regione non influisca su tutte le tue applicazioni.
- Esegui il provisioning di una capacità di calcolo sufficiente per mantenere l'utilizzo totale della CPU ad alta priorità al di sotto del 45% in ogni regione.
- Per la quantità di velocità effettiva per nodo Spanner, consulta le prestazioni per le configurazioni multiregionali.
Tipi di regioni
Spanner prevede tre tipi di regioni: regioni di lettura-scrittura, regioni di sola lettura e regioni di visualizzazione.
Regioni di lettura/scrittura
Ogni configurazione per più regioni contiene due regioni di lettura-scrittura, ciascuna delle quali contiene due repliche di lettura-scrittura.
Una di queste regioni di lettura-scrittura è designata come regione leader predefinita. Viene selezionato un leader tra le repliche nella regione leader predefinita per ogni segmento. In caso di errore della replica leader, l'altra replica nella regione leader predefinita assume automaticamente la leadership. Infatti, i leader eseguono controlli di integrità su se stessi e possono rinunciare preventivamente alla leadership se rilevano di essere insalubri. Nella maggior parte dei casi, quando l'regione leader predefinita torna a uno stato sano, la dirigenza riprende automaticamente.
Le scritture vengono elaborate prima nella regione leader predefinita. Puoi monitorare la percentuale di repliche all'interno di una determinata regione utilizzando la metrica di monitoraggio instance/leader_percentage_by_region
. Per ulteriori informazioni, consulta la sezione Metriche di Spanner.
La seconda regione di lettura/scrittura contiene repliche aggiuntive che gestiscono le letture e partecipano alle votazioni per le scritture di commit. Queste repliche aggiuntive nella seconda regione di lettura-scrittura possono essere leader. Nell'improbabile eventualità della perdita di tutte le repliche nella regione leader predefinita, le nuove repliche leader vengono scelte dalla seconda regione di lettura/scrittura.
Puoi configurare la regione leader di un database seguendo le istruzioni in Cambiare la regione leader di un database. Per ulteriori informazioni, consulta la sezione Configurare la regione leader predefinita.
Regioni di sola lettura
Le regioni di sola lettura contengono repliche di sola lettura, che possono gestire letture a bassa latenza per i client che si trovano al di fuori delle regioni di lettura e scrittura. Le repliche di sola lettura conservano una copia completa dei tuoi dati, che viene replicata dalle repliche di lettura e scrittura. Non partecipano alle votazioni per le scritture, quindi non contribuiscono mai alla latenza di scrittura.
Alcune configurazioni di base per più regioni contengono repliche di sola lettura. Puoi anche creare una configurazione di istanza personalizzata e aggiungere repliche di sola lettura alle tue configurazioni di istanze personalizzate per scalare le letture e supportare letture inattive a bassa latenza. Tutte le repliche di sola lettura sono soggette ai costi di capacità di calcolo e di archiviazione del database. Inoltre, l'aggiunta di repliche di sola lettura alla configurazione di un'istanza non modifica gli SLA di Spanner della configurazione dell'istanza. Per saperne di più, consulta Repliche di sola lettura.
Regioni di riferimento
Una regione testimone contiene una replica testimoni, che viene utilizzata per votare le scritture. I testimoni diventano importanti nel raro evento in cui le regioni di lettura-scrittura non siano più disponibili.
Sposta un'istanza
Puoi spostare l'istanza Spanner da qualsiasi configurazione di istanza a qualsiasi altra configurazione di istanza, anche tra configurazioni a livello di una o più regioni. Lo spostamento dell'istanza non causa tempi di inattività e Spanner continua a fornire le consuete garanzie di transazioni, tra cui un'elevata coerenza, durante lo spostamento.
Per scoprire di più sullo spostamento di un'istanza Spanner, consulta Spostare un'istanza.
Configura la regione leader predefinita
Per cambiare la località della regione leader predefinita del tuo database in modo che sia più vicina alla connessione dei client per ridurre la latenza delle applicazioni, puoi cambiare la regione leader per qualsiasi istanza Spanner che utilizza una configurazione multiregionale. Per istruzioni su come modificare la località della regione leader, consulta Modificare la regione leader di un database. Le uniche regioni idonee a diventare la regione leader predefinita per il tuo database sono le regioni di lettura e scrittura nella tua configurazione per più regioni.
La regione leader è responsabile della gestione di tutte le scritture del database, pertanto se la maggior parte del traffico proviene da un'area geografica, puoi spostarlo in quella regione per ridurre la latenza. L'aggiornamento dell'area geografica leader predefinita è economico e non prevede trasferimenti di dati. L'applicazione del nuovo valore richiede alcuni minuti.
La modifica della regione leader predefinita è una modifica allo schema, che utilizza un'operazione a lunga esecuzione. Se necessario, puoi recuperare lo stato dell'operazione a lunga esecuzione.
Svantaggi: configurazioni a livello di una o più regioni
Configurazione | Disponibilità | Latenza | Costo | Località dei dati |
---|---|---|---|---|
Regionale | 99,99% | Latenze di scrittura ridotte all'interno della regione. | Costo inferiore; vedi i pricing. | Consente la governance dei dati geografici. |
Più regioni | 99,999% | Riduzione della latenza di lettura da più regioni geografiche; piccolo aumento della latenza di scrittura. | Costo maggiore; vedi i pricing. | Distribuisce i dati in più regioni all'interno della configurazione. |
Passaggi successivi
- Scopri come creare un'istanza Spanner.
- Scopri di più su regioni e zone di Google Cloud.