Captura de dados de alterações com o Amazon 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á.

Captura de dados de alterações com o Amazon DynamoDB

Muitas aplicações podem se beneficiar da capacidade de capturar alterações nos itens armazenados em uma tabela do DynamoDB no momento em que elas ocorrem. Veja a seguir alguns exemplos de casos de uso:

  • Uma aplicação móvel popular modifica os dados em uma tabela do DynamoDB a uma taxa de milhares de atualizações por segundo. Outro aplicativo captura e armazena dados sobre essas atualizações, fornecendo métricas near-real-time de uso para o aplicativo móvel.

  • Uma aplicação financeira modifica os dados do mercado de ações em uma tabela do DynamoDB. Diferentes aplicativos executados em paralelo rastreiam essas mudanças em tempo real, computam e value-at-risk reequilibram automaticamente os portfólios com base nos movimentos dos preços das ações.

  • Sensores em veículos de transporte e equipamentos industriais enviam dados para uma tabela do DynamoDB. Diferentes aplicações monitoram a performance e enviam alertas de mensagens quando um problema é detectado, preveem possíveis defeitos aplicando algoritmos de machine learning e compactam e arquivam dados no Amazon Simple Storage Service (Amazon S3).

  • Uma aplicação envia notificações automaticamente aos dispositivos móveis de todos os jogadores de um grupo assim que um deles carrega uma nova imagem.

  • Um novo cliente adiciona dados a uma tabela do DynamoDB. Esse evento invoca outra aplicação que envia um e-mail de boas-vindas ao novo cliente.

O DynamoDB oferece suporte a streaming de registros de captura de dados de alteração em nível de item em tempo quase real. Você pode criar aplicações que consomem esses fluxos e executam ações com base no conteúdo.

O vídeo a seguir apresenta uma introdução sobre o conceito de captura de dados de alteração.

Opções de streaming para captura de dados de alteração

O DynamoDB oferece dois modelos de streaming para captura de dados de alteração: Kinesis Data Streams para DynamoDB e DynamoDB Streams.

Para ajudar você a escolher a solução certa para sua aplicação, a tabela a seguir resume os recursos de cada modelo de streaming.

Propriedades Kinesis Data Streams para DynamoDB DynamoDB Streams
Retenção de dados Até 1 ano. 24 horas
Compatibilidade com a Kinesis Client Library (KCL) Compatível com a KCL versões 1.X e 2.X. Compatível com a KCL versão 1.X.
Número de consumidores Até 5 consumidores simultâneos por fragmento ou até 20 consumidores simultâneos por fragmento com fan-out aprimorado. Até 2 consumidores simultâneos por fragmento.
Cotas de throughput Ilimitada. Sujeito às cotas de taxa de transferência por tabela e região do DynamoDB. AWS
Registro de modelo de entrega Extraia o modelo via HTTP usando GetRecordse com distribuição aprimorada, o Kinesis Data Streams envia os registros por HTTP/2 usando. SubscribeToShard Extraia o modelo por meio de HTTP usando GetRecords.
Ordenação dos registos O atributo timestamp em cada registro de fluxo pode ser usado para identificar a ordem real na qual as alterações ocorreram na tabela do DynamoDB. Para cada item modificado em uma tabela do DynamoDB, os registros de fluxo aparecem na mesma sequência que as modificações reais no item.
Registros duplicados Registros duplicados podem aparecer ocasionalmente no fluxo. Nenhum registro duplicado aparece no fluxo.
Opções de processamento de fluxos Processe registros de fluxo usando o AWS Lambda, o Amazon Managed Service for Apache Flink, Kinesis Data Firehose ou ETL de streaming do AWS Glue. Processe registros de fluxo usando o AWS Lambda ou o adaptador do DynamoDB Streams Kinesis.
Nível de durabilidade Zonas de disponibilidade para fornecer failover automático sem interrupção. Zonas de disponibilidade para fornecer failover automático sem interrupção.

É possível habilitar ambos os modelos de streaming na mesma tabela do DynamoDB.

O vídeo a seguir aprofunda-se nas diferenças entre as duas opções.