Tabelas globais: replicação em várias regiões para o DynamoDB - Amazon DynamoDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tabelas globais: replicação em várias regiões para o DynamoDB

As tabelas globais do Amazon DynamoDB são uma opção de banco de dados totalmente gerenciado, multiativo e multirregional que fornece performance alta e localizada de leitura e gravação para aplicações globais amplamente escaladas.

As tabelas globais fornecem uma solução totalmente gerenciada para a implantação de um banco de dados multiativo em várias regiões, sem exigir que você crie e mantenha sua própria solução de replicação. Você pode especificar as AWS regiões nas quais deseja que as tabelas estejam disponíveis e o DynamoDB propagará as alterações contínuas nos dados para todas elas.

Os benefícios específicos do uso de tabelas globais incluem:

  • Replicando suas tabelas do DynamoDB automaticamente em todas as regiões de sua escolha AWS

  • Eliminação do árduo trabalho de replicar dados entre regiões e resolver conflitos de atualização, para que você possa se concentrar na lógica de negócios da aplicação.

  • Apoio para que as aplicações permaneçam altamente disponíveis mesmo no caso improvável de isolamento ou degradação de uma região inteira.

As tabelas globais do DynamoDB são ideais para aplicações muito dimensionadas e com usuários globalmente dispersos. Nesse ambiente, os usuários esperam aplicativos de altíssima performance. As tabelas globais fornecem replicação multiativa automática para AWS regiões em todo o mundo. Elas permitem fornecer acesso de baixa latência aos usuários independentemente de onde estão localizados.

O vídeo a seguir oferece uma introdução sobre tabelas globais.

Você pode configurar tabelas globais no AWS Management Console ou AWS CLI. Como as tabelas globais usam APIs existentes do DynamoDB, nenhuma alteração na aplicação é necessária. Você paga apenas pelos recursos provisionados, sem nenhum custo ou compromisso inicial.

Replicar dados continuamente entre regiões com tabelas globais

Suponha que você tenha uma ampla base de clientes distribuídos em três áreas geográficas: Costa Leste dos EUA, Costa Oeste dos EUA e Europa Ocidental. Esses clientes podem atualizar suas informações de perfil usando sua aplicação. Para satisfazer esse caso de uso, é necessário criar três tabelas do DynamoDB idênticas, chamadas CustomerProfiles, em três regiões diferentes da AWS onde os clientes estão localizados. Essas três tabelas seriam totalmente diferentes uma da outra e as alterações nos dados de uma tabela não seriam incluídas nas demais. Sem uma solução de replicação gerenciada, você precisaria gravar código para replicar as alterações nos dados. No entanto, isso seria um esforço demorado e trabalhoso.

Em vez de escrever seu próprio código, você pode criar uma tabela global que englobe as três tabelas CustomerProfiles específicas à região. O DynamoDB pode então replicar automaticamente as alterações de dados entre essas tabelas para que as alterações na CustomerProfiles de uma região sejam perfeitamente propagadas para as outras regiões. Além disso, se uma das AWS regiões ficar temporariamente indisponível, seus clientes ainda poderão acessar os mesmos CustomerProfiles dados nas outras regiões.

nota
  • O suporte de região para tabelas globais Tabelas globais versão 2017.11.29 (Legacy) é limitado ao Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio), Oeste dos EUA (Norte da Califórnia), Oeste dos EUA (Oregon), Europa (Irlanda), Europa (Londres), Europa (Frankfurt), Ásia-Pacífico (Singapura), Ásia-Pacífico (Sydney), Ásia-Pacífico (Tóquio) e Ásia-Pacífico (Seul).

  • As operações transacionais fornecem garantia de atomicidade, consistência, isolamento e durabilidade (ACID) somente na região em que a gravação é realizada originalmente. As transações não são compatíveis entre regiões em tabelas globais. Por exemplo, se você tiver uma tabela global com réplicas nas regiões Leste dos EUA (Ohio) e Oeste dos EUA (Oregon) e realizar uma TransactWriteItems operação na região Leste dos EUA (Norte da Virgínia), poderá observar transações parcialmente concluídas na região Oeste dos EUA (Oregon) à medida que as alterações são replicadas. As alterações só serão replicadas para outras regiões quando forem confirmadas na região de origem.

  • Se você desabilitar uma AWS região, o DynamoDB removerá essa réplica do grupo de replicação 20 horas depois de detectar a região como inacessível. AWS A réplica não será excluída e a replicação será interrompida com essa região.

  • Você deve esperar 24 horas a partir do momento em que adicionar uma réplica de leitura para excluir com êxito uma tabela de origem. Se tentar excluir uma tabela durante as primeiras 24 horas após adicionar uma réplica de leitura, você receberá uma mensagem de erro informando: “A réplica não pode ser excluída porque ela atuou como uma região de origem para novas réplicas adicionadas na tabela nas últimas 24 horas”.

  • A performance não é afetada nas regiões de origem ao adicionar novas réplicas.

  • Quando você altera a capacidade de leitura e gravação de uma réplica, a nova capacidade de gravação é refletida em outras réplicas sincronizadas, mas a nova capacidade de leitura não.

Para obter informações sobre a disponibilidade e os preços AWS da região, consulte os preços do Amazon DynamoDB.

Forneça segurança e acesso às suas tabelas globais com AWS KMS

  • Você pode realizar AWS KMS operações em suas tabelas globais usando a função AWSServiceRoleForDynamoDBReplication vinculada ao serviço em relação à chave gerenciada pelo cliente ou a Chave gerenciada pela AWSusada para criptografar a réplica.

  • Se a chave gerenciada pelo cliente usada para criptografar uma réplica de tabela global estiver inacessível, o DynamoDB removerá essa réplica do grupo de replicação. A réplica não será excluída e a replicação será interrompida nessa região 20 horas após detectar que a chave KMS está inacessível.

  • Se desejar desabilitar sua chave gerenciada pelo cliente usada para criptografar uma tabela-réplica, você deve fazer isso somente se a chave não for mais usada para criptografar uma tabela-réplica. Depois de emitir um comando para excluir uma tabela-réplica, você deve aguardar a conclusão da operação de exclusão e que a tabela global se torne Active antes de desabilitar a chave. Não fazer isso pode resultar na replicação parcial de dados de e para a tabela-réplica.

  • Se desejar modificar ou excluir sua política de perfil do IAM para a tabela-réplica, você deverá fazê-lo quando a tabela-réplica estiver estado Active. Caso contrário, a criação, atualização ou exclusão da tabela-réplica poderá falhar.

  • As tabelas globais são criadas com a proteção contra exclusão desativada por padrão. Mesmo quando a proteção contra exclusão estiver ativada para uma tabela global, todas as réplicas dessa tabela serão iniciadas com a proteção contra exclusão desativada por padrão.

  • Enquanto a proteção contra exclusão estiver desativada para uma tabela, ela poderá ser excluída acidentalmente. Enquanto a proteção contra exclusão estiver ativada para uma tabela, não será possível excluí-la.

  • Alterar a configuração de proteção contra exclusão de uma tabela de réplica não atualizará outras réplicas no grupo.

nota

Chaves gerenciadas pelo cliente não são compatíveis em Tabelas globais versão 2017.11.29 (Legacy). Se quiser usar uma chave gerenciada pelo cliente em uma tabela global do DynamoDB, você precisa atualizar a tabela para a versão 2019.11.21 (atual) das tabelas globais e, em seguida, habilitá-la.