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.
Tópicos
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.