Topics 58
Amazon API Gateway Amazon Athena Amazon CloudFront & Content Delivery Amazon DynamoDB Amazon ECS (Elastic Container Service) Amazon EFS (Elastic File System) Amazon EKS (Elastic Kubernetes Service) Amazon ElastiCache (Redis & Memcached) Amazon EventBridge Amazon Kinesis & Data Streaming Amazon QuickSight & Business Intelligence Amazon Redshift & Data Warehousing Amazon Route 53 & DNS Management Amazon SageMaker & Machine Learning on AWS Amazon SNS (Simple Notification Service) Amazon SQS (Simple Queue Service) Auto Scaling Groups AWS AI Services (Rekognition, Polly, Lex & Comprehend) AWS Backup & Disaster Recovery AWS Batch AWS Certificate Manager (ACM) AWS Certification Paths & Career Roadmap AWS CLI & SDKs AWS CloudTrail & Auditing AWS CodePipeline, CodeBuild & CodeDeploy (CI/CD) AWS Config AWS Cost Management & Billing AWS Database Migration Service & Application Migration AWS Direct Connect & Hybrid Connectivity AWS Elastic Beanstalk AWS Fargate AWS Free Tier & Account Setup AWS Global Infrastructure (Regions, AZs & Edge Locations) AWS Glue & ETL AWS KMS & Data Encryption AWS Organizations & Multi Account Strategy AWS Outposts & Hybrid Cloud AWS Secrets Manager & Parameter Store AWS Security Hub & GuardDuty AWS Serverless Application Model (SAM) AWS Step Functions AWS Storage Gateway AWS Systems Manager AWS Trusted Advisor AWS WAF & Shield Core Services Overview EC2 & Compute Elastic Container Registry (ECR) Elastic Load Balancing (ALB, NLB & CLB) IaC (CloudFormation) IAM Lambda & Serverless Monitoring (CloudWatch) RDS & Databases S3 & Storage Tagging Strategies & Resource Management VPC & Networking Well-Architected Framework

Amazon DynamoDB

7 questions found

What 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