Une table DynamoDB nommée Orders utilise OrderID comme clé de partition (sans clé de tri) et contient plus de 100 000 éléments. Vous devez récupérer efficacement toutes les commandes dont l'attribut OrderSource est égal à 'MobileApp'. Quelle est la conception la plus efficace pour améliorer l'expérience utilisateur ?
Choisissez une réponse
Appuyez sur une option pour vérifier votre réponse.
Bonne réponse : Créer un index secondaire global (GSI) avec OrderSource comme clé de partition, puis interroger le GSI en utilisant MobileApp comme clé..
Pourquoi c'est la réponse
La création d'un index secondaire global (GSI) avec OrderSource comme clé de partition est la solution la plus efficace. Un GSI permet d'interroger des attributs qui ne font pas partie de la clé primaire de la table de base. En définissant OrderSource comme clé de partition du GSI, vous pouvez interroger directement toutes les commandes provenant de 'MobileApp' avec une efficacité optimale, car DynamoDB peut distribuer les données de manière égale et retrouver rapidement les éléments correspondants. Effectuer un Scan est inefficace pour les grandes tables car il lit chaque élément, ce qui consomme beaucoup d'unités de capacité de lecture et peut être très lent. Un index secondaire local (LSI) doit avoir la même clé de partition que la table de base, ce qui ne permettrait pas d'interroger directement sur OrderSource comme clé de partition. Créer un GSI avec OrderSource comme clé de tri ne serait pas optimal pour cette requête, car vous cherchez à filtrer sur la valeur exacte de OrderSource, ce qui est mieux géré par une clé de partition.
Réussissez votre examen — sans la chasse aux réponses interminable
Obtenez toutes les questions et explications vérifiées pour cet examen en un seul endroit, et économisez des heures de préparation. Plus de 1 000 certifications · Plus de 20 langues · Gratuit pour commencer.
Réussissez votre examen plus rapidement → Pas de carte requise