Opérations CRUD DynamoDB et Query vs Scan

Utiliser les magasins de données dans AWS

Dunieski Otano

AWS Solutions Architect

L'erreur coûteuse

  • Un développeur utilise Scan pour trouver un 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 les 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 spécifiques
  • DeleteItem : supprimer un élément
  • Query : récupérer par clé de partition (efficace)
  • Scan : lire toute la table (coûteux)

opérations

Utiliser les magasins de données dans AWS

Query vs Scan : la différence clé

  • Query : exige la clé de partition, lit des éléments ciblés
    • 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 le schéma.

scan

Utiliser les magasins de données dans AWS

Éviter les conditions de course avec les expressions conditionnelles

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

course

Utiliser les magasins de données dans AWS

Expressions UpdateItem : modifier des attributs

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

expressions

Utiliser les magasins de données dans AWS

Pagination avec Query et Scan

  • Problème : jeux de résultats volumineux > limite de 1 Mo
  • Solution : pagination avec LastEvaluatedKey
  • Limit : contrôler les éléments par page
  • Continuer jusqu'à ce que LastEvaluatedKey soit nul

pagination

Utiliser les magasins de données dans AWS

Passons à la pratique !

Utiliser les magasins de données dans AWS

Preparing Video For Download...