Utilisation d'un partitionnement d'écriture d'index secondaire global pour des requêtes de table sélectives - Amazon DynamoDB

Utilisation d'un partitionnement d'écriture d'index secondaire global pour des requêtes de table sélectives

Les applications doivent fréquemment identifier un petit sous-ensemble d'éléments dans une table Amazon DynamoDB, qui répondent à une certaine condition. Lorsque ces éléments sont distribués de façon aléatoire sur les clés de partition de la table, vous pouvez recourir à une analyse de table pour les extraire. Cette option peut être coûteuse, mais elle fonctionne bien quand un grand nombre d'éléments sur la table répondent à la condition de recherche. Cependant, lorsque l'espace de clé est grand et que la condition de recherche est très sélective, cette politique peut entraîner beaucoup de traitement inutile.

Pour activer les requêtes sélectives dans l'espace de clé entier, vous pouvez utiliser un partitionnement d'écriture en ajoutant un attribut contenant une valeur (0-N) à chaque élément que vous comptez utiliser pour la clé de partition d'index secondaire global.

Voici un exemple de schéma utilisant cette approche dans un flux d'événement critique :

Exemple de requêtes sélectives.

À l'aide de cette conception de schéma, les éléments d'événement sont distribués dans des partitions 0-Nsur l'index secondaire global, permettant une lecture dispersée à l'aide d'une condition de tri sur la clé composite pour récupérer tous les éléments dans un état donné pendant une période spécifiée.

Ce modèle de schéma fournit un jeu de résultats hautement sélectif à un coût minimal, sans nécessiter d'analyse de table.