Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Usar índices secundários globais para consultas de agregação materializadas no DynamoDB

Modo de foco
Usar índices secundários globais para consultas de agregação materializadas no DynamoDB - Amazon DynamoDB

Manter as agregações quase em tempo real e as métricas de chaves relacionadas aos dados em constante mudança é uma operação cada vez mais valiosa para a rápida tomada de decisões na empresa. Por exemplo, uma biblioteca de músicas pode querer apresentar suas músicas que mais foram obtidas por download quase em tempo real.

Considere o seguinte layout de tabela da biblioteca de músicas:

Exemplo de layout de tabela da biblioteca de músicas.

A tabela neste exemplo armazena músicas com songID como a chave de partição. Você pode habilitar Amazon DynamoDB Streams nessa tabela e conectar uma função do Lambda aos fluxos de modo que, à medida que o download de cada música for feito, uma entrada seja adicionada à tabela com Partition-Key=SongID e Sort-Key=DownloadID. Conforme essas atualizações são feitas, elas ativam uma função do Lambda nos DynamoDB Streams. A função do Lambda pode agregar e agrupar os downloads por songID e atualizar o item de nível superior, Partition-Key=songID e Sort-Key=Month. Tenha em mente que se uma execução do Lambda falhar logo após escrever o novo valor agregado, ela pode ser repetida e agregar o valor mais de uma vez, deixando você com um valor aproximado.

Para ler as atualizações quase em tempo real, com latência de milissegundo de um único dígito, use o índice secundário global com condições de consulta Month=2018-01, ScanIndexForward=False, Limit=1.

Outra otimização de chave usada aqui é que o índice secundário global é um índice esparso e está disponível somente nos itens que precisam ser consultados para recuperar os dados em tempo real. O índice secundário global pode atender aso fluxos de trabalho adicionais que precisam de informações sobre as 10 primeiras músicas que eras populares, ou qualquer música transferida naquele mês.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.