Service comparisons / Amazon RDS vs Amazon Aurora vs Amazon DynamoDB

RDS vs Aurora vs DynamoDB

Amazon RDS runs familiar relational engines, Aurora is AWS's cloud-built MySQL and PostgreSQL-compatible database, and DynamoDB is serverless key-value NoSQL. When to choose each for the exam.

Last checked against AWS documentation · How we write our content

QuestionAmazon RDSAmazon AuroraAmazon DynamoDB
Use it whenYou need a standard relational engine, including Oracle, SQL Server or Db2You want MySQL or PostgreSQL compatibility with more speed, scale and faster failoverAccess is by key, at any scale, with single-digit millisecond latency
Data modelRelational, SQL, joins and transactionsRelational, SQL, joins and transactionsKey-value and document; no joins
High availabilityMulti-AZ standby (or a Multi-AZ cluster with readable standbys)Six copies of data across three AZs; replicas take over in about 30 seconds or lessBuilt in across three AZs; global tables for multi-Region
Read scalingRead replicas (up to 15 for MySQL, MariaDB and PostgreSQL)Up to 15 Aurora Replicas behind one reader endpointPartitioning by key; DAX for microsecond cached reads
CapacityYou choose an instance size; storage can autoscaleProvisioned instances or Aurora Serverless v2On-demand or provisioned capacity, no servers

Database questions turn on two things: whether the data is relational, and how much scale and availability the scenario asks for.

How to choose

Exam traps