DynamoDB-CRUD-Operationen und Query vs. Scan
Nutzung von Datenspeichern in AWS
Dunieski Otano
AWS Solutions Architect
Der teure Fehler
Entwickler nutzt Scan, um einen Nutzer zu finden
Liest die ganze Tabelle mit 1 Mio. Items
Rechnung: 500 $ für eine einzelne Suche
Query hätte 0,01 $ gekostet
CRUD-Operationen in DynamoDB
PutItem
: Item erstellen oder ersetzen
GetItem
: Item per Primärschlüssel lesen
UpdateItem
: Bestimmte Attribute ändern
DeleteItem
: Item entfernen
Query
: Items per Partition Key abrufen (effizient)
Scan
: Ganze Tabelle lesen (teuer)
Query vs. Scan: der entscheidende Unterschied
Query
: Benötigt Partition Key, liest gezielte Items
Schnell, effizient, günstig
Scan
: Liest ganze Tabelle, filtert danach
Langsam, teuer, möglichst vermeiden
Regel: Kennst du den Key, nutze Query. Sonst Design überdenken.
Race Conditions mit bedingten Ausdrücken verhindern
Problem: Zwei Nutzer aktualisieren gleichzeitig dasselbe Item
Lösung: Bedingte Ausdrücke
Beispiel: Aktualisiere nur, wenn der aktuelle Wert dem erwarteten entspricht
UpdateItem-Ausdrücke: Attribute ändern
SET
: Attribut setzen oder neues Attribut anlegen
ADD
: Zahlen erhöhen/verringern, zu Sets hinzufügen
REMOVE
: Attribute aus Item löschen
DELETE
: Elemente aus Sets entfernen
Paginierung mit Query und Scan
Problem
: Große Ergebnismengen überschreiten 1-MB-Grenze
Lösung
: Paginierung mit LastEvaluatedKey
Limit
: Items pro Seite steuern
Fortfahren, bis LastEvaluatedKey null ist
Lass uns üben!
Nutzung von Datenspeichern in AWS
Preparing Video For Download...