Interview AWS

What is DynamoDB, and when would you choose it over RDS?

AWS · Intermediate level

Answer

DynamoDB is managed NoSQL for high-scale, low-latency key-value/document workloads. I choose it over RDS when access patterns are known and denormalized; I choose RDS for relational joins, constraints, and SQL flexibility.

Technical explanation

DynamoDB table design starts from exact queries, not normalized relational modeling.

Database service choice depends on data model, access patterns, consistency requirements, operational burden, scaling model, and failure tolerance.

Managed databases still require customer ownership of schema, indexes, queries, IAM/network security, backups, upgrades, and restore validation.

Production data design should include encryption, private networking, least-privilege access, monitoring, backups, failover testing, and cost controls.

Hands-on example

1. Create the database/cache in private subnets with encryption, least-privilege security groups, backup/retention settings, and monitoring enabled.

2. Run a representative workload test and capture latency, throughput, connection count, CPU, memory, I/O, and errors.

3. Test the failure path: failover, replica lag, cache loss, throttling, or restore depending on the service.

4. Write the operational runbook covering access, backup, scaling, alarms, and rollback.

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More AWS interview questions

← All AWS questions