All questions
Showing of 38What is Amazon DynamoDB and what are its key characteristics?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
Amazon DynamoDB is a fully managed, serverless NoSQL database from AWS that stores key-value items and documents. AWS runs the servers, storage and scaling.
Its key characteristics:
- Reads and writes take single-digit milliseconds at any scale.
- Its service level agreement (SLA) promises 99.99% availability, or 99.999% for global tables, and data is replicated across three Availability Zones.
- The schema is flexible, since only the primary key is fixed.
- In on-demand mode, capacity scales with each request. In provisioned mode, auto scaling adjusts the capacity you set.
- ACID transactions make writes to several items succeed or fail together.
- Global tables replicate a table to other Regions, and every replica accepts writes.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What are the main data types supported by DynamoDB?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
DynamoDB has three kinds of data types: scalar, document and set types. The low-level API names each with a short descriptor.
Scalar types hold one value:
- String,
S - Number,
N - Binary,
B - Boolean,
BOOL - Null,
NULL
Document types nest other values:
- List,
L, an ordered collection of values of any type - Map,
M, an unordered collection of key-value pairs
Set types hold unique values of one type:
- String Set,
SS - Number Set,
NS - Binary Set,
BS
Key attributes must be String, Number or Binary. There is no date type, so dates go in as ISO strings or epoch numbers.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is the difference between DynamoDB and traditional relational databases?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
DynamoDB is a key-value and document database that you read by key, while a relational database joins normalized tables with SQL.
| DynamoDB | Relational database | |
|---|---|---|
| Schema | NoSQL, schema-less apart from the primary key | SQL, fixed schema |
| Scaling | Horizontal scaling across partitions | Vertical scaling, primarily |
| Consistency | Eventually consistent reads by default, with strongly consistent reads and ACID transactions on request | ACID consistency |
| Joins | No complex joins | Complex joins supported |
| Data model | Key-value and document model | Relational model |
| Operations | Managed service | Requires administration |
| Pricing | Pay per request or for provisioned capacity | Pay for instance time |
Because only the primary key is fixed, each DynamoDB item can carry its own attributes. Efficient reads name a key value through GetItem or Query, so you design tables around known access patterns. Choose DynamoDB when those patterns are known and need steady low latency at any scale. A relational database fits better when queries are ad hoc or join many tables.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What is a partition key and why is it important?
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
A partition key is the primary key attribute that DynamoDB hashes to decide which physical partition stores an item. In a table with only a partition key, each value must be unique.
It matters for three reasons:
- The hash spreads items across partitions without any setup.
- Values with an even share of traffic avoid a hot partition, one partition that takes most requests and throttles.
- As data and traffic grow, DynamoDB adds partitions, and an even key spreads the load across them.
In a users table, user_id as the partition key spreads users evenly across partitions.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
Explain the difference between Query and Scan operations.
Answer it yourself first - out loud, or typed below.
How should your speech become text?
Listening… your words appear above as you speak - tap Stop when you're done.
Recording · cr - tap Stop & transcribe when you're done.
Transcribing with AI…
Voice:
Last attempt -
A Query reads only the items that share one partition key value, while a Scan reads every item in a table or index. Query is cheaper and faster, and Scan is a last resort on large tables.
- Query needs the partition key value of the table or index, and it can narrow results with a sort key condition.
- Query returns items in sort key order.
- Scan's cost and time grow with the table, not with the result.
- Both accept a filter expression that returns a subset. It runs after the read, so filtered-out items still cost read capacity.
Avoid Scan in production on large tables. Keep it for exports and small tables, and add an index for another access pattern.
# Query example
response = table.query(
KeyConditionExpression=Key('user_id').eq('123')
)
# Scan example
response = table.scan(
FilterExpression=Attr('age').gt(21)
)
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
What are Read Capacity Units (RCU) and Write Capacity Units (WCU)?
How do you implement Time to Live (TTL) in DynamoDB?
What are the differences between DynamoDB Local and DynamoDB in AWS?
What is the difference between PutItem and UpdateItem in DynamoDB?
Explain the difference between partition key and composite primary key.
What are the best practices for choosing a good partition key?
How do you model one-to-many relationships in DynamoDB?
What are Global Secondary Indexes (GSI) and when would you use them?
What's the difference between GSI and Local Secondary Index (LSI)?
What are sparse indexes and how are they useful?
What are the consistency models in DynamoDB?
What are DynamoDB transactions and when should you use them?
What are conditional writes and how do they work?
What's the difference between provisioned and on-demand capacity modes?
What causes throttling in DynamoDB and how can you prevent it?
What is eventual consistency and how does it affect your application design?
What are DynamoDB Streams and how are they used?
What are Global Tables and when would you use them?
What is DynamoDB Accelerator (DAX) and when should you use it?
What is PartiQL and how does it work with DynamoDB?
How do you secure DynamoDB tables?
What are the DynamoDB service limits you should be aware of?
What are DynamoDB best practices for cost optimization?
What monitoring and alerting strategies should you implement for DynamoDB?
What are the different backup and restore options in DynamoDB?
How do you implement pagination with DynamoDB's Query and Scan operations?
What is single-table design in DynamoDB, and what are its pros and cons?
How do you model a many-to-many relationship in DynamoDB?
What are DynamoDB best practices for data modeling?
How does DynamoDB handle hot partitions?
How do you design for high availability and disaster recovery?
How do you handle large items in DynamoDB?
How would you model time-series data in DynamoDB?
This answer is part of Pro.
The full written answer, with the trade-offs and follow-ups an interviewer will probe.
No matches
Try a different filter or search term.
DynamoDB in pictures.
A quick recap of DynamoDB in 30 short animated pictures, one idea at a time. About 8 min to get the whole topic back in your head before you walk in. Pause any picture, slow it down, or step through it.
Pro The first chapter is free to play. The other 28 pictures come with Pro.
DynamoDB cheatsheet
- What DynamoDB is01
- Keys, items & limits02
- Read & write items03
- Consistency & transactions04
- Secondary indexes05
- Data modeling06
- Capacity & throttling07
- TTL, Streams & DAX08
- Global tables & backups09
- Security & monitoring10
- The model11
- + 5 more inside
This picture is part of Pro. The first chapter is free to play; the other 28 pictures come with Pro.
Get Pro · $10/mo Already Pro? Sign in33 of 38 DynamoDB answers are in Pro.
Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.
- Full answers + code
- AI explanations, simpler or deeper
- 1,000 AI credits / month
- Cancel anytime
Change topic
Pick a different technology or stack. Your current topic stays put until you choose a new one.
MEAN
MongoDB, Express, Angular, Node.jsMERN
MongoDB, Express, React, Node.jsDjango
Python Full-Stack DevelopmentRuby on Rails
Convention over ConfigurationServerless on AWS
Serverless Architecture on AWSInterviewers also test these - they're common to every stack, whichever one you picked above.
Flutter Mobile
Flutter Cross-Platform Mobile DevelopmentInterviewers also test these - they're common to every stack, whichever one you picked above.
Spring Boot
Enterprise Java Development.NET
Microsoft EcosystemVue
Vue.js, Vite, TypeScript, Tailwind, Node.jsGo Backend
Golang, gRPC, PostgreSQL, Redis, RabbitMQInterviewers also test these - they're common to every stack, whichever one you picked above.
FastAPI
Python, FastAPI, SQLAlchemy, PostgreSQLReact Native
React, TypeScript, Redux, FirebaseiOS Native
Swift, SwiftUI, UIKit, FirebaseAndroid Native
Java, Jetpack Compose, FirebaseDevOps / Platform
Docker, Kubernetes, Terraform, CI/CDInterviewers also test these - they're common to every stack, whichever one you picked above.
AI Engineer
LLMs, RAG, Agents, EvalsAI-Powered Developer
Claude Code, Copilot, Agentic WorkflowsCore SWE Interview Prep
Data structures, algorithms, OS, concurrency, networking, gitInterviewers also test these - they're common to every stack, whichever one you picked above.
Interviewers also test these - they're common to every stack, whichever one you picked above.