Surcharge des index secondaires globaux - Amazon DynamoDB

Surcharge des index secondaires globaux

Même si Amazon DynamoDB dispose d'un quota par défaut de 20 index secondaires globaux par table, en pratique, vous pouvez indexer beaucoup plus que 20 champs de données. Contrairement à une table dans un système de gestion de base de données relationnelle (SGBDR) où le schéma est uniforme, une table dans DynamoDB peut contenir de nombreux types d'éléments de données différents en même temps. De plus, le même attribut dans des éléments différents peut contenir des types d'informations complètement différents.

Prenez l'exemple suivant d'une disposition de table DynamoDB qui enregistre différents types de données.

Schéma de table pour la surcharge de GSI.

L'attribut Data, qui est commun à tous les éléments, a un contenu différent selon son élément parent. Si vous créez un index secondaire global pour la table, qui utilise la clé de tri de la table comme clé de partition et l'attribut Data comme clé de tri, vous pouvez exécuter tout un éventail de requêtes différentes à l'aide d'un seul index secondaire global. Ces requêtes peuvent comprendre notamment les requêtes suivantes :

  • Recherchez un employé par son nom dans l'index secondaire global en utilisant Employee_Name comme valeur de clé de partition, et le nom de l'employé (par exemple, Murphy, John) comme valeur de clé de tri.

  • Utiliser l'index secondaire global pour trouver tous les employés qui travaillent dans un entrepôt particulier en effectuant une recherche sur un ID d'entrepôt (par exemple, Warehouse_01).

  • Obtenez la liste des embauches récentes en interrogeant l'index secondaire global sur HR_confidential comme une valeur de clé de partition et en utilisant une plage de dates en tant que valeur de clé de tri.