Datenmodellierung

Hier weicht DynamoDB am stärksten von SQL ab. Du normalisierst nicht in eine Tabelle pro Entität — du startest von deinen Zugriffsmustern und entwirfst Keys, die sie bedienen, oft indem du jede Entität in eine einzige Tabelle packst. Richtig gemacht, holst du einen Parent und seine Children in einer einzigen Query, ganz ohne Joins.

Falsch gemacht, bekommst du eine Tabelle, die du nicht abfragen kannst, und eine Migration, die du nicht ausführen kannst. Die Trade-offs zählen also, und dieser Abschnitt ist ehrlich über die Fälle, in denen Single-Table-Design die falsche Wahl ist.

0 von 7 gelesenQuiz
Single-Table-Design in DynamoDB
Single-Table-Design in DynamoDB — warum eine Tabelle mit überladenen Schlüsseln eine Tabelle-pro-Entität schlägt, mit einem konkreten Bestellung-/Kunden-Beispiel und dem Muster der GSI-Überladung.
Fortgeschritten4 Min. Lesezeit
Wie du Daten in DynamoDB modellierst
Wie du Daten in DynamoDB zugriffsmuster-first modellierst — ein Schritt-für-Schritt-Durchlauf, der die Queries eines Multiplayer-Leaderboards in Partition und Sort Keys verwandelt.
Fortgeschritten8 Min. Lesezeit
Wann du KEIN Single-Table-Design in DynamoDB verwenden solltest
Wann du KEIN Single-Table-Design in DynamoDB verwenden solltest — die Workloads, bei denen mehrere Tabellen gewinnen (heavy Analytics, einfaches CRUD, unabhängige Skalierung), mit konkreten Beispielen.
Fortgeschritten6 Min. Lesezeit
Das Type-Attribut in DynamoDB
Das DynamoDB-Type-Attribut — warum du jedem Item einen Entitätstyp aufprägst, um Zeilen zu identifizieren, einen GSI auf eine Entität zu filtern und künftige Migrationen zu überstehen.
Fortgeschritten7 Min. Lesezeit
Denormalisierung in DynamoDB
DynamoDB-Denormalisierung — warum du Daten duplizierst statt zu joinen, mit einem Blog-Autorennamen-Beispiel, dem Staleness-Footgun und wann du einbetten vs. duplizieren solltest.
Fortgeschritten6 Min. Lesezeit
Singleton-Items in DynamoDB
DynamoDB-Singleton-Items — eine Zeile mit festem Key, die globalen Zustand wie Feature-Flags oder Config hält, warum du sie mit GetItem holst und wie du sie ohne Races aktualisierst.
Fortgeschritten7 Min. Lesezeit
WissenscheckQuiz starten
Überprüfe, was du in diesem Abschnitt gelernt hast.

Starte mit Single-Table-Design — alles danach setzt dieses mentale Modell voraus.

Probier DynoTable aus, um diese Layouts gegen eine echte Tabelle zu modellieren und zu durchstöbern.