Configurações regionais, birregionais e multirregionais

Esta página descreve os diferentes tipos de configurações de instância disponíveis no Spanner e as diferenças e compensações entre eles.

Uma configuração de instância do Spanner define a colocaçã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, biregional ou multirregional. Para fazer essa escolha, selecione uma configuração de instância, que determina onde seus dados são armazenados:

Para mais informações sobre considerações específicas de cada região, consulte Geografia e regiões.

As configurações de instâncias com regiões fixas e topologias de replicação são chamadas de configurações de instâncias básicas. É possível criar configurações de instâncias personalizadas e adicionar outras réplicas somente leitura opcionais (disponíveis nas edições Enterprise e Enterprise Plus). Não é possível mudar a topologia de replicação das configurações de instâncias básicas. Para mais informações, consulte Réplicas somente leitura.

É possível mover sua instância de qualquer configuração para qualquer outra configuração regional, birregional ou multirregional (por exemplo, de us-central1 para nam3). Também é possível criar uma nova configuração de instância personalizada com réplicas adicionais e mover a instância 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 us-west1 somente leitura, crie uma nova configuração de instância personalizada com us-central1 como configuração de base e adicione us-west1 como uma réplica somente leitura. Em seguida, mova a instância para essa nova configuração.

Configurações regionais

Os serviçosGoogle Cloud estão disponíveis em locais na 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 de base, o Spanner mantém três réplicas de leitura e gravação, cada uma em uma Google Cloud zona diferente 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, caso ocorra 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âncias regionais básicas:

Nome da configuração básica Descrição do local regional Região opcional
América
northamerica-northeast1 Montreal Ícone de folha Baixo CO2
northamerica-northeast2 Toronto Ícone de folha Baixo CO2
northamerica-south1 Querétaro
southamerica-east1 São Paulo Ícone de folha Baixo nível de CO2
southamerica-west1 Santiago Ícone de folha Baixo CO2
us-central1 Iowa Ícone de folha Baixo CO2 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 Norte da Virgínia
us-east5 Columbus
us-south1 Dallas Ícone de folha Baixo CO2
us-west1 Oregon Ícone de folha Baixo CO2
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas
Europa
europe-central2 Varsóvia
europe-north1 Finlândia Ícone de folha Baixo CO2
europe-southwest1 Madri Ícone de folha Baixo CO2
europe-west1 Bélgica Ícone de folha Baixo CO2 Somente leitura: us-central1 1-OR
us-west1 1-OR
europe-west2 Londres Ícone de folha Baixo CO2
europe-west3 Frankfurt Ícone de folha Baixo CO2
europe-west4 Países Baixos Ícone de folha Baixo CO2
europe-west6 Zurique Ícone de folha Baixo CO2
europe-west8 Milão
europe-west9 Paris Ícone de folha Baixo CO2
europe-west10 Berlim Ícone de folha Baixo CO2
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 Johannesburgo

Replicação

As configurações regionais básicas 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 Cópias.

É possível criar uma configuração de instância regional personalizada e adicionar réplicas somente leitura opcionais. As réplicas somente leitura podem ajudar a dimensionar leituras e oferecer suporte a leituras desatualizadas de baixa latência. Essas réplicas somente leitura não participam dos quóruns de gravação e não afetam o SLA de 99, 99% do Spanner para instâncias regionais. É possível adicionar locais listados na coluna "Região opcional" como réplicas somente leitura opcionais. Se o local da réplica somente leitura escolhido não aparecer, solicite uma nova região de réplica somente leitura opcional. 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 da sua instância do Spanner.
  • Provisione capacidade de computação suficiente para manter a utilização total da CPU de alta prioridade abaixo de 65%.
  • Para informações sobre a quantidade de throughput por nó do Spanner, consulte Performance de configurações regionais.

Configurações de duas regiões

As configurações de duas regiões permitem 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 de duas regiões fazem o seguinte:

  • Fornecer leituras de duas regiões em um único país.
  • Oferecer disponibilidade e SLAs maiores do que as configurações regionais.
  • Atenda aos requisitos de residência de dados.

O Spanner oferece configurações birregionais na Austrália, Alemanha, Índia e Japão.

Para informações sobre a quantidade de throughput por nó do Spanner, consulte Performance de configurações de duas regiões.

Configurações disponíveis

O Spanner oferece as seguintes configurações de instâncias birregionais:

Nome da configuração básica Local do recurso Regiões
dual-region-australia1 au (Austrália) Sydney: australia-southeast1 L,2RW+1W
Melbourne: australia-southeast2 2RW+1W
dual-region-germany1 de (Alemanha) Berlim: europe-west10 L,2RW+1W
Frankfurt: europe-west3 2RW+1W
dual-region-india1 em (Índia) Mumbai: asia-south1 L,2RW+1W
Delhi: asia-south2 2RW+1W
dual-region-japan1 jp (Japão) Tóquio: asia-northeast1 L,2RW+1W
Osaka: asia-northeast2 2RW+1W

Vantagens

As instâncias de duas regiões oferecem estes benefícios principais:

  • Disponibilidade de 99,999%: em duas regiões no mesmo país, maior do 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 fortes de consistência.

  • Requisitos de residência de dados: atende aos requisitos de residência de dados nos países listados em Configurações disponíveis de região dupla.

Replicação

Uma biregião 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 mudar 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 de testemunha. Quando ambas as regiões estão em bom estado e em execução em uma configuração de duas regiões, o quórum é estabelecido em todas as seis réplicas. É necessário ter pelo menos duas réplicas em cada região para formar um quórum e confirmar uma transação.

Failover e failback

Depois de criar uma configuração de duas regiões, você pode conferir a métrica Cronologia de integridade do quórum de duas regiões no painel Insights do sistema. Essa métrica está disponível apenas para configurações birregionais. Ela mostra a integridade de três quóruns:

  • O quórum birregional: Global
  • O quórum de uma única região em cada região (por exemplo, Sydney e Melbourne)

Ela mostra uma barra laranja na linha do tempo quando há interrupção no serviço. Você pode passar o cursor sobre ele para conferir os horários de início e término da interrupção.

Para um objetivo de tempo de recuperação (RTO, na sigla em inglês) mais rápido, recomendamos monitorar ou configurar um alerta na métrica de linha do tempo de integridade do quórum de duas regiões. Essa métrica ajuda você a tomar decisões de failover autogerenciadas e quando ocorrerem falhas regionais. Depois que você aciona o failover da instância, ele geralmente é concluído em um minuto.

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. O RTO mais longo é devido ao monitoramento geral do serviço do Google. Precisamos coletar mais indicadores para verificar se toda a região está com problemas e validar se há impacto no nível da região. Isso também garante que uma transferência automática resulte em um serviço geral melhor para os usuários na configuração.

Para fazer failover e failback manualmente, consulte Alterar o quórum de região dupla.

Considere o seguinte ao tomar decisões manuais de failover e failback:

  • Se todos os três quóruns estiverem íntegros, nenhuma ação será necessária.

  • Se uma das regiões mostrar interrupção, provavelmente há uma interrupção regional do serviço. Isso pode causar menos disponibilidade nos bancos de dados executados no quórum de duas regiões. As gravações também podem falhar porque um quórum não pode ser estabelecido e as transações eventualmente expiram. Usando o painel "Insights do sistema", observe as taxas de erro e a latência no seu banco de dados. Se houver aumento na taxa de erros ou latência, recomendamos o failover, que significa mudar o quórum de região dupla para a região que ainda está íntegra. Depois que a região interrompida voltar a funcionar, você precisa fazer o failover, mudando o quórum birregional de uma região para duas. O Google executa automaticamente o failover e o failback quando detecta uma interrupção regional. Também é possível fazer failover manualmente se você detectar uma interrupção. No entanto, é necessário reverter manualmente se você tiver realizado um failover manual.

  • Se o quórum birregional mostrar interrupção, mesmo que as duas regiões esteja í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 aparece como íntegra, mesmo que o sistema geral não esteja. Nesse cenário, recomendamos que você faça failover para a região líder padrão. Depois que o problema de partição de rede for resolvido e o quórum de região dupla voltar a ficar saudável, será necessário fazer o failback manualmente.

A região dupla oferece um objetivo de ponto de recuperação (RPO) de 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 duplo) do quórum de região dupla, consulte Verificar o quórum de região dupla.

Práticas recomendadas de failover e failback

As práticas recomendadas para failover e failback incluem:

  • Não faça failover para uma única região se nenhuma falha ou interrupção ocorrer. A falha em 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 failover. A escolha de uma região errada para failover resulta na indisponibilidade do banco de dados, que não pode ser recuperada antes que a região volte a ficar on-line. Para verificar, use um script bash para verificar a integridade da região única antes de executar o failover.
  • Se a região com problemas for a líder padrão, mude a região líder padrão para a região de failover depois de realizar o failover. Depois de confirmar que as duas regiões estão íntegras novamente, execute o failback e mude a região líder de volta para a região líder original.
  • Não se esqueça de fazer o failback manual se você tiver feito um failover manual.

Limitações

Não é possível criar uma configuração de instância birregional personalizada. Não é possível adicionar réplicas somente leitura a uma configuração de instância de duas regiões.

Configurações multirregionais

As configurações regionais do Spanner replicam dados entre várias zonas em uma única região. No entanto, uma configuração regional pode não ser ideal se:

  • Muitas vezes, o aplicativo precisa ler dados de vários locais geográficos (por exemplo, para fornecer dados aos usuários na América do Norte e na Ásia).
  • As gravações têm origem em um local diferente das leituras (por exemplo, se você tiver cargas de trabalho de gravação grandes na América do Norte e cargas de trabalho de leitura grandes na Europa).

As configurações multirregionais podem:

  • Ofereça gravações de várias regiões.
  • Mantenha a disponibilidade em caso de falhas regionais.
  • Oferecer disponibilidade e SLAs maiores do que as configurações regionais.

Com as configurações multirregionais, é possível replicar os dados do banco de dados em várias zonas de diversas regiões, conforme definido pela configuração da instância. Essas outras réplicas permitem que você leia dados com latência menor de vários locais próximos ou dentro das regiões 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. Você pode notar uma 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 exigem um quórum. O resultado é que o aplicativo consegue 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 de instâncias multirregionais:

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
Nenhum Seul: asia-northeast3 Somente leitura: us-west1 1-OR
us-east5 1-OR
asia2 A asia2 Mumbai: asia-south1 L,2R
Delhi: asia-south2 2R
Singapura: asia-southeast1 1R
Nenhum Nenhum
eur3 eur3 Bélgica: europe-west1 L,2R
Países Baixos: europe-west4 2R
Nenhum Finlândia: europe-north1 Somente leitura: us-central1 1-OR
us-east4 1-OR
eur5 eur5 Londres: europe-west2 L,2R
Bélgica: europe-west1 2R
Nenhum 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
Nenhum 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
Nenhum 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
Nenhum 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
Nenhum Salt Lake City: us-west3 Somente leitura: asia-southeast1 2-OR
europe-west2 2-OR
us-east5 1-OR
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
Nenhum Oklahoma: us-central2
nam11 nam11 Iowa: us-central1 L,2R
Carolina do Sul: us-east1 2R
Nenhum 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
Nenhum Salt Lake City: us-west3
nam14 nam14 Virgínia do Norte: us-east4 L,2R
Montreal: northamerica-northeast1 2R
Nenhum Carolina do Sul: us-east1
nam15 nam15 Dallas: us-south1 L,2R
Virgínia do Norte: us-east4 2R
Nenhum Iowa: us-central1
nam16 us (Estados Unidos) Iowa: us-central1 L,2R
Virgínia do Norte: us-east4 2R
Nenhum Columbus: us-east5 Somente leitura: us-west2 2-OR

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
Carolina do Sul: 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.

  • 2RW+1W: duas réplicas de leitura/gravação e uma réplica de testemunha 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 opcional somente leitura. Para mais informações, consulte 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 manter a latência de leitura baixa. Para mais informações, consulte Criar uma configuração de instância personalizada.

  • A: a configuração da instância é restrita com uma lista de permissões. Para ter acesso, entre em contato com o 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.

Vantagens

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 garantias fortes de consistência. Isso permite que seus dados sejam armazenados onde são 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 básica 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 a 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 multirregionais básicas contêm réplicas somente leitura para atender a 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 que não é líder, o Spanner vai usar o roteamento com reconhecimento de líder para rotear transações de leitura e gravação dinamicamente e reduzir a latência no banco de dados. Para mais informações, consulte Roteamento compatível com líder.

É possível criar uma configuração personalizada de instâncias multirregionais com réplicas somente leitura opcionais. As réplicas somente leitura personalizadas que você criar não podem ser incluídas em quóruns de gravação. É possível adicionar locais listados na coluna "Região opcional" como réplicas somente leitura opcionais. Se o local da réplica de leitura escolhido não aparecer, você poderá solicitar uma nova região de réplica de leitura opcional. 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 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 total da CPU de alta prioridade abaixo de 45% em cada região.
  • Para informações sobre a quantidade de throughput por nó do Spanner, consulte Performance de configurações multirregionais.

Mover uma instância

É possível mover sua instância do Spanner de qualquer configuração para qualquer outra configuração, incluindo configurações regionais e multirregionais. Mover a instância não causa inatividade, e o Spanner continua a fornecer as garantias de transação comuns, incluindo consistência forte, durante a migraçã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 mudar o local da região líder padrão do banco de dados e ficar mais próximo dos clientes de conexão para reduzir a latência do aplicativo, mude a região líder de qualquer instância do Spanner que use uma configuração de duas ou mais regiões. Para instruções sobre como mudar o local da região líder, consulte Mudar 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 biregional ou multirregional.

A região líder é responsável por todas as gravações do banco de dados. Portanto, se a maior parte do seu tráfego é proveniente de uma região geográfica, é recomendá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 Receber o status da operação de longa duração.

Vantagens e desvantagens: configurações regionais, birregionais e 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.
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 tabela de preços. Distribui dados em duas regiões de um único país.
Multirregional 99,999% Menores latências de leitura de várias regiões geográficas e um pequeno aumento na latência de gravação. Custo mais elevado, consulte a tabela de preços. Distribui dados em várias regiões dentro da configuração.

A seguir