Opérations CRUD DynamoDB et Query vs Scan

Utiliser des magasins de données dans AWS

Dunieski Otano

AWS Solutions Architect

L'erreur coûteuse

  • La personne développeuse utilise Scan pour trouver un seul utilisateur
  • Lit toute la table de 1 million d'éléments
  • Facture : 500 $ pour une seule recherche
  • Query aurait coûté 0,01 $

erreur

Utiliser des magasins de données dans AWS

Opérations CRUD dans DynamoDB

  • PutItem : créer ou remplacer un élément
  • GetItem : lire un élément par clé primaire
  • UpdateItem : modifier des attributs précis
  • DeleteItem : supprimer un élément
  • Query : récupérer par clé de partition (efficace)
  • Scan : lire toute la table (coûteux)

ops

Utiliser des magasins de données dans AWS

Query vs Scan : la différence clé

  • Query : exige la clé de partition, lit des éléments précis
    • Rapide, efficace, peu coûteux
  • Scan : lit toute la table, filtre après
    • Lent, coûteux, à éviter si possible
  • Règle : si vous connaissez la clé, utilisez Query. Sinon, repensez la conception.

scan

Utiliser des magasins de données dans AWS

Prévenir les conditions de concurrence avec des expressions conditionnelles

  • Problème : deux personnes mettent à jour le même élément en même temps
  • Solution : expressions conditionnelles
  • Exemple : mettre à jour seulement si la valeur actuelle correspond à l'attendue

concurrence

Utiliser des magasins de données dans AWS

Expressions UpdateItem : modifier des attributs

  • SET : définir la valeur d'un attribut ou en créer un nouveau
  • ADD : incrémenter/décrémenter des nombres, ajouter à des ensembles
  • REMOVE : supprimer des attributs d'un élément
  • DELETE : retirer des éléments d'ensembles

expressions

Utiliser des magasins de données dans AWS

Pagination avec Query et Scan

  • Problème : les ensembles de résultats dépassent la limite de 1 Mo
  • Solution : pagination avec LastEvaluatedKey
  • Limit : contrôler les éléments par page
  • Continuer jusqu'à ce que LastEvaluatedKey soit null

pagination

Utiliser des magasins de données dans AWS

Passons à la pratique !

Utiliser des magasins de données dans AWS

Preparing Video For Download...