Einführung in Amazon DynamoDB

Nutzung von Datenspeichern in AWS

Dunieski Otano

AWS Solutions Architect

Das Hot-Partition-Problem

  • Stell dir ein Restaurant mit einer überlasteten Kasse und drei untätigen vor
  • So wirkt sich ein schlechtes Partition-Key-Design aus
  • Hot Partition = Eine Partition erhält unverhältnismäßig viel Traffic, andere bleiben idle.
  • Lösung: Partition Keys mit hoher Kardinalität: viele eindeutige Werte, die Daten gleichmäßig verteilen

Partition

Nutzung von Datenspeichern in AWS

Was macht einen guten Partition Key aus

  • Hohe Kardinalität: Viele eindeutige Werte
    • userId, orderId, sessionId – Ja
    • country, status, category – Nein
  • Gleichmäßige Verteilung: Ausgewogene Zugriffsmuster
  • Vorhersehbar: Zur Abfragezeit bekannt

Kardinalität

Nutzung von Datenspeichern in AWS

DynamoDB-Tabellenstruktur

  • Partition Key (erforderlich): Steuert Datenverteilung
  • Sort Key (optional): Ermöglicht Bereichsabfragen (z. B. userId + orderDate)
  • Attribute: Zusätzliche Datenfelder
  • Primärschlüssel = Partition Key ODER Partition Key + Sort Key

Tabelle

Nutzung von Datenspeichern in AWS

Erste Tabelle erstellen

  • AWS-Konsole: Schnelles Setup zum Testen
  • boto3 (Python): Programmatisch Tabellen erstellen
  • Wichtige Entscheidungen: Partition Key, Sort Key, Abrechnungsmodus

Erste

Nutzung von Datenspeichern in AWS

Zusammengesetzte Schlüssel und Sort-Key-Abfragen

  • Zusammengesetzter Schlüssel: Partition Key + Sort Key
  • Bereichsabfragen: Nach Datums- oder Zahlenbereichen abfragen
  • Operatoren: =, <, >, <=, >=, BETWEEN, begins_with
  • Beispiel: Bestellungen eines Nutzers der letzten 30 Tage > $100

Code

Nutzung von Datenspeichern in AWS

Kapazitätsmodi: On-Demand vs. Provisioned

  • On-Demand: Bezahlung pro Anfrage, skaliert automatisch
    • Am besten für: Unvorhersehbaren Traffic, neue Apps
  • Provisioned: RCU/WCU festlegen, günstiger bei Skalierung
    • Am besten für: Vorhersehbaren Traffic, Kostenoptimierung
  • Wechsel zwischen Modi einmal pro 24 Stunden möglich

Modus

Nutzung von Datenspeichern in AWS

Lass uns üben!

Nutzung von Datenspeichern in AWS

Preparing Video For Download...