Database
RDS vs Aurora vs DynamoDB
RDS and Aurora are both relational (SQL) databases, but Aurora is an AWS-built engine optimized for high availability and throughput. DynamoDB is a schemaless NoSQL database built for massive scale and low latency.
| Aspect | Amazon RDS | Amazon Aurora | Amazon DynamoDB |
|---|---|---|---|
| Data model | Relational (SQL) | Relational (SQL, MySQL/PostgreSQL compatible) | NoSQL (key-value/document) |
| Scaling | Mainly vertical; read replicas for read scaling | Storage auto-scales to 128 or 256 TiB depending on engine version, with up to 15 read replicas | Auto horizontal scaling (on-demand or provisioned) |
| Availability | Configured via Multi-AZ deployment | 6 copies across 3 AZs automatically, fast failover | Automatically replicated across multiple AZs |
| Performance | Depends on engine | Up to 5x RDS throughput (MySQL-compatible) | Consistent single-digit millisecond latency |
| Typical use | Lift-and-shift, systems needing complex JOINs | Mission-critical RDBMS needing high availability | Massive-scale, low-latency web apps, games, IoT |
How to Choose
Use RDS for existing relational apps with complex transactions or JOINs. Use Aurora for MySQL/PostgreSQL-compatible workloads needing high availability and throughput. Use DynamoDB when the schema is simple and scalability plus low latency are the top priority.
Exam Points
- SAA frequently tests "migrating from Oracle/SQL Server" → RDS, "need HA MySQL-compatible DB" → Aurora, "unpredictable traffic, millisecond response" → DynamoDB
- DVA frequently tests DynamoDB partition key design, GSI/LSI, and capacity mode selection
- SAP/SOA cover auto-scaling architectures using Aurora Serverless v2
Related Service Guides
References
Last updated: 2026-09-06
This page is created from AWS official documentation and reviewed/edited by the operator. See our editorial & quality policy for details.