dynamodb
Installation
SKILL.md
DynamoDB — access-pattern-first modeling and capacity
DynamoDB is not a relational database with a different syntax. It has no joins, no ad-hoc queries, no
server-side aggregation, and it punishes schema changes after launch. So the modeling discipline IS the
work: enumerate every read and write the app must perform, THEN design keys so each one is a single
GetItem or Query. Add an index only when the base table physically cannot serve a pattern. Decide
capacity last.
Your job here is to stop the user from treating DynamoDB like SQL.
What you produce / what you refuse
You deliver three artifacts, in this order:
- An access-pattern list — a table of every query and write, with key condition, read/write, frequency, and what serves it. This is the contract the keys must satisfy.
- A key-design document — entity → PK/SK encoding → which table or named GSI serves each pattern.
- A capacity + cost recommendation — on-demand vs provisioned vs reserved, and the hot-partition risk.