Collections d'éléments : comment modéliser one-to-many les relations dans DynamoDB - Amazon DynamoDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Collections d'éléments : comment modéliser one-to-many les relations dans DynamoDB

Dans DynamoDB, une collection d'éléments est un groupe d'éléments ayant la même valeur de clé de partition, ce qui signifie que les éléments sont liés. Les collections d'éléments constituent le principal mécanisme de modélisation one-to-many des relations dans DynamoDB. Les collections d'articles peuvent uniquement exister sur des tables ou des index configurés pour utiliser une clé primaire composite.

Note

Les collections d'éléments peuvent exister dans une table de base ou un index secondaire. Pour plus d'informations sur la façon dont les collections d'articles interagissent avec les index, voir Collections d'articles dans les index secondaires locaux.

Considérez le tableau suivant montrant trois utilisateurs différents et leurs inventaires en jeu :

Trois collections d'articles différentes avec des attributs différents.

Pour certains éléments de chaque collection, la clé de tri est une concaténation composée d'informations utilisées pour regrouper des données, telles que inventory::armor, inventory::weapon ou info. Chaque collection d'articles peut comporter une combinaison différente de ces attributs comme clé de tri. L'utilisateur account1234 est doté d'un élément inventory::weapons, mais ce n'est pas le cas de l'utilisateur account1387 (parce qu'il n'en a pas encore trouvé). L'utilisateur account1138 n'utilise que deux éléments pour sa clé de tri (puisqu'il n'a pas encore d'inventaire), tandis que les autres utilisateurs en utilisent trois.

DynamoDB vous permet de récupérer sélectivement des éléments de ces collections d'articles pour effectuer les opérations suivantes :

  • Récupérer tous les éléments d'un utilisateur particulier

  • Récupérer un seul élément d'un utilisateur particulier

  • Récupérer tous les éléments d'un type spécifique appartenant à un utilisateur particulier

Accélérer les requêtes en organisant vos données avec des collections d'articles

Dans cet exemple, chacun des éléments de ces trois collections d'objets représente un joueur et le modèle de données que nous avons choisi, en fonction des modèles d'accès du jeu et du joueur. De quelles données le jeu a-t-il besoin ? Quand en a-t-il besoin ? À quelle fréquence en a-t-il besoin ? Quel est le coût de ce procédé ? Ces décisions de modélisation des données ont été prises en fonction des réponses à ces questions.

Dans ce jeu, il y a une page différente présentée au joueur pour son inventaire des armes et une autre page pour les armures. Lorsque le joueur ouvre son inventaire, les armes sont affichées en premier car nous voulons que cette page se charge extrêmement rapidement, tandis que les pages d'inventaire suivantes peuvent être chargées par la suite. Étant donné que chacun de ces types d'objets peut être assez volumineux lorsque le joueur acquiert d'autres objets dans le jeu, nous avons décidé que chaque page d'inventaire serait son propre objet dans la collection d'objets du joueur dans la base de données.

La section suivante explique comment interagir avec les collections d'articles via l'opération Query.