Práticas recomendadas para integração com o DynamoDB
Ao integrar o DynamoDB a outros serviços, é necessário sempre seguir as práticas recomendadas para usar cada serviço. No entanto, há algumas práticas recomendadas específicas de integração nas quais você deve pensar.
Criar um snapshot no DynamoDB
-
Em geral, recomendamos o uso da exportação para o Amazon S3 para criar snapshots da replicação inicial. É econômico e não concorrerá com o tráfego da aplicação em termos de throughput. Também é possível pensar em backup e restauração em uma nova tabela, seguidos de uma operação de verificação. Isso evitará a disputa por throughput com sua aplicação, mas geralmente será consideravelmente menos econômico do que uma exportação.
-
Sempre defina
StartTime
ao fazer uma exportação. Isso facilita a determinação de onde você iniciará a captura de dados de alteração (CDC). -
Ao usar a exportação para o S3, defina uma ação de ciclo de vida no bucket do S3. Normalmente, uma ação de expiração definida em sete dias é segura, mas é necessário seguir todas as diretrizes que a empresa possa ter. Mesmo que você exclua explicitamente os itens após a ingestão, essa ação pode ajudar a detectar problemas e, portanto, reduzir custos desnecessários e evitar violações de política.
Capturar alterações de dados no DynamoDB
-
Se você precisar de uma CDC quase em tempo real, use o DynamoDB Streams ou o Amazon Kinesis Data Streams (KDS). Ao decidir qual deles usar, procure sempre pensar em qual é o mais fácil de usar com o serviço subsequente. Se você precisar fornecer processamento de eventos em ordem em nível de chave de partição ou se tiver itens excepcionalmente grandes, use o DynamoDB Streams.
-
Se não precisar de CDC quase em tempo real, poderá usar a exportação para o Amazon S3 com exportações incrementais para exportar somente as alterações que ocorreram entre dois momentos.
Se você usou a exportação para o S3 para gerar um snapshot, isso pode ser especialmente útil porque é possível usar um código semelhante para processar exportações incrementais. Normalmente, a exportação para o S3 é um pouco mais barata do que as opções de streaming anteriores, mas o custo normalmente não é o principal fator para a opção a ser usada.
-
Geralmente, só é possível ter dois consumidores simultâneos de um fluxo do DynamoDB. Pense nisso ao planejar a estratégia de integração.
-
Não use verificações para detectar alterações. Isso pode funcionar em pequena escala, mas se torna impraticável de modo razoavelmente rápido.