Pourquoi les nouveaux éléments que j'écris dans ma table sont-ils manquants dans mon index secondaire global ?

Lecture de 2 minute(s)
0

Les éléments que j'écris dans ma table n'apparaissent pas dans l'index secondaire global (GSI) correspondant dans Amazon DynamoDB. Ou bien, il existe une latence entre le moment où j'écris les éléments et le moment où je peux les lire dans le GSI.

Résolution

Les opérations d'écriture se propagent à un GSI en 1 seconde. Si vous patientez plusieurs secondes et que le GSI n'affiche toujours pas vos mises à jour, recherchez les causes courantes suivantes :

  • Tables de base volumineuses contenant de nombreux éléments ou plusieurs GSI sur une seule table, ce qui entraîne une latence de propagation.
  • Éléments ajoutés dans la table de base qui n'ont aucune valeur pour la clé primaire GSI. 
    Remarque : Ces éléments n'apparaissent pas dans l'index car le GSI est un index fragmenté.

Pour résoudre le problème de latence de propagation élevé, configurez votre kit SDK AWS de manière à utiliser un algorithme de backoff exponentiel. Puis, réessayez les opérations de requête ou d'analyse sur l'index. Le backoff exponentiel donne à l'index le temps nécessaire pour afficher les opérations d'écriture et réduit le nombre total de nouvelles tentatives requises.

Pour les tables dont le mode de capacité est provisionné, un index dont la capacité d'écriture est inférieure à celle de sa table de base peut entraîner des retards de propagation. Pour résoudre ce problème, utilisez l'API UpdateTable pour rendre la capacité d'écriture de l'index égale ou supérieure à la capacité de la table de base.

Informations connexes

Synchronisation des données entre les tables et les index secondaires globaux

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un mois