Nesta página, descrevemos as configurações de instância e os dois tipos de configuração de instância que o Cloud Spanner oferece: configurações regionais e multirregionais. Também descrevemos as diferenças, vantagens e desvantagens entre as configurações regionais e multirregionais.
Configurações da instância
A configuração de uma instância define a localização geográfica e a replicação dos bancos de dados nessa instância. Ao criar uma instância, é necessário configurá-la como regional (todos os recursos estão contidos em uma única região do Google Cloud) ou multirregional (os recursos abrangem mais de uma região). Essa escolha é feita selecionando a configuração de uma instância, que determina onde seus dados serão armazenados para essa instância.
As configurações de instância com regiões fixas e topologias de replicação são chamadas de configurações de instância de base. É possível criar configurações de instância personalizadas e adicionar mais réplicas opcionais somente leitura. Não é possível alterar a topologia de replicação de configurações da instância básica. Para mais informações, consulte Réplicas somente leitura.
Também é possível mover sua instância de qualquer configuração de instância para qualquer outra configuração de instância regional ou multirregional.
Configurações regionais
Os serviços do Google Cloud estão disponíveis em locais da América do Norte, América do Sul, Europa, Ásia e Austrália. Se os seus usuários e serviços estão localizados em uma única região, escolha uma configuração de instância regional para ter leituras e gravações com a menor latência.
Para qualquer configuração regional básica, o Spanner mantém três réplicas de leitura/gravação, cada uma dentro de uma zona diferente do Google Cloud nessa região. Cada réplica de leitura/gravação contém uma cópia completa do seu banco de dados operacional que pode atender a solicitações de leitura/gravação e somente leitura. O Spanner usa réplicas em diferentes zonas para que, se ocorrer uma falha em uma única zona, o banco de dados permaneça disponível.
Configurações disponíveis
O Spanner oferece as seguintes configurações de instância regional base:
Nome da configuração básica | Descrição do local regional | ||
---|---|---|---|
América | |||
northamerica-northeast1 |
Montreal |
|
|
northamerica-northeast2 |
Toronto |
|
|
southamerica-east1 |
São Paulo |
|
|
southamerica-west1 |
Santiago | ||
us-central1 |
Iowa |
|
|
us-east1 |
Carolina do Sul | ||
us-east4 |
Norte da Virgínia | ||
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 |
Varsóvia | ||
europe-north1 |
Finlândia |
|
|
europe-southwest1 |
Madri |
|
|
europe-west1 |
Bélgica |
|
|
europe-west2 |
Londres | ||
europe-west3 |
Frankfurt | ||
europe-west4 |
Países Baixos | ||
europe-west6 |
Zurique |
|
|
europe-west8 |
Milão | ||
europe-west9 |
Paris |
|
|
Ásia-Pacífico | |||
asia-east1 |
Taiwan | ||
asia-east2 |
Hong Kong | ||
asia-northeast1 |
Tóquio | ||
asia-northeast2 |
Osaka | ||
asia-northeast3 |
Seul | ||
asia-south1 |
Mumbai | ||
asia-south2 |
Délhi | ||
asia-southeast1 |
Singapura | ||
asia-southeast2 |
Jacarta | ||
australia-southeast1 |
Sydney | ||
australia-southeast2 |
Melbourne | ||
Oriente Médio | |||
me-west1 |
Tel Aviv |
Replicação
As configurações regionais de base contêm três réplicas de leitura/gravação. Cada mutação do Spanner requer um quórum de gravação composto de uma maioria de réplicas votantes. Os quóruns de gravação são formados a partir de duas das três réplicas em configurações regionais. Para mais informações sobre regiões líderes e réplicas de votação, consulte Replicação.
É possível criar uma configuração de instância regional personalizada e adicionar réplicas opcionais somente leitura. Réplicas somente leitura podem ajudar a escalonar leituras e oferecer suporte a leituras desatualizadas de baixa latência. Essas réplicas somente leitura não participam dos quórums de gravação e não afetam o Spanner >= 99, 99% SLA para instâncias regionais. Para mais informações, consulte Réplicas somente leitura.
Práticas recomendadas
Para um desempenho ideal, siga estas práticas recomendadas:
- Crie um esquema que previna uso excessivo do ponto de acesso e outros problemas de desempenho.
- Colocar recursos de computação essenciais dentro da mesma região de sua instância do Spanner.
- Provisione capacidade de computação suficiente para manter o uso de CPU de alta prioridade abaixo de 65%.
Desempenho
Quando você segue as práticas recomendadas descritas acima, cada 1.000 unidades de processamento (1 nó) de capacidade de computação pode fornecer até 10.000 consultas por segundo (QPS) de leituras ou 2.000 QPS de gravações (gravando apenas linhas em 1 KB de dados por linha). Cada réplica opcional somente leitura pode fornecer 3.500 QPS de leituras.
Configurações multirregionais
As configurações regionais do Spanner replicam dados entre várias zonas dentro de uma única região. No entanto, uma configuração regional pode não ser ideal nas seguintes situações:
- Se o aplicativo precisar ler dados de vários locais geográficos com frequência, por exemplo, para exibir dados a usuários na América do Norte e na Ásia
- Se as gravações se originarem de um local diferente das suas leituras (por exemplo, se você tiver grandes cargas de trabalho de gravação na América do Norte e grandes cargas de trabalho de leitura na Europa).
As configurações multirregionais têm outros benefícios, como:
- Manter disponibilidade em caso de falhas regionais.
- Oferecem maior disponibilidade e SLAs do que as configurações regionais.
- Exibir gravações de várias regiões.
As configurações multirregionais permitem replicar os dados do banco de dados, não apenas em várias zonas, mas também em muitas zonas em diversas regiões, conforme definido pela configuração da instância. Essas réplicas adicionais permitem que você leia dados com baixa latência de vários locais próximos ou dentro da região na configuração. No entanto, há desvantagens, porque em uma configuração multirregional, as réplicas de quórum (leitura/gravação) estão espalhadas por mais de uma região. Portanto, elas podem sofrer uma latência de rede adicional quando se comunicarem entre si para votar em gravações. Em outras palavras, as configurações multirregionais permitem que seu aplicativo tenha leituras mais rápidas em mais locais ao custo de um pequeno aumento na latência de gravação.
Configurações disponíveis
O Spanner oferece as seguintes configurações de instância multirregional básicas:
Um continente
Nome da configuração básica | Local | Regiões de leitura/gravação | Regiões somente leitura | Região de testemunha | Região opcional |
---|---|---|---|---|---|
asia1 |
Ásia | Tóquio: asia-northeast1 L,2R Osaka: asia-northeast2 2R |
Nenhum | Seul: asia-northeast3 |
|
eur3 |
Europa | Bélgica: europe-west1 L,2R Países Baixos: europe-west4 2R |
Nenhum | Finlândia: europe-north1 |
|
eur5 |
Europa | Londres: europe-west2 L,2R Bélgica: europe-west1 2R |
Nenhum | Países Baixos: europe-west4 |
|
eur6 |
Europa | Países Baixos: europe-west4 L,2R Frankfurt: europe-west3 2R |
Nenhum | Zurique: europe-west6 |
Somente leitura: us-east1 2R |
nam3 |
América do Norte | Virgínia do Norte: us-east4 L,2R Carolina do Sul: us-east1 2R |
Nenhum | Iowa: us-central1 |
Somente leitura: us-west2 1R |
nam6 |
América do Norte | Iowa: us-central1 L,2R Carolina do Sul: us-east1 2R |
Oregon: us-west1 1R Los Angeles: us-west2 1R |
Oklahoma: us-central2 |
|
nam7 |
América do Norte | Iowa: us-central1 L,2R Virgína do Norte: us-east4 2R |
Nenhum | Oklahoma: us-central2 |
Somente leitura: us-east1 2R |
nam8 |
América do Norte | Los Angeles: us-west2 L,2R Oregon: us-west1 2R |
Nenhum | Salt Lake City: us-west3 |
|
nam9 |
América do Norte | Virgínia do Norte: us-east4 L,2R Iowa: us-central1 2R |
Oregon: us-west1 2R |
Carolina do Sul: us-east1 |
|
nam10 |
América do Norte | Iowa: us-central1 L,2R Salt Lake City: us-west3 2R |
Nenhum | Oklahoma: us-central2 |
|
nam11 |
América do Norte | Iowa: us-central1 L,2R Carolina do Sul: us-east1 2R |
Nenhum | Oklahoma: us-central2 |
Somente leitura: us-west1 1R |
nam12 |
América do Norte | Iowa: us-central1 L,2R Virgína do Norte: us-east4 2R |
Oregon: us-west1 2R |
Oklahoma: us-central2 |
|
nam13 |
América do Norte | Oklahoma: us-central2 L,2R Iowa: us-central1 2R |
Nenhum | Salt Lake City: us-west3 |
Três continentes
Nome da configuração básica | Locais | Regiões de leitura/gravação | Regiões somente leitura | Região das Testemunhas |
---|---|---|---|---|
nam-eur-asia1 |
América do Norte Europa Ásia |
Iowa: us-central1 L,2R Oklahoma: us-central2 2R |
Bélgica: europe-west1 2R Taiwan: asia-east1 2R |
Carolina do Sul: us-east1 |
nam-eur-asia3 |
América do Norte Europa Ásia |
Iowa: us-central1 L,2R Carolina do Sul: us-east1 2R |
Bélgica: europe-west1 1R Holanda: europe-west4 1R Taiwan: asia-east1 2R |
Oklahoma: us-central2 |
L: região líder padrão. Consulte também Configurar a região líder padrão.
1R: uma réplica na região
2R: 2 réplicas na região
Benefícios
Instâncias multirregionais oferecem estas vantagens principais:
Disponibilidade de 99,999% : maior do que a disponibilidade de 99,99% fornecida pelas configurações regionais do Spanner.
Distribuição de dados: o Spanner replica automaticamente seus dados entre regiões com fortes garantias de consistência. Isso permite que seus dados sejam armazenados onde serão utilizados, o que pode reduzir a latência e melhorar a experiência do usuário.
Consistência externa: mesmo que o Spanner seja replicado em locais geograficamente distantes, ainda é possível usá-lo como se fosse um banco de dados em execução em uma única máquina. As transações têm a garantia de serem serializáveis, e a ordem das transações dentro do banco de dados é a mesma em que os clientes observam as transações que foram confirmadas. A consistência externa é uma garantia mais forte do que a "consistência forte", que é oferecida por alguns outros produtos. Saiba mais sobre essa propriedade em TrueTime e consistência externa.
Replicação
Cada configuração base multirregional contém duas regiões designadas como regiões de leitura/gravação. Cada uma delas contém duas réplicas de leitura/gravação. Uma dessas regiões de leitura/gravação é designada como a região líder padrão, o que significa que ela contém as réplicas líderes de seu banco de dados. O Spanner também coloca uma réplica de testemunha em uma terceira região chamada de região de testemunha.
Cada vez que o cliente emite uma mutação para seu banco de dados, forma-se um quórum de gravação, que consiste em uma das réplicas da região líder padrão e quaisquer duas das quatro réplicas votantes adicionais. O quórum pode ser formado por réplicas de duas ou três das regiões que compõem suas configurações, dependendo de quais outras réplicas participam da votação. Além dessas cinco réplicas de votação, algumas configurações base multirregional contêm réplicas somente leitura para disponibilizar leituras de baixa latência. As regiões que contêm réplicas somente leitura são chamadas de regiões somente leitura.
Em geral, as regiões votantes em uma configuração multirregional são colocadas geograficamente próximas (uma distância inferior a 1.600 km) para formar um quórum de baixa latência que permite gravações rápidas (saiba mais). No entanto, as regiões ainda estão suficientemente distantes, geralmente algumas centenas de quilômetros, para evitar falhas coordenadas.
É possível criar uma configuração personalizada de instâncias multirregionais com réplicas opcionais somente leitura. As réplicas personalizadas somente de leitura criadas não podem ser incluídas nos quóruns de gravação. Para mais informações, consulte Réplicas somente leitura.
Práticas recomendadas
Para um desempenho ideal, siga estas práticas recomendadas:
- Crie um esquema que previna uso excessivo do ponto de acesso e outros problemas de desempenho.
- Coloque os recursos de computação para cargas de trabalho de gravação pesadas dentro ou próximos da região líder padrão para conseguir a latência de gravação ideal.
- Use uma inatividade de pelo menos 15 segundos para ter o desempenho de leitura ideal fora da região líder padrão.
- Coloque os recursos de computação essenciais em, no mínimo, duas regiões para evitar a dependência de uma única região para suas cargas de trabalho. Uma boa opção é colocá-los ao lado das duas regiões de leitura e gravação diferentes para que qualquer interrupção de região única não afete todos os aplicativos.
- Provisione capacidade de computação suficiente para manter a utilização de alta prioridade total da CPU abaixo de 45% em cada região.
Desempenho
Cada configuração do Spanner tem características de desempenho um pouco diferentes com base na topologia de replicação.
Quando você segue as práticas recomendadas fornecidas, cada 1.000 unidades de processamento (1 nó) de capacidade de computação pode fornecer o seguinte desempenho aproximado:
Nome da configuração básica | Pico de leitura aproximado (QPS por região) | Pico de gravação aproximado (total de QPS) |
---|---|---|
asia1 |
7.000 | 1.800 |
eur3 |
7.000 | 1.800 |
eur5 |
7.000 | 1.800 |
eur6 |
7.000 3.500 para cada réplica opcional somente leitura |
1.800 |
nam3 |
7.000 3.500 para cada réplica opcional somente leitura |
1.800 |
nam6 |
7.000 em us-central1 e us-east1 3.500 em us-west1 e us-west2 [1] |
1.800 |
nam7 |
7.000 3.500 para cada réplica opcional somente leitura |
1.800 |
nam8 |
7.000 | 1.800 |
nam9 |
7.000 | 1.800 |
nam10 |
7.000 | 1.800 |
nam11 |
7.000 3.500 para cada réplica opcional somente leitura |
1.800 |
nam12 |
7.000 | 1.800 |
nam13 |
7.000 | 1.800 |
nam-eur-asia1 |
7.000 | 1.000 |
nam-eur-asia3 |
7.000 | 1.000 |
[1]:
us-west1
eus-west2
fornecem apenas metade do desempenho de QPS porque contêm uma réplica por região em vez de duas.
A orientação de leitura é dada por região, porque as leituras podem ser exibidas de qualquer lugar, enquanto a orientação de gravação se refere a toda a configuração. Na orientação de gravação, presume-se que você esteja gravando linhas simples a 1 KB de dados por linha.
Tipos de região
Regiões de leitura/gravação
Cada configuração multirregional contém duas regiões de leitura/gravação, cada uma com duas réplicas de leitura/gravação.
Uma dessas regiões de leitura/gravação é designada como a região líder padrão. Um líder é selecionado nas réplicas na região líder padrão para cada divisão. Caso ocorra uma falha na réplica líder, a outra réplica na região líder padrão assume automaticamente a liderança. Na realidade, as líderes executam verificações de integridade em si mesmas e podem desistir da liderança preventivamente se detectarem que não estão íntegras. Na maioria dos casos, quando a região líder padrão retorna a um estado íntegro, ela reavalia automaticamente a liderança.
As gravações são processadas primeiro na região líder padrão. É possível monitorar a
porcentagem de réplicas em uma determinada região
usando a métrica de monitoramento instance/leader_percentage_by_region
. Para mais informações, consulte Métricas do Spanner.
A segunda região de leitura/gravação contém as réplicas adicionais que estão qualificadas para serem líderes. No caso improvável de perda de todas as réplicas na região líder padrão, novas réplicas líderes são escolhidas a partir da segunda região de leitura/gravação.
É possível configurar a região líder de um banco de dados seguindo as instruções em Alterar a região líder de um banco de dados. Para mais informações, consulte Configurar a região líder padrão.
Regiões somente leitura
As regiões somente leitura contêm réplicas somente leitura que podem disponibilizar leituras de baixa latência a clientes que estejam fora das regiões de leitura/gravação. As réplicas somente leitura mantêm uma cópia completa dos dados, que são replicadas a partir das réplicas de leitura/gravação. Eles não participam da votação para confirmar as gravações. Portanto, nunca contribuem com nenhuma latência de gravação.
Algumas configurações de várias regiões básicas contêm réplicas somente leitura. Também é possível criar uma configuração de instância personalizada e adicionar réplicas somente leitura às configurações de instâncias personalizadas para escalonar as leituras e oferecer suporte a leituras desatualizadas de baixa latência. Todas as réplicas somente leitura estão sujeitas aos custos de capacidade de computação e armazenamento de banco de dados. Além disso, o acréscimo de réplicas somente leitura a uma configuração de instância não altera os SLAs do Spanner da configuração da instância. Para mais informações, consulte Réplicas somente leitura.
Regiões testemunhas
Uma região testemunha contém uma réplica testemunha, que é usada para votar em gravações. As testemunhas se tornam importantes no raro caso de as regiões de leitura/gravação ficarem indisponíveis.
Mover uma instância
É possível mover sua instância do Spanner de qualquer configuração de instância para qualquer outra configuração de instância, inclusive entre configurações regionais e multirregionais. Mover a instância não causa inatividade e o Spanner continua fornecendo as garantias comuns de transação, incluindo forte consistência, durante a migração.
Para saber mais sobre a migração da instância do Spanner, consulte Mover uma instância.
Configurar a região líder padrão
Para alterar o local da região líder padrão do seu banco de dados para mais perto de conectar clientes e reduzir a latência do aplicativo, altere a região líder para qualquer instância do Spanner que use uma configuração multirregional. Para instruções sobre como alterar o local da região líder, consulte Alterar a região líder de um banco de dados. As únicas regiões qualificadas para se tornarem a região líder padrão do banco de dados são as regiões de leitura e gravação na configuração multirregional.
A região líder é responsável por lidar com todas as gravações do banco de dados. Portanto, se a maior parte do seu tráfego vier de uma região geográfica, será possível movê-la para essa região a fim de reduzir a latência. Atualizar a região líder padrão é barato e não envolve transferências de dados. O novo valor leva alguns minutos para entrar em vigor.
Alterar a região líder padrão é uma mudança de esquema, que usa uma operação de longa duração. Se necessário, é possível ver o status da operação de longa duração.
Vantagens e desvantagens: configurações regionais x multirregionais
Configuração | Disponibilidade | Latência | Custo | Localidade dos dados |
---|---|---|---|---|
Regional | 99,99% | Menores latências de gravação dentro da região. | Custo mais baixo, consulte a tabela de preços. | Permite a governança de dados geográficos. |
Multirregional | 99,999% | Menores latências de leitura de várias regiões geográficas. | Custo mais elevado, consulte a tabela de preços. | Distribui dados em várias regiões dentro da configuração. |
A seguir
- Saiba como criar uma instância do Spanner.
- Saiba mais sobre regiões e zonas do Google Cloud.