Captura de dados de alteração com o Amazon DynamoDB - Amazon DynamoDB

Captura de dados de alteração 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. Outra aplicação captura e armazena dados sobre essas atualizações, fornecendo métricas de uso quase em tempo real para a aplicação móvel.

  • Uma aplicação financeira modifica os dados do mercado de ações em uma tabela do DynamoDB. Diferentes aplicações executadas em paralelo acompanham essas mudanças em tempo real, calculam o valor em risco e reequilibram automaticamente as carteiras 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 streams e executam ações com base no conteúdo.

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.

Properties 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 taxa de transferência Ilimitada. Sujeito a cotas de taxa de transferência por tabela do DynamoDB e região da AWS.
Registro de modelo de entrega Modelo Pull via HTTP usando GetRecords e com fan-out aprimorado, o Kinesis Data Streams envia os registros por HTTP/2 usando SubscribeToShard. Modelo Pull via 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 os registros de fluxo usando AWS Lambda, Kinesis Data Analytics, Kinesis Data Firehose ou AWS Glue Streaming ETL. Processe registros de fluxo usando AWS Lambda ou o Adaptador do DynamoDB Streams Kinesis.

Você pode habilitar ambos os modelos de streaming na mesma tabela do DynamoDB.