PERGUNTAS FREQUENTES sobre tabelas globais - AWS Orientação prescritiva

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á.

PERGUNTAS FREQUENTES sobre tabelas globais

Esta seção fornece respostas para perguntas frequentes sobre tabelas globais do DynamoDB.

Qual é o preço das tabelas globais?

  • O preço de uma operação de gravação em uma tabela tradicional do DynamoDB é calculado em unidades de capacidade de gravação WCUs () para tabelas provisionadas ou unidades de solicitação de gravação () para tabelas sob demanda. WRUs Se você gravar um item de 5 KB, serão cobradas 5 unidades. O preço de uma gravação em uma tabela global é calculado em unidades de capacidade de gravação replicada (rWCUs) para tabelas provisionadas ou unidades de solicitação de gravação replicadas (rWRUs) para tabelas sob demanda. R WCUs e r WRUs têm o mesmo preço de e. WCUs WRUs

  • As cobranças de RWCu e RWRu são cobradas em todas as regiões em que o item é gravado diretamente ou gravado por meio de replicação.

  • Taxas de transferência de dados entre regiões se aplicam.

  • A gravação em um índice secundário global (GSI) é considerada uma operação de gravação local e usa unidades de gravação regulares.

  • Não há capacidade reservada disponível para r WCUs ou r WRUs no momento. A compra de capacidade reservada para ainda WCUs pode ser benéfica para tabelas em que GSIs consomem unidades de gravação.

  • Quando você adiciona uma nova região a uma tabela global, o DynamoDB realiza o bootstrap da nova região automaticamente e cobra como se fosse uma restauração de tabela, com base no tamanho em GB da tabela. Ela também cobra taxas de transferência de dados entre regiões.

Quais regiões são compatíveis com tabelas globais?

As tabelas globais (atuais, versão 2019) oferecem suporte a todas Regiões da AWS as tabelas MREC e aos seguintes conjuntos de regiões para tabelas MRSC:

  • Conjunto de regiões dos EUA: Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio), Oeste dos EUA (Oregon)

  • Conjunto de regiões da Europa: Europa (Irlanda), Europa (Londres), Europa (Paris), Europa (Frankfurt)

  • Conjunto de regiões AP: Ásia-Pacífico (Tóquio), Ásia-Pacífico (Seul) e Ásia-Pacífico (Osaka)

Como são GSIs tratadas as tabelas globais?

Nas tabelas globais (atuais, versão 2019), quando você cria um GSI em uma região, ele é criado e preenchido automaticamente em outras regiões participantes.

Como faço para interromper a replicação de uma tabela global?

  • Você pode excluir uma tabela de réplica da mesma forma que excluiria qualquer outra tabela. A exclusão de uma tabela global interromperá a replicação nessa região e excluirá a cópia da tabela mantida nessa região. No entanto, você não pode interromper a replicação enquanto mantém cópias da tabela como entidades independentes nem pode pausar a replicação.

  • Uma tabela MRSC deve ser implantada em exatamente três regiões. Para excluir as réplicas, você deve excluir todas as réplicas e a testemunha para que a tabela MRSC se torne uma tabela local.

Como o Amazon DynamoDB Streams interage com tabelas globais?

  • Cada tabela global produz um fluxo independente com base em todas as operações de gravação, independentemente de onde começaram. Você pode optar por consumir o fluxo do DynamoDB em uma região ou em todas as regiões (de forma independente). Se você quiser processar operações de gravações locais, mas não gravações replicadas, poderá adicionar seu próprio atributo de região a cada item para identificar a região de gravação. Em seguida, você pode usar um filtro de AWS Lambda eventos para chamar a função Lambda somente para operações de gravação na região local. Isso ajuda nas operações de inserção e atualização, mas não ajuda nas operações de exclusão.

  • As tabelas globais configuradas para consistência eventual em várias regiões (tabelas MREC) replicam as alterações lendo essas alterações de um stream do DynamoDB em uma tabela de réplica e aplicando essa alteração a todas as outras tabelas de réplica. Portanto, o DynamoDB Streams está habilitado por padrão em todas as réplicas em uma tabela global do MREC e não pode ser desativado nessas réplicas. O processo de replicação do MREC pode combinar várias alterações em um curto período de tempo em uma única operação de gravação replicada. Como resultado, o stream de cada réplica pode conter registros ligeiramente diferentes. Os registros do DynamoDB Streams nas réplicas do MREC são sempre ordenados por item, mas a ordem entre os itens pode ser diferente entre as réplicas.

  • As tabelas globais configuradas para consistência forte em várias regiões (tabelas MRSC) não usam o DynamoDB Streams para replicação, portanto, esse recurso não está habilitado por padrão nas réplicas do MRSC. Você pode ativar o DynamoDB Streams em uma réplica do MRSC. Os registros do DynamoDB Streams nas réplicas do MRSC são idênticos para cada réplica e são sempre ordenados por item, mas a ordenação entre os itens pode ser diferente entre as réplicas.

Como as tabelas globais lidam com as transações?

  • As operações transacionais nas tabelas MRSC gerarão erros.

  • As operações transacionais nas tabelas MREC fornecem garantias de atomicidade, consistência, isolamento e durabilidade (ACID) somente na região em que a operação de gravação ocorreu originalmente. As transações não são compatíveis entre regiões em tabelas globais. Por exemplo, se você tiver uma tabela global MREC 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 (Ohio), 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ó são replicadas para outras regiões quando forem confirmadas na região de origem.

Como as tabelas globais interagem com o cache do DynamoDB Accelerator (DAX)?

As tabelas globais ignoram o DAX ao atualizar o DynamoDB diretamente, por isso o DAX não sabe que está armazenando dados obsoletos. O cache do DAX só é atualizado quando a TTL do cache expira.

As etiquetas nas tabelas são propagadas?

Não, as etiquetas não são propagadas automaticamente.

Devo fazer backup de tabelas em todas as regiões ou em apenas uma?

A resposta depende da finalidade do backup.

  • Se sua intenção é garantir a durabilidade dos dados, o DynamoDB já fornece essa proteção. O serviço garante a durabilidade.

  • Se você quiser manter um snapshot para registros históricos (por exemplo, para atender aos requisitos regulatórios), o backup em uma única região deverá ser suficiente. Você pode copiar o backup para outras regiões usando o AWS Backup.

  • Se você quiser recuperar dados excluídos ou modificados erroneamente, use a point-in-timerecuperação do DynamoDB (PITR) em uma região.

Como faço para implantar tabelas globais usando AWS CloudFormation?

  • CloudFormation representa uma tabela do DynamoDB e uma tabela global como dois recursos separados: e. AWS::DynamoDB::Table AWS::DynamoDB::GlobalTable Uma abordagem é criar todas as tabelas que possam ser globais usando a estrutura GlobalTable, mantê-las como tabelas independentes inicialmente e adicionar regiões posteriormente, se necessário.

  • Em CloudFormation, cada tabela global é controlada por uma única pilha, em uma única região, independentemente do número de réplicas. Quando você implanta seu modelo, CloudFormation cria e atualiza todas as réplicas como parte de uma única operação de pilha. Você não deve implantar o mesmo recurso AWS::DynamoDB::GlobalTable em várias regiões. Isso não é compatível e resultará em erros. Se você implantar seu modelo de aplicação em várias regiões, poderá usar condições para criar o recurso AWS::DynamoDB::GlobalTable em uma única região. Se quiser, você poderá optar por definir recursos AWS::DynamoDB::GlobalTable em uma pilha separada da pilha de aplicações e garantir que ela seja implantada apenas em uma região.

  • Se você tem uma tabela normal e deseja convertê-la em uma tabela global e, ao mesmo tempo, mantê-la gerenciada por CloudFormation: defina a política de exclusão comoRetain, remova a tabela da pilha, converta a tabela em uma tabela global no console e importe a tabela global como um novo recurso para a pilha. Para obter mais informações, consulte o AWS GitHub repositório amazon-dynamodb-table-to- global-table-cdk.

  • No momento, a replicação entre contas não é compatível.