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 $
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)
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.
É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
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
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
Passons à la pratique !
Utiliser les magasins de données dans AWS
Preparing Video For Download...