2017-08-28 3 views
0

J'ai créé une table DynamoDB et un index secondaire global sur cette table. J'ai besoin d'aller chercher toutes les données du GSI de cette table.DynamoDB Scan sans FilterExpression vs requête

Il y a deux options:

  1. opération d'analyse sans expression de filtre.
  2. Interrogation sans condition.

J'ai besoin de savoir lequel a de meilleures performances, de sorte que je commence ma mise en œuvre. J'ai beaucoup lu sur les opérations DynamoDB Scan et Query mais pourrait résoudre ma requête.

S'il vous plaît aidez-moi à résoudre ma requête.

Merci d'avance.

Abhishek

+0

Il y aurait une clé primaire mais je veux récupérer la table d'index secondaire complète. Je peux aller chercher la table complète en utilisant une requête ou en utilisant scan. Ce qui donnerait de meilleures performances. –

Répondre

0

Ils seront à la fois imposer la même frais généraux de performance. Donc, choisir soit devrait être bon. Vous devriez penser à ajouter des optimisations au-dessus de celui que vous abordez utilisez - par exemple effectuer des analyses parallèles comme mentionedin les meilleures pratiques:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScanGuidelines.html

ou de données mise en cache dans votre application

Notez que la scans parallèles mangeront vos provisions.

Une autre chose à surveiller lors de votre prise de décision serait la probabilité que le modèle de requête change. Avez-vous l'intention d'ajouter des filtres à l'avenir? Si c'est le cas, la requête serait meilleure car l'analyse charge toutes les données (consommation de la capacité de lecture provisionnée), puis filtre les résultats.