DynamoDB
What is it?
DynamoDB is Amazon's fully managed NoSQL key-value and document database built for fast, predictable performance at any scale.
Explain like I'm 5
Why was it created?
It was built so applications could get single-digit-millisecond responses at massive scale without managing database servers themselves.
Where is it used?
- High-traffic web and mobile backends
- Serverless applications
- Shopping carts and sessions
- Gaming and IoT data
Why should developers care?
DynamoDB is a go-to database for serverless and high-scale AWS apps, so cloud developers frequently use it.
How does it work?
You store items in tables, each found by a primary key. DynamoDB spreads data across partitions automatically and is designed for fast lookups by key rather than complex queries.
Real-world example
A mobile game stores each player's profile keyed by player ID, reading and writing it in a few milliseconds even with millions of players.
Common use cases
- Key-based lookups at scale
- Serverless data storage
- Session and cart storage
- High write/read throughput
Advantages
- Fully managed, no servers
- Predictable low latency
- Scales seamlessly
- Integrates with serverless AWS
Disadvantages
- Limited complex querying
- Requires careful key/access-pattern design
- Costs can surprise without planning
- Vendor lock-in
When should you use it?
When you need fast, scalable access by key and don't need rich relational queries.
When should you avoid it?
For complex joins and ad-hoc queries — a relational database fits better.
Alternatives
Related terms
Interview questions
Beginner
- What kind of database is DynamoDB?
- What is a primary key here?
Intermediate
- What is a partition key and why does it matter?
- Why is access-pattern design important?
Senior
- How do you model many access patterns in one table?
- How do you avoid hot partitions?
Common misconceptions
- "DynamoDB is just like SQL" — you design around access patterns and keys, not flexible queries.
- "It scales infinitely with no thought" — poor key design creates hot partitions and throttling.
Fun facts
- It grew out of Amazon's research into highly available key-value stores.
- Good DynamoDB design often puts many entity types in a single table.
Timeline
- 2012 — DynamoDB launched as a managed AWS service
Learning resources
Quick summary
DynamoDB is a fully managed NoSQL database delivering fast, predictable performance at scale, ideal for key-based access in AWS apps.
Cheat sheet
- Managed NoSQL key-value/document store
- Single-digit-millisecond reads
- Design around access patterns
- Great for serverless scale