Index secondaires locaux de DynamoDB

Index secondaires locaux de DynamoDB
Les index secondaires locaux de DynamoDB, également connus sous le nom de LSIS, contiennent des copies ou des répliques de tous ou certains attributs de table. Ils fournissent également des clés de tri alternatives pour les clés de valeur de partition. Ils utilisent différentes clés de tri pour organiser vos données à l'aide des clés de partition de table.

Ainsi, la création d'un ou plusieurs index secondaires locaux offre à vos applications le choix de bénéficier de clés de tri alternatives lors de l'exécution des requêtes plutôt que de s'appuyer exclusivement sur les clés principales de la table de base. L'utilisation des index secondaires locaux élimine le besoin de tables entières car vous pouvez simplement utiliser une clé de tri pour effectuer des requêtes rapides.

Cette fonctionnalité rend les index secondaires locaux vitaux pour les applications qui bénéficieraient de clés de tri alternatives. La création d'un index secondaire local sur un tableau DynamoDB vous permet d'émettre une analyse ou une requête par rapport aux index.

Comment créer un index secondaire local sur une table DynamoDB

Avant de passer à la création des index secondaires locaux, il est essentiel de noter que tous les index secondaires locaux doivent satisfaire aux conditions suivantes:

  • Avoir une clé de tri qui ne contient qu'un seul attribut scalaire
  • Avoir des clés de partition identiques et des clés de partition de table source
  • Projetez la clé de tri de table source pour agir comme un attribut non clé
  • Les tables avec LSIS ont un Sizelimit allant jusqu'à 10 Go par valeur de partition
  • LSIS peut partager le débit avec les tables de base

Vous devez utiliser le paramètre LocalSecondaryIndexes dans l'opération CreateTable pour créer un index secondaire local. Habituellement, la création d'un LSI se produit lorsque vous créez une table DynamoDB. De même, la suppression d'un tableau supprime également tous les index secondaires locaux sur la table.

Lors de la création d'un LSI, n'oubliez pas de spécifier un seul attribut non clé qui agit comme la clé de tri pour le LSI. L'attribut choisi doit être un numéro scalaire, une chaîne ou un binaire car d'autres types de documents, types scalaires et types sont interdits. De plus, vous pouvez projeter commodément les attributs tels que les scalaires, les ensembles et les documents dans votre index secondaire local.

Utilisation d'index secondaires locaux de DynamoDB

Voici quelques-unes des utilisations des cas pour les index secondaires locaux:

un. Effectuer des requêtes et des analyses
LSIS activit les différentes ordres de tri de la même liste d'éléments. Bien qu'ils utilisent des clés de tri différentes, ils ont toujours les mêmes clés de partition. Par exemple, une table avec l'utilisateur UserId comme clé de partition, Songtitle comme la clé de tri, et DataEadded et les données comme d'autres attributs ressemblent à ceci:

| UserId (clé de partition) | Songtitle (clé de tri) | DataEadDed | Données |

Le tableau précédent peut répondre à des requêtes qui visent à récupérer toutes les chansons qui sont triées par des noms pour chaque utilisateur en interrogeant l'usage. Cependant, la récupération de toutes les chansons par utilisateur par date ajoutée signifie que vous récupérez toutes les chansons et les triez.

Vous pouvez toujours utiliser un index d'utilisateur local avec un utilisateur comme clé de partition et le dataead dans la catégorie de clé de tri et récupérer instantanément les chansons de tout utilisateur qui sont triées par date ajoutée. En effet.

Encore une fois, il n'y a pas d'ordre particulier que les articles correspondants viennent. Les requêtes sur LSIS utilisent une cohérence forte ou éventuelle. Des pistes cohérentes fortes ramenent naturellement les dernières valeurs.

D'un autre côté, les opérations de balayage LSI renvoient normalement toutes les données d'index secondaire locales. Lorsque vous faites une analyse, vous devez spécifier à la fois le tableau et le nom d'index. En outre, les analyses permettent d'utiliser des expressions de filtre pour éliminer les données.

| UserId (clé de partition) | DataEadDed (clé de tri) | Songtitle | Données |

b. Écriture d'articles
L'écriture d'élément sur les index secondaires locaux est une opération assez simple. Vous devez commencer par la spécification d'un attribut clé de tri à côté de son type de données. Assurez-vous que le type de chaque élément doit correspondre à son type de données de son schéma clé au cas où l'élément définit un attribut de toute clé d'index.

c. Collections d'articles dans les indices secondaires locaux
Une collection d'articles dans DynamoDB fait référence à un groupe d'éléments avec une valeur de clé de partition similaire dans un tableau et tous ses LSI. Dans l'exemple suivant, le nom du tableau est des correspondances et la clé de partition est groupName. Le nom de la deuxième table est LastemailLindex mais il porte le même nom de partition qui est GroupName.

Les tables et les éléments d'index avec la clé de partition GroupName appartiennent à la même collection d'articles.

Conclusion

Les indices secondaires locaux de DynamoDB sont idéaux pour les applications qui bénéficient de l'exécution des requêtes à l'aide de touches de tri Aternat. Vous pouvez créer un ou plusieurs LSI par application en fonction de vos besoins. Ils facilitent votre travail et augmentent votre productivité.