Nesta página, descrevemos os diferentes tipos de configurações de instância disponíveis no Spanner e as diferenças e vantagens entre elas.
Configurações da instância
Uma configuração de instância do Spanner define o posicionamento geográfico e a replicação dos bancos de dados nessa instância. Ao criar uma instância, você precisa configurá-la como regional, birregional ou multirregional. Essa escolha é feita selecionando a configuração de uma instância, que determina onde seus dados são armazenados para essa instância:
- Configurações regionais: todos os recursos residem em uma única região do Google Cloud
- Configurações birregionais: todos os recursos abrangem duas regiões e residem em um único país
- Configurações multirregionais: os recursos abrangem mais de uma região.
As configurações de instância com regiões fixas e topologias de replicação são chamadas de configurações de instância base. É possível criar configurações de instância personalizadas e adicionar mais réplicas somente leitura opcionais. Não é possível alterar a topologia de replicação das configurações da instância base. Para mais informações, consulte Réplicas somente leitura.
É possível mover sua instância
de qualquer configuração de instância para qualquer outra configuração de instância regional ou multirregional (por exemplo, de us-centra1
para nam3
).Também é possível
criar uma nova configuração de instância personalizada com réplicas extras
e movê-la para a nova configuração de instância personalizada. Por exemplo, se a instância estiver em us-central1
e você quiser adicionar uma réplica somente leitura us-west1
, será necessário criar uma nova configuração de instância personalizada com us-central1
como a configuração básica e adicionar us-west1
como uma réplica somente leitura. Em seguida, mova a instância para a nova configuração personalizada.
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 básicas de instância regional:
Nome da configuração básica | Descrição do local regional | Região opcional | |
---|---|---|---|
América | |||
northamerica-northeast1 |
Montreal
|
||
northamerica-northeast2 |
Toronto
|
||
southamerica-east1 |
São Paulo
|
||
southamerica-west1 |
Santiago
|
||
us-central1 |
Iowa
|
Somente leitura: asia-northeast1 1-OR asia-south1 1-OR europe-west2 1-OR europe-west9 1-OR us-west3 1-OR |
|
us-east1 |
Carolina do Sul | Somente leitura: us-central1 1-OR us-west1 1-OR |
|
us-east4 |
Virgínia do Norte | ||
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
|
Somente leitura: us-central1 1-OR us-west1 1-OR |
|
europe-west2 |
Londres
|
||
europe-west3 |
Frankfurt
|
||
europe-west4 |
Países Baixos
|
||
europe-west6 |
Zurique
|
||
europe-west8 |
Milão | ||
europe-west9 |
Paris
|
||
europe-west10 |
Berlim
|
||
europe-west12 |
Turim | ||
Á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-central1 |
Doha | ||
me-central2 |
Damã | ||
me-west1 |
Tel Aviv | ||
África | |||
africa-south1 |
Joanesburgo |
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 somente leitura opcionais. Réplicas somente leitura ajudam a escalonar leituras e dar suporte a leituras desatualizadas de baixa latência. Essas réplicas somente leitura não fazem parte dos quóruns de gravação e não afetam o SLA do Spanner >= 99, 99% para instâncias regionais. É possível adicionar locais listados na coluna "Região opcional" como réplicas somente leitura opcionais. Se o local escolhido não aparecer, solicite uma nova região opcional de réplica somente leitura. Para mais informações, consulte Réplicas somente leitura.
Práticas recomendadas de desempenho para configurações regionais
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 recursos de computação essenciais na mesma região que sua instância do Spanner.
- Provisione capacidade de computação suficiente para manter o uso total de CPU de alta prioridade abaixo de 65%.
- Para a quantidade de capacidade por nó do Spanner, consulte o desempenho para configurações regionais.
Configurações birregionais
Com as configurações birregionais, é possível replicar os dados do banco de dados em várias zonas em duas regiões de um único país, conforme definido pela configuração da instância.
As configurações birregionais fazem o seguinte:
- Disponibiliza leituras de duas regiões em um único país.
- Proporcionam maior disponibilidade e SLAs do que as configurações regionais.
- Atender aos requisitos de residência de dados.
O Spanner oferece configurações birregionais na Austrália, Alemanha, Índia e Japão.
Configurações disponíveis
O Spanner oferece as seguintes configurações básicas de instância birregional:
Nome da configuração básica | Local do recurso | Regiões de leitura/gravação |
---|---|---|
dual-region-australia1 |
Austrália | Sydney: australia-southeast1 L,2R Melbourne: australia-southeast2 2R |
dual-region-germany1 |
Alemanha | Berlim: europe-west10 L,2R Frankfurt: europe-west3 2R |
dual-region-india1 |
Índia | Mumbai: asia-south1 L,2R Délhi: asia-south2 2R |
dual-region-japan1 |
Japão | Tóquio: asia-northeast1 L,2R Osaka: asia-northeast2 2R |
Benefícios
As instâncias birregionais oferecem estes benefícios principais:
Disponibilidade de 99,999%: em duas regiões no mesmo país, o que é maior que a disponibilidade de 99,99% fornecida pelas configurações regionais do Spanner.
Distribuição de dados: replica automaticamente seus dados entre as duas regiões com garantias de consistência forte.
Requisitos de residência de dados: atende aos requisitos de residência de dados nos países listados nas Configurações disponíveis (em inglês) birregionais.
Replicação
Um local birregional contém seis réplicas, três em cada região. Uma das regiões é designada como a região líder padrão (listada na tabela anterior). É possível alterar a região líder de um banco de dados. Em cada região, há duas réplicas de leitura/gravação e uma réplica testemunha. Quando ambas as regiões estão íntegras e em execução em uma configuração birregional, o quórum é estabelecido em todas as seis réplicas. No mínimo, duas réplicas em cada região são necessárias para formar um quórum e confirmar uma transação.
Failover e failback
Depois de criar uma configuração birregional, é possível ver a métrica Disponibilidade de quórum de região birregional no painel Insights do sistema. Essa métrica só está disponível para configurações birregionais. Ele mostra a integridade de três quórums:
- o quórum de região birregional, que usa os seguintes codinomes:
au
para Austráliade
para a Alemanhain
para a Índiaasia1
para o Japão
- o quórum de região única em cada região (por exemplo,
asia-south1
easia-south2
)
A métrica tem um menu suspenso de disponibilidade de quórum que mostra quais regiões estão no modo íntegro ou de interrupção.
A métrica Disponibilidade de quórum de região birregional ajuda você a tomar decisões autogerenciadas de quando fazer failover em caso de falhas regionais. O failover autogerenciado geralmente é concluído em um minuto. Para fazer failover e failback manualmente, consulte Alterar o quórum de região birregional. O Spanner também oferece suporte a failovers automáticos gerenciados pelo Google, que podem levar até 45 minutos a partir do momento em que a falha é detectada pela primeira vez.
Considere o seguinte ao tomar decisões de failover e failback:
Se todos os três quóruns estiverem íntegros, nenhuma ação será necessária.
Se uma das regiões apresentar interrupção, provavelmente há uma interrupção do serviço regional. Isso pode fazer com que os bancos de dados em execução no quórum de região birregional tenham menos disponibilidade. As gravações também podem falhar porque um quórum não pode ser estabelecido e as transações atingem o tempo limite em algum momento. Usando o painel de insights do sistema, observe as taxas de erro e a latência no banco de dados. Se houver aumento das taxas de erro ou da latência, recomendamos fazer o failover, o que significa alterar o quórum de região birregional para a região que ainda é íntegra. Quando a região interrompida se tornar íntegra novamente, faça um failback, alterando o quórum dos locais birregionais de região única para birregional. O Google realiza failover e failback automaticamente quando detecta uma interrupção regional. Também é possível realizar o failover manualmente se detectar uma interrupção. No entanto, você precisará se lembrar de fazer o failback manualmente, caso tenha realizado um failover manual.
Se o quórum de região birregional mostrar interrupção, mesmo que ambas as regiões únicas estejam íntegras, há um problema de particionamento de rede. As duas regiões não conseguem mais se comunicar entre si, então cada uma delas se mostra íntegra, mesmo que o sistema geral não seja. Nesse cenário, recomendamos que você faça o failover para a região líder padrão. Depois que o problema da partição de rede é resolvido e o quórum de região birregional retorna ao estado íntegro, é necessário realizar um failover manual.
O local birregional oferece objetivo de ponto de recuperação (RPO, na sigla em inglês) zero, porque não há perda de dados durante uma interrupção regional ou quando surge um problema de partição de rede.
Para verificar o modo (único ou dual) do quórum de região birregional, consulte Verificar o quórum de regiões birregionais.
Práticas recomendadas de failover e failback
As práticas recomendadas de failover e failback incluem:
- Não faça failover para uma única região se não houver falhas ou interrupções de região. O failover para uma única região aumenta a possibilidade de indisponibilidade geral do sistema se essa região falhar.
- Tenha cuidado ao selecionar a região para o failover. A escolha de uma região errada para fazer failover resulta em indisponibilidade do banco de dados, que não pode ser recuperada antes que a região fique on-line novamente.
- Se você tiver realizado um failover manual, lembre-se de fazer o failback manualmente.
Limitações
As configurações birregionais têm as seguintes limitações:
- Não é possível criar uma configuração personalizada de instância birregional. Não é possível adicionar réplicas somente leitura a uma configuração de instância birregional.
- As chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês) não são compatíveis.
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 se:
- Muitas vezes, seu aplicativo precisa ler dados de várias localizações geográficas (por exemplo, para exibir dados a usuários na América do Norte e na Ásia).
- As gravações são originadas de um local diferente das leituras. Por exemplo, se você tiver grandes cargas de trabalho de gravação na América do Norte e de leitura na Europa.
As configurações multirregionais podem:
- Disponibilize gravações de várias regiões.
- Manter a disponibilidade em caso de falhas regionais.
- Proporcionam maior disponibilidade e SLAs do que as configurações regionais.
Com as configurações multirregionais, é possível replicar os dados do banco de dados em várias zonas em diversas regiões, conforme definido pela configuração da instância. Essas outras réplicas permitem que você leia dados com menor 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) são distribuídas por mais de uma região. É possível notar latência de rede adicional quando essas réplicas se comunicam entre si para formar um quórum de gravação. As leituras não precisam de quórum. O resultado é que o aplicativo alcança leituras mais rápidas em mais lugares ao custo de um pequeno aumento na latência de gravação. Para mais informações, consulte O papel das réplicas em gravações e leituras.
Configurações disponíveis
O Spanner oferece as seguintes configurações básicas de instância multirregional:
Um continente
Nome da configuração básica | Local do recurso | Regiões de leitura/gravação | Regiões somente leitura | Região de testemunha | Região opcional |
---|---|---|---|---|---|
asia1 |
asia1 | Tóquio: asia-northeast1 L,2R Osaka: asia-northeast2 2R |
Nenhuma | Seul: asia-northeast3 |
Somente leitura: us-west1 1-OR us-east5 1-OR |
asia2 R |
asia2 | Mumbai: asia-south1 L,2R Délhi: asia-south2 2R Singapura: asia-southeast1 1R |
Nenhuma | Nenhuma | |
eur3 |
eur3 | Bélgica: europe-west1 L,2R Países Baixos: europe-west4 2R |
Nenhuma | Finlândia: europe-north1 |
|
eur5 |
eur5 | Londres: europe-west2 L,2R Bélgica: europe-west1 2R |
Nenhuma | Países Baixos: europe-west4 |
Somente leitura: us-central1 1-OR us-east1 1-OR |
eur6 |
eur6 | Países Baixos: europe-west4 L,2R Frankfurt: europe-west3 2R |
Nenhuma | Zurique: europe-west6 |
Somente leitura: us-east1 2-OR |
nam3 |
nam3 | Virgínia do Norte: us-east4 L,2R Carolina do Sul: us-east1 2R |
Nenhuma | Iowa: us-central1 |
Somente leitura: us-west2 1-OR asia-southeast1 1-OR asia-southeast2 1-OR europe-west1 1-OR europe-west2 1-OR |
nam6 |
nam6 | Iowa: us-central1 L,2R Carolina do Sul: us-east1 2R |
Oregon: us-west1 1R Los Angeles: us-west2 1R |
Oklahoma: us-central2 |
|
nam7 |
nam7 | Iowa: us-central1 L,2R Virgínia do Norte: us-east4 2R |
Nenhuma | Oklahoma: us-central2 |
Somente leitura: us-east1 2-OR us-south1 1-OR europe-west1 2-OR |
nam8 |
nam8 | Los Angeles: us-west2 L,2R Oregon: us-west1 2R |
Nenhuma | Salt Lake City: us-west3 |
Somente leitura: asia-southeast1 2R europe-west2 2R |
nam9 |
nam9 | Virgínia do Norte: us-east4 L,2R Iowa: us-central1 2R |
Oregon: us-west1 2R |
Carolina do Sul: us-east1 |
|
nam10 |
nam10 | Iowa: us-central1 L,2R Salt Lake City: us-west3 2R |
Nenhuma | Oklahoma: us-central2 |
|
nam11 |
nam11 | Iowa: us-central1 L,2R Carolina do Sul: us-east1 2R |
Nenhuma | Oklahoma: us-central2 |
Somente leitura: us-west1 1-OR |
nam12 |
nam12 | Iowa: us-central1 L,2R Virgínia do Norte: us-east4 2R |
Oregon: us-west1 2R |
Oklahoma: us-central2 |
|
nam13 |
nam13 | Oklahoma: us-central2 L,2R Iowa: us-central1 2R |
Nenhuma | Salt Lake City: us-west3 |
|
nam14 |
nam14 | Norte da Virgínia: us-east4 L,2R Montreal: northamerica-northeast1 2R |
Nenhuma | Carolina do Sul: us-east1 |
|
nam15 |
nam15 | Dallas: us-south1 L,2R Norte da Virgínia: us-east4 2R |
Nenhuma | Iowa: us-central1 |
Três continentes
Nome da configuração básica | Local do recurso | Regiões de leitura/gravação | Regiões somente leitura | Região de testemunha | Região opcional |
---|---|---|---|---|---|
nam-eur-asia1 |
nam-eur-asia1 | Iowa: us-central1 L,2R Oklahoma: us-central2 2R |
Bélgica: europe-west1 2R Taiwan: asia-east1 2R |
Carolina do Sul: us-east1 |
Somente leitura: us-west2 1-OR |
nam-eur-asia3 |
nam-eur-asia3 | Iowa: us-central1 L,2R Sul Carolina: us-east1 2R |
Bélgica: europe-west1 1R Países Baixos: europe-west4 1R Taiwan: asia-east1 2R |
Oklahoma: us-central2 |
L: região líder padrão. Para mais informações, consulte Modificar a região líder de um banco de dados.
1R: uma réplica na região.
2R: duas réplicas na região.
1-OR: uma réplica opcional. É possível criar uma configuração de instância regional personalizada e adicionar uma réplica somente leitura opcional. Para mais informações, acesse Criar uma configuração de instância personalizada.
2-OR: até duas réplicas opcionais. É possível criar uma configuração de instância regional personalizada e adicionar uma ou duas réplicas somente leitura opcionais. Recomendamos adicionar dois (quando possível) para ajudar a manter a baixa latência de leitura. Para mais informações, acesse Criar uma configuração de instância personalizada.
R: Essa configuração de instância é restrita com uma lista de permissões. Para ter acesso, entre em contato com seu gerente técnico de contas.
O local do recurso para uma configuração de instância multirregional determina a garantia da zona de recuperação de desastres para a configuração. Ela define onde os dados são armazenados em repouso.
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 forem usados, o que pode reduzir a latência e melhorar a experiência do usuário.
Consistência externa: mesmo que o Spanner replique 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 multirregional de base contém duas regiões designadas como 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 região líder padrão, o que significa que ela contém as réplicas líderes do seu banco de dados. O Spanner também coloca uma réplica testemunha em uma terceira região chamada de região 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 votantes, algumas configurações de base multirregional contêm réplicas somente leitura para exibir 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. Além disso, se o aplicativo cliente estiver em uma região não líder, o Spanner usará o roteamento com reconhecimento de líder para rotear transações de leitura e gravação dinamicamente a fim de reduzir a latência no banco de dados. Para mais informações, consulte Roteamento com reconhecimento de líder.
É possível criar uma configuração de instância multirregional personalizada com réplicas somente leitura opcionais. As réplicas somente leitura personalizadas que você criar não poderão ser incluídas nos quóruns de gravação. Você pode adicionar os locais listados na coluna "Região opcional" como réplicas somente leitura opcionais. Se você não encontrar o local escolhido para a réplica somente leitura, solicite uma nova região opcional de réplica somente leitura. Para mais informações, consulte Réplicas somente leitura.
Práticas recomendadas de desempenho para configurações multirregionais
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/gravação diferentes para que nenhuma interrupção de região única não afete todo o aplicativo.
- Provisione capacidade de computação suficiente para manter o uso total de CPU de alta prioridade abaixo de 45% em cada região.
- Para a quantidade de capacidade por nó do Spanner, consulte o desempenho para configurações multirregionais.
Mover uma instância
É possível mover sua instância do Spanner de qualquer configuração de instância para qualquer configuração de instância, inclusive entre configurações regionais e multirregionais. Mover a instância não causa inatividade, e o Spanner continua a fornecer as garantias de transação normais durante a movimentação.
Para saber mais sobre a movimentação de instâncias 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 se aproximar dos 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 processar todas as gravações no banco de dados. Portanto, se a maior parte do tráfego vier de uma região geográfica, será possível movê-lo para essa região para 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 versus birregionais versus 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 pricing. | Permite a governança de dados geográficos. |
Birregional | 99,999% | Menores latências de leitura de duas regiões geográficas e um pequeno aumento na latência de gravação. | Custo mais elevado, consulte a pricing. | Distribui dados por duas regiões de um único país. |
Multirregional | 99,999% | Menores latências de leitura de várias regiões geográficas, um pequeno aumento na latência de gravação. | Custo mais elevado, consulte a pricing. | 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.