Comment utiliser les index secondaires globaux de DynamoDB

Comment utiliser les index secondaires globaux de DynamoDB
Les index secondaires globaux de DynamoDB sont des index qui contiennent des clés de tri et des clés de partition qui sont différentes de la clé principale du tableau de base. Ils tirent leur nom «global» du fait qu'ils permettent aux données d'accéder à diverses partitions de la table de base pendant les opérations de requête.

Les index secondaires globaux conviennent aux applications et aux programmes qui peuvent avoir besoin d'effectuer plusieurs types de requêtes à l'aide d'ensembles d'attributs différents comme critères de requête. Les index secondaires mondiaux prennent en charge ces applications. La création d'un ou plusieurs GSI sur votre table vous aidera à émettre les demandes de requête par rapport aux index dans Amazon DynamoDB.

Notamment, une table DynamoDB peut avoir plusieurs index secondaires globaux. Ceci est incroyablement précieux pour les applications car avoir plusieurs clés secondaires dans un seul tableau améliore l'accès aux données à l'aide des attributs autres que les clés primaires. En outre, GSIS peut prendre en charge les attributs non uniques, donnant plus de flexibilité en vous permettant d'exécuter les requêtes contre les attributs non clés.

Comment créer un indice secondaire global

Bien que vous puissiez créer un index secondaire global lorsque vous créez initialement un tableau, comme il est courant lors de la création d'index secondaires locaux, vous avez également la flexibilité d'ajouter un index secondaire global après avoir créé un tableau. Lorsque vous choisissez l'ancienne méthode, DynamoDB rembourse automatiquement votre GSI à l'aide des données dans le tableau déjà créé.

Discutons brièvement des deux méthodes:

un. Création d'un index secondaire global pour un nouveau tableau

Vous pouvez créer un GSI en utilisant la console de gestion AWS. Connectez-vous sur votre compte AWS sur la console et cliquez sur DynamoDB.

Cliquez sur les tables et accédez à la section Créer une table comme vous le faites normalement lors de la création d'une nouvelle table. Cette section vous permet de personnaliser vos tables de manière appropriée. Nommez votre table comme vous le souhaitez et cliquez sur Personnaliser les paramètres.

Une nouvelle section apparaît en bas de la page précédente lorsque vous cliquez sur Personnaliser les paramètres. La nouvelle interface vous permet de créer les index secondaires secondaires ou globaux locaux. Cliquez sur la case «Créer un index global» et continuez.

L'étape précédente vous intègre dans la dernière section où vous devez fournir les détails de votre index secondaire global en définissant sa clé de partition, son nom d'index, sa clé de tri et ses projections d'attribut.

b. Créer un index secondaire global pour un tableau existant

Deux options existent pour créer un index secondaire global - les commandes AWS CLI ou l'utilisation de la console de gestion AWS. L'utilisation de la commande CLI est assez simple. Tout ce dont vous avez besoin est la commande name-index et définissez votre nom de table dans la commande.

AWS DynamoDB Update-Table \
--Collection de musique de nom de table \
--attribut-definitions attributeName = nom, attributiveType = s \
--Global-Secondary-Index-updates \
"[" Create ": " indexName ":" name-index "," keyschema ": [" attributeName ":" name "," keyType ":" hash "], \
"Provisionedthroughput": "ReadcapacityUnits": 10, "WriteCapacityUnits": 5, "projection": "projectionType": "all"] "

Si vous souhaitez utiliser la console de gestion AWS, rendez-vous vers votre liste de tableaux, choisissez le tableau dans lequel vous avez l'intention de créer un index secondaire global et accédez à l'onglet Indexes. Cliquez sur l'onglet «Créer d'index».

Cliquez sur l'onglet «Créer d'index» vous amène à l'assistant d'index secondaire global où vous personnalisez votre index avec les attributs pertinents.

Utilisation de tables secondaires mondiales Dynamo

Voici quelques-uns des cas d'utilisation des indices secondaires globaux DynamoDB:

un. Interroger l'indice secondaire mondial

Vous pouvez utiliser la commande de requête de l'API DynamoDB pour effectuer les opérations de requête sur vos index secondaires globaux. La commande de requête est comme indiqué dans ce qui suit:

AWS DynamoDB Query \
--Collection de musique de nom de table \
--index-name SongTitle-index \
--Expression de la condition clé "SongTitle =: Nom" \
--expression-attribute-Values ​​'": name": "s": "Topping Charts"'
"ConsumedCapacity": null

b. Analyse des tables secondaires mondiales DynamoDB

Vous pouvez également exécuter une opération de scan sur votre GSI à l'aide de la commande dynamoDB Scan. Habituellement, la commande de scan ressemble à ceci:

$ aws dynamodb scan \
--Collection de musique de nom de table \
--nom d'index dateelent \
$ Local

c. Projections d'attribut

Les projections sont des ensembles d'attributs qui sont copiés à partir de tables dans des index secondaires. Habituellement, les clés de partition, les clés de tri et divers autres attributs sont parmi les plus projetés en index pour prendre en charge les exigences de requête de vos applications.

Interroger un index permet à l'Amazondb d'accéder à tous les attributs de la projection comme il accéde aux attributs qui sont dans leurs tables indépendantes. Assurez-vous de spécifier les attributs qui seront projetés dans votre index. Les trois options fournies par DynamoDB incluent les éléments suivants:

  • Keys_only- Cela se compose des plus petits index secondaires possibles, chaque élément de l'index ne contenant que la clé de tri et les valeurs de clé de partition du tableau ainsi que les valeurs de clé d'index.
  • Inclure- Cette option a tous les attributs dans la catégorie Keys_only et tout autre attribution non clé que vous spécifiez.
  • All - Cette option a tous les attributs de votre table source.

Conclusion

Cela nous amène à la fin de ce tutoriel. Vous trouverez le DynamoDB assez utile pour tout développeur dédié de l'explication. Prenez votre temps et apprenez à créer et à utiliser les tables secondaires mondiales DynamoDB.