← Blog

DynamoDB single-table design basics

DynamoDB is a key-value / document store. Unlike SQL, you don't normalise data into tables and then join them at query time — joins don't exist. Instead you design around access patterns: decide what queries you need first, then model your partition key (PK) and sort key (SK) to make those queries fast. A common pattern is the single-table design where all entity types live in one table, differentiated by a PK/SK naming convention like `USER#123` / `PROFILE`.