Uma tabela DynamoDB de Pedidos usa OrderID como chave de partição (sem chave de classificação) e contém mais de 100.000 itens. Você precisa recuperar eficientemente todos os pedidos cujo atributo OrderSource seja igual a 'MobileApp'. Qual é o design mais eficiente para melhorar a experiência do usuário?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Criar um índice secundário global (GSI) com OrderSource como a chave de partição e, em seguida, consultar o GSI usando MobileApp como a chave..
Por que esta é a resposta
A opção correta é criar um Índice Secundário Global (GSI) com OrderSource como chave de partição e consultá-lo. Isso permite que você realize uma operação de Query eficiente diretamente no GSI, filtrando por OrderSource = 'MobileApp'. Um GSI é ideal para consultas em atributos que não fazem parte da chave primária da tabela principal e que precisam ser consultados com frequência. Um Scan na tabela principal seria ineficiente, pois ele lê todos os itens da tabela e depois filtra, resultando em alto custo e latência, especialmente para tabelas grandes. Um Índice Secundário Local (LSI) não pode ter um atributo diferente da chave de partição da tabela principal como sua chave de partição. Além disso, LSIs compartilham a capacidade de throughput da tabela principal e são limitados ao mesmo espaço de partição da chave de partição da tabela principal. Usar OrderSource como chave de classificação em um GSI não permitiria uma consulta direta por OrderSource = 'MobileApp' de forma eficiente, a menos que houvesse uma chave de partição no GSI para agrupar esses itens.
Passe no seu exame — sem a busca interminável por respostas
Obtenha todas as perguntas e explicações verificadas para este exame em um só lugar e economize horas de preparação. Mais de 1.000 certificações · Mais de 20 idiomas · Grátis para começar.
Passe no seu exame mais rápido → Não é necessário cartão