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

Fehler

Nutzung von Datenspeichern in AWS

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)

Operationen

Nutzung von Datenspeichern in AWS

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.

Scan

Nutzung von Datenspeichern in AWS

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

Wettlauf

Nutzung von Datenspeichern in AWS

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

Ausdrücke

Nutzung von Datenspeichern in AWS

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

Paginierung

Nutzung von Datenspeichern in AWS

Lass uns üben!

Nutzung von Datenspeichern in AWS

Preparing Video For Download...