Uso de fragmentação de gravação do índice secundário global para consultas de tabelas seletivas - 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á.

Uso de fragmentação de gravação do índice secundário global para consultas de tabelas seletivas

Frequentemente, as aplicações precisam identificar um pequeno subconjunto de itens em uma tabela do Amazon DynamoDB que atendam a determinada condição. Quando esses itens são distribuídos aleatoriamente pelas chaves de partição da tabela, é possível recorrer a uma varredura de tabela para recuperá-los. Esta opção pode ser cara, mas funciona bem quando um grande número de itens na tabela atende à condição de pesquisa. No entanto, quando o espaço de chaves é grande e a condição de pesquisa é muito seletiva, essa estratégia pode causar muito processamento desnecessário.

Uma solução mais adequada pode ser consultar os dados. Para habilitar consultas seletivas em todo o espaço de chaves, é possível usar a fragmentação de gravação adicionando um atributo contendo um (0-N) para cada item que você usará para a chave de partição do índice secundário global.

Veja a seguir um exemplo de um esquema que usa essa abordagem em um fluxo de trabalho de eventos críticos:

Exemplo de consultas seletivas.

Usando este design de esquema, os itens de evento são distribuídos entre partições 0-N no GSI, permitindo uma leitura de dispersão usando uma condição de classificação na chave composta para recuperar todos os itens com um determinado estado durante um período especificado.

Esse padrão de esquema fornece um conjunto de resultados altamente seletivo a um custo mínimo, sem a necessidade de uma varredura de tabela.