7 questions foundWhat is Amazon DynamoDB and what type of database is it?
Beginner Amazon DynamoDB is a fully managed, serverless NoSQL key value and document database that delivers single digit millisecond performance at any scale, automatically handling tasks like hardware provisioning, replication, and scaling, so developers can focus on building applications instead of managing database infrastructure.
aws dynamodb create-table --table-name Users --attribute-definitions AttributeName=UserId,AttributeType=S --key-schema AttributeName=UserId,KeyType=HASH --billing-mode PAY_PER_REQUEST
Real-world example A mobile gaming company uses DynamoDB to store player profiles and game state, relying on its consistent low latency performance even as millions of players connect simultaneously during a game launch.
Common follow-ups: What is the difference between DynamoDB and a relational database like RDS?;What does serverless mean in the context of DynamoDB?
RDS & Databases;Lambda & Serverless
What are partition keys and sort keys in DynamoDB?
Beginner A partition key is a required attribute that DynamoDB uses to determine which physical partition stores a given item, while an optional sort key lets you store multiple items under the same partition key, sorted by that key's value, together forming what is called a composite primary key, which enables efficient queries for related groups of items.
aws dynamodb create-table --table-name Orders --attribute-definitions AttributeName=CustomerId,AttributeType=S AttributeName=OrderDate,AttributeType=S --key-schema AttributeName=CustomerId,KeyType=HASH AttributeName=OrderDate,KeyType=RANGE
Real-world example An online store uses CustomerId as the partition key and OrderDate as the sort key for its Orders table, allowing it to quickly retrieve all orders for a specific customer sorted by date.
Common follow-ups: How do you choose a good partition key to avoid hot partitions?;Can you change the primary key of a table after it is created?
AWS Glue & ETL;Amazon Athena
What is the difference between DynamoDB's on demand and provisioned capacity modes?
Intermediate On demand capacity mode automatically scales to handle your application's traffic without any manual capacity planning, charging you based on the actual read and write requests made, while provisioned capacity mode requires you to specify a fixed number of read and write capacity units ahead of time, which can be more cost effective for predictable, steady workloads but requires careful planning to avoid throttling.
aws dynamodb update-table --table-name Orders --billing-mode PROVISIONED --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
Real-world example A startup with unpredictable traffic patterns chooses on demand capacity mode to avoid throttling during unexpected spikes, while a mature application with steady, well understood traffic switches to provisioned capacity to reduce overall cost.
Common follow-ups: What happens if a provisioned capacity table receives more traffic than expected?;Can you switch between on demand and provisioned modes later?
AWS Cost Management & Billing;Auto Scaling Groups
What are Global Secondary Indexes and Local Secondary Indexes in DynamoDB?
Intermediate A Global Secondary Index lets you query your table using a completely different partition key and sort key than the table's primary key, supporting flexible query patterns across the entire table, while a Local Secondary Index shares the same partition key as the table but allows a different sort key, letting you query items within the same partition in a different order.
aws dynamodb update-table --table-name Orders --attribute-definitions AttributeName=Status,AttributeType=S --global-secondary-index-updates '[{"Create":{"IndexName":"StatusIndex","KeySchema":[{"AttributeName":"Status","KeyType":"HASH"}],"Projection":{"ProjectionType":"ALL"}}}]'
Real-world example An order management system adds a Global Secondary Index on the order status field, allowing it to efficiently query all pending orders across every customer, something the original primary key structure could not support directly.
Common follow-ups: When must a Local Secondary Index be created compared to a Global Secondary Index?;What are the cost implications of adding multiple indexes?
Amazon Athena;RDS & Databases
How does DynamoDB Streams work and what is it commonly used for?
Intermediate DynamoDB Streams captures a time ordered sequence of item level changes, including inserts, updates, and deletes, made to a table, and this stream can trigger a Lambda function automatically whenever a change occurs, making it a popular way to build event driven workflows like sending notifications, replicating data to another system, or maintaining derived aggregated tables.
aws dynamodb update-table --table-name Orders --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES
Real-world example An inventory system uses a DynamoDB Stream connected to a Lambda function to automatically send a low stock alert notification the moment a product's quantity attribute drops below a certain threshold.
Common follow-ups: What is the difference between the stream view types available in DynamoDB Streams?;How long are records retained in a DynamoDB Stream?
Lambda & Serverless;Amazon EventBridge
What is a hot partition in DynamoDB and how can you avoid it?
Advanced A hot partition occurs when a disproportionate amount of read or write traffic targets the same partition key, causing that specific partition to become a bottleneck even though the overall table has plenty of available capacity, and it is typically avoided by choosing a partition key with high cardinality, such as a user ID or a combination of attributes, rather than something with only a few possible values like a status flag.
// Poor choice: partition key with low cardinality
PartitionKey: OrderStatus (only a few possible values)
// Better choice: high cardinality partition key
PartitionKey: CustomerId
Real-world example A ticketing platform originally partitioned its table by event ID, causing a massive hot partition during a popular concert's ticket sale, and later redesigned the key structure to spread the load more evenly across partitions.
Common follow-ups: How does DynamoDB adaptive capacity help mitigate hot partitions?;What tools can you use to detect a hot partition in production?
Auto Scaling Groups;Monitoring (CloudWatch)
How does DynamoDB Global Tables support multi region applications?
Advanced DynamoDB Global Tables provide a fully managed, multi region, multi active replication solution where writes made to a table in any participating region are automatically propagated to all other regions within seconds, allowing applications to read and write local data with low latency from users anywhere in the world while maintaining eventual consistency across regions.
aws dynamodb create-global-table --global-table-name Users --replication-group RegionName=us-east-1 RegionName=eu-west-1
Real-world example A global social media application uses DynamoDB Global Tables so a user's profile updates made from a server in Europe are automatically available to a server in the United States within seconds, without any custom replication code.
Common follow-ups: How does DynamoDB handle conflicting writes made in different regions at the same time?;What is the cost impact of enabling Global Tables?
AWS Global Infrastructure (Regions AZs & Edge Locations);AWS Backup & Disaster Recovery