DynamoDB learning path
Understand the model.
Then write the code.
Each guided lesson explains the DynamoDB concept and tradeoffs before asking you to complete its lab and knowledge check.
Start with partition keysBrowser progress
0/17
Progress is stored in this browser and can be reset from the navigation.
Part 1 · Kanto
DynamoDB foundations
Start with partition keys and table design, then practice reads, scans, safe writes, updates, counters, and deletes.
Primary keys
Understanding Partition Keys
Learn how DynamoDB decides where items live and why partition keys keep related Pokémon together.
Table design
Simple Primary Key in Action
Build a table that stores Pokémon by name, then insert and retrieve data using a simple primary key.
Scan
Fetch All Pokémon
Learn when a full-table Scan is acceptable, what it costs, and how to paginate every 1 MB response safely.
GetItem
Get Your Starter Pokémon
Model trainers and starters so you can fetch the perfect partner Pokémon with a single request.
PutItem
Put Mew into Your Party
Use conditional writes to welcome legendary Pokémon without clobbering existing party data.
UpdateItem
Update Expression Mastery
Master UpdateExpression syntax to evolve your Pokémon records safely and predictably.
Atomic counters
Boost Mew's Stats
Fine-tune stats with atomic counters so your mythical partner is always battle ready.
DeleteItem
Release Mew Back to the Wild
Design safe delete operations that send Pokémon home while protecting the rest of your data.
Part 2 · Johto
Advanced patterns
Build on the foundations with expressions, indexes, transactions, batches, pagination, TTL, and production design.
ExpressionAttributeValues
Speaking DynamoDB's Language (Expression Attributes)
Before Johto's advanced patterns, master the two placeholders every expression relies on: ExpressionAttributeValues and ExpressionAttributeNames.
GSI
The Johto Pokedex (GSIs)
Querying non-primary key attributes efficiently using Global Secondary Indexes without scanning.
Sort Keys
Finding the Strongest (Sort Keys)
Using Sort Keys in GSIs for ordering and advanced KeyConditionExpressions.
ConditionExpression
Catching Lugia (Conditional Writes)
Use ConditionExpression to prevent duplicate legendary catches and invalid states.
TransactWriteItems
Trading with Rival (Transactions)
Execute ACID transactions across multiple items to securely trade Pokémon.
BatchGetItem
Healing Party (Batch Operations)
Fetch multiple Pokémon efficiently, then retry UnprocessedKeys with exponential backoff.
Pagination
Scrolling the Pokegear (Pagination)
Implement pagination using ExclusiveStartKey and LastEvaluatedKey to load lists efficiently.
TTL
Burn Heal (Time to Live)
Mark temporary status effects for asynchronous TTL cleanup and exclude expired items from application reads.
Capacity & hot keys
Elite Four Production Review
Turn a working Pokédex into an operable production system by making explicit decisions about scale, recovery, security, and global behavior.
Why this sequence works
Partition-key choices make sense only after the learner understands access patterns, hashing, cardinality, and traffic distribution. Those ideas are taught explicitly before the later code challenges depend on them.