Questa pagina descrive le configurazioni delle istanze e i due tipi di configurazione delle istanze offerti da Spanner: configurazioni regionali e configurazioni multiregionali. Descrive inoltre le differenze e i compromessi tra le configurazioni per una o più regioni.
Configurazioni istanza
Una configurazione dell'istanza definisce il posizionamento geografico e la replica dei database in quell'istanza. Quando crei un'istanza, devi configurarla come regionale (tutte le risorse si trovano all'interno di una singola regione Google Cloud) o più regioni (le risorse coprono più regioni). Per fare questa scelta, seleziona una configurazione dell'istanza, che determina dove vengono archiviati i dati per l'istanza.
Le configurazioni di istanze con regioni fisse e topologie di replica sono denominate configurazioni di 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 ulteriori informazioni, consulta Repliche di sola lettura.
Puoi spostare l'istanza da qualsiasi configurazione dell'istanza a qualsiasi altra configurazione di istanza regionale o multiregionale (ad esempio, da us-centra1
a nam3
).Puoi anche creare una nuova configurazione di istanza personalizzata con repliche aggiuntive, quindi spostare l'istanza nella nuova configurazione di 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 gli utenti e i servizi si trovano all'interno di una singola regione, scegli una configurazione dell'istanza a livello di regione per le letture e le scritture con latenza più bassa.
Per qualsiasi configurazione regionale di base, Spanner gestisce tre repliche di lettura e scrittura, ciascuna all'interno di una diversa zona Google Cloud in quella regione. Ogni replica di lettura/scrittura contiene una copia completa del tuo database operativo in grado di gestire richieste di lettura-scrittura e di sola lettura. Spanner usa repliche in zone diverse, così il database rimane disponibile in caso di errore in una singola zona.
Configurazioni disponibili
Spanner offre le seguenti configurazioni di istanze a livello di regione di base:
Nome configurazione di base | Descrizione regione | Regione facoltativa | |
---|---|---|---|
Americhe | |||
northamerica-northeast1 |
Montréal
|
||
northamerica-northeast2 |
Toronto
|
||
southamerica-east1 |
San Paolo
|
||
southamerica-west1 |
Santiago
|
||
us-central1 |
Iowa
|
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
|
||
us-west2 |
Los Angeles | ||
us-west3 |
Salt Lake City | ||
us-west4 |
Las Vegas | ||
Europa | |||
europe-central2 |
Varsavia | ||
europe-north1 |
Finlandia
|
||
europe-southwest1 |
Madrid | ||
europe-west1 |
Belgio
|
Sola lettura: us-central1 1-OR us-west1 1-OR |
|
europe-west2 |
Londra
|
||
europe-west3 |
Francoforte
|
||
europe-west4 |
Paesi Bassi | ||
europe-west6 |
Zurigo
|
||
europe-west8 |
Milano | ||
europe-west9 |
Parigi
|
||
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 regionali di base contengono tre repliche di lettura e scrittura. Ogni mutazione di Spanner richiede un quorum di scrittura composto dalla maggioranza 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, vedi Replica.
Puoi creare una configurazione di istanza regionale personalizzata e aggiungere repliche facoltative di sola lettura. Le repliche di sola lettura consentono di scalare le letture e di supportare letture inattive a bassa latenza. Queste repliche di sola lettura non fanno parte dei quorum di scrittura e non influiscono sullo SLA (accordo sul livello del servizio) di Spanner >= 99, 99% per le istanze a livello di regione. Puoi aggiungere le località elencate nella colonna Regione facoltativa come repliche di sola lettura facoltative. Se non vedi la località che hai scelto per la replica di sola lettura, puoi richiedere una nuova regione facoltativa replica di sola lettura. Per ulteriori informazioni, consulta Repliche di sola lettura.
Best practice per le prestazioni delle configurazioni regionali
Per un rendimento ottimale, segui queste best practice:
- Progetta uno schema che impedisca hotspot e altri problemi di prestazioni.
- Posiziona 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 l'applicazione ha bisogno di leggere i dati di più località geografiche (ad esempio, per fornire dati agli utenti sia in Nord America che in Asia).
- Le scritture provengono da una località diversa da quella delle 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 multiregionali possono:
- Gestisci le scritture da più regioni.
- Mantieni la disponibilità in caso di errori regionali.
- Fornisci disponibilità e SLA (accordi sul livello del servizio) più elevati rispetto alle configurazioni regionali.
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 consentono di leggere i dati con latenza inferiore da più località vicine o all'interno delle regioni nella configurazione.
Ci sono però dei compromessi, perché in una configurazione multiregionale le repliche del quorum (lettura/scrittura) sono distribuite in più di una regione. Potresti notare una latenza di rete aggiuntiva quando queste repliche comunicano tra loro per formare un quorum di scrittura. Le letture non richiedono il quorum. Il risultato è che l'applicazione consente letture più rapide in più posizioni, al costo di un piccolo aumento della latenza di scrittura. Per maggiori informazioni, consulta Il ruolo delle repliche nelle scritture e nelle letture.
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 dei testimoni | 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 A |
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 dei testimoni | 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 di istanza regionale personalizzata e aggiungere una replica facoltativa di sola lettura. Per maggiori informazioni, consulta Creare una configurazione di 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 di istanza personalizzata.
R: questa configurazione dell'istanza è limitata da una lista consentita. Per ottenere l'accesso, 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% fornita dalle configurazioni regionali di Spanner.
Distribuzione dei dati: Spanner replica automaticamente i dati tra regioni con garanzie di elevata coerenza. In questo modo i tuoi dati possono essere archiviati dove sono utilizzati, il che può ridurre la latenza e migliorare l'esperienza utente.
Coerenza esterna: anche se Spanner si replica in località geograficamente distanti, puoi comunque utilizzare Spanner come se fosse un database in esecuzione su un'unica macchina. È garantito che le transazioni siano serializzabili e l'ordine delle transazioni all'interno del database è lo stesso dell'ordine in cui i clienti osservano l'esecuzione del commit delle transazioni. La coerenza esterna è una garanzia più efficace della "elevata coerenza", offerta da alcuni altri prodotti. Scopri di più su questa proprietà in TrueTime e coerenza esterna.
Replica
Ogni configurazione di base multiregionale contiene due regioni designate come regioni di lettura e scrittura, ciascuna delle quali contiene due repliche di lettura e scrittura. Una di queste regioni di lettura-scrittura è designata come regione leader predefinita, il che significa che contiene le repliche leader del tuo database. Spanner inserisce inoltre una replica di testimonianza in una terza regione denominata regione di testimoni.
Ogni volta che un client emette una mutazione nel tuo database, si forma un quorum di scrittura composto da una delle repliche della regione leader predefinita e da due delle quattro repliche di voto aggiuntive. Il quorum potrebbe essere costituito dalle repliche di due o tre regioni che compongono la tua configurazione, a seconda di quali altre repliche partecipano al voto. Oltre a queste cinque repliche di voto, alcune configurazioni di base multiregionali contengono repliche di sola lettura per gestire 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 vicine, a meno di mille miglia di distanza l'una dall'altra, per formare un quorum di bassa latenza che consente scritture rapide (scopri di più). Tuttavia, le regioni sono ancora sufficientemente lontane (in genere almeno alcune centinaia di chilometri) per evitare guasti coordinati. Inoltre, se l'applicazione client si trova in una regione non leader, Spanner utilizza il routing leader-aware per instradare dinamicamente le transazioni di lettura-scrittura in modo da ridurre la latenza nel database. Per ulteriori informazioni, vedi Routing sensibile al lead.
Puoi creare una configurazione personalizzata di istanze multiregionali con repliche facoltative di sola lettura. Eventuali repliche di sola lettura personalizzate non possono essere incluse nei quorum di scrittura. Puoi aggiungere località elencate nella colonna Regione facoltativa come repliche di sola lettura facoltative. 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 ulteriori informazioni, consulta Repliche di sola lettura.
Best practice sulle prestazioni per le configurazioni multiregionali
Per un rendimento ottimale, segui queste best practice:
- Progetta uno schema che impedisca hotspot e altri problemi di prestazioni.
- Per una latenza di scrittura ottimale, posiziona le risorse di calcolo per 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'inattività di almeno 15 secondi.
- Per evitare la dipendenza da un'unica regione per i tuoi carichi di lavoro, posiziona risorse di calcolo critiche in almeno due regioni. Una buona soluzione è collocarle accanto alle due diverse regioni di lettura e scrittura, in modo che l'interruzione di una singola regione non influisca sull'intera applicazione.
- Esegui il provisioning di una capacità di calcolo sufficiente per mantenere l'utilizzo totale della CPU ad alta priorità inferiore al 45% in ogni regione.
- Per la quantità di velocità effettiva per nodo Spanner, consulta le prestazioni per le configurazioni multiregionali.
Tipi di regioni
Spanner offre tre tipi di regioni: regioni di lettura-scrittura, regioni di sola lettura e regioni di testimonianza.
Regioni di lettura-scrittura
Ogni configurazione multiregionale contiene due regioni di lettura e scrittura, ciascuna delle quali contiene due repliche di lettura e scrittura.
Una di queste regioni di lettura-scrittura è designata come regione leader predefinita. Per ogni suddivisione, viene selezionato un leader tra le repliche nella regione leader predefinita. 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 non essere in salute. Nella maggior parte dei casi, quando la regione leader predefinita torna allo stato integro, assume automaticamente la leadership.
Le scritture vengono elaborate per la prima volta 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 Metriche di Spanner.
La seconda regione di lettura/scrittura contiene altre repliche che gestiscono le operazioni di lettura e partecipano alle operazioni di voto per le scritture di commit. Queste repliche aggiuntive nella seconda regione di lettura/scrittura sono idonee a essere leader. Nell'improbabile caso in cui si verifichi la perdita di tutte le repliche nella regione leader predefinita, vengono scelte nuove repliche leader dalla seconda regione di lettura e scrittura.
Puoi configurare la regione leader di un database seguendo le istruzioni riportate in Cambiare la regione leader di un database. Per saperne di più, consulta Configurare la regione leader predefinita.
Regioni di sola lettura
Le regioni di sola lettura contengono repliche di sola lettura, che possono fornire letture a bassa latenza per i client che si trovano all'esterno delle regioni di lettura-scrittura. Le repliche di sola lettura mantengono una copia completa dei tuoi dati, che viene replicata dalle repliche di lettura e scrittura. Non partecipano alle votazioni per il commit delle scritture, quindi non contribuiscono mai alla latenza di scrittura.
Alcune configurazioni multiregionali di base contengono repliche di sola lettura. Puoi anche creare una configurazione delle istanze personalizzate e aggiungere repliche di sola lettura alle configurazioni delle istanze personalizzate per scalare le letture e supportare letture inattive a bassa latenza. Tutte le repliche di sola lettura sono soggette alla capacità di calcolo e ai costi di archiviazione del database. Inoltre, l'aggiunta di repliche di sola lettura a una configurazione dell'istanza non modifica gli SLA di Spanner della configurazione dell'istanza. Per ulteriori informazioni, consulta Repliche di sola lettura.
Regioni testimoni
Una regione dei testimoni contiene una replica dei testimoni, che viene utilizzata per votare le scritture. I testimoni diventano importanti nel raro caso in cui le regioni di lettura e scrittura non siano più disponibili.
Sposta un'istanza
Puoi spostare l'istanza Spanner da qualsiasi configurazione dell'istanza a qualsiasi altra configurazione dell'istanza, incluse configurazioni regionali e multiregionali. Lo spostamento dell'istanza non causa tempi di inattività e Spanner continua a fornire le consuete garanzie sulle transazioni, tra cui l'elevata coerenza, durante il trasferimento.
Per saperne di più sullo spostamento di un'istanza Spanner, consulta Spostare un'istanza.
Configura la regione leader predefinita
Per modificare la località della regione leader predefinita del database in modo che sia più vicina alla connessione dei client al fine di ridurre la latenza dell'applicazione, puoi modificare la regione leader per qualsiasi istanza Spanner che utilizza una configurazione multiregionale. Per istruzioni su come modificare la località della regione leader, consulta Cambiare 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 multiregionale.
La regione leader è responsabile della gestione di tutte le scritture dei database, quindi se la maggior parte del traffico proviene da un'area geografica, puoi spostarlo in quella regione per ridurre la latenza. L'aggiornamento della regione leader predefinita è economico e non prevede lo spostamento dei dati. L'applicazione del nuovo valore richiede qualche minuto.
La modifica della regione leader predefinita è una modifica dello schema, che utilizza un'operazione a lunga esecuzione. Se necessario, puoi ottenere lo stato dell'operazione a lunga esecuzione.
Scontri: configurazioni a livello di una regione e di più regioni
Configurazione | Disponibilità | Latenza | Costo | Località dei dati |
---|---|---|---|---|
Regionale | 99,99% | Latenze di scrittura inferiori all'interno della regione. | Costo inferiore; consulta i pricing. | Consente la governance dei dati geografici. |
Più regioni | 99,999% | Latenze di lettura inferiori da più regioni geografiche; un piccolo aumento della latenza di scrittura. | Costo superiore; consulta 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.