RDS vs Aurora vs DynamoDB vs ElastiCache
The four databases
Section titled “The four databases”| RDS | Aurora | DynamoDB | ElastiCache | |
|---|---|---|---|---|
| Type | Managed traditional SQL | AWS-rewritten MySQL/Postgres | NoSQL key-value/doc | Managed Redis/Memcached |
| Engine | MySQL, Postgres, MariaDB, Oracle, SQL Server | MySQL/Postgres compatible (AWS engine) | Proprietary NoSQL | Redis or Memcached |
| Scale | Vertical, ~5 read replicas | Vertical + 15 replicas, auto-scale, 128TB | Horizontal, infinite | Cluster / shards |
| Durability | Disk (EBS), Multi-AZ (2 copies) | 6 copies across 3 AZs | SSD 3 AZs | Memory only (volatile) |
| Latency | ms | ms | single-digit ms | microseconds |
| Cost | Instance + storage | ~20% more/instance, less/IO (cheaper at scale) | Pay per request / provisioned | Node-hours |
One-liners
Section titled “One-liners”RDS = managed traditional SQL — same MySQL/Postgres you know, AWS runs opsAurora = AWS REWROTE MySQL/Postgres engine — same SQL, 5× faster, 15 replicas, auto-growDynamoDB = NoSQL key-value/document — schemaless, serverless, infinite horizontal scaleElastiCache = managed REDIS (or Memcached) — not "similar to Redis", it IS RedisThe naming surprise
Section titled “The naming surprise”AWS rarely names managed open-source tools by their community name:
| Open source | AWS managed | Same software? |
|---|---|---|
| Redis / Memcached | ElastiCache | Yes — standard Redis client + commands |
| MySQL / PostgreSQL | RDS | Yes (pick engine) |
| Kubernetes | EKS | Yes |
| Kafka | MSK | Yes |
| Elasticsearch | OpenSearch | Yes (fork) |
| MongoDB | DocumentDB | API-compatible, AWS-rewritten engine |
| RabbitMQ / ActiveMQ | Amazon MQ | Yes |
Connect to ElastiCache with a normal Redis client pointed at the AWS endpoint — same commands, same protocol.
Decision tree
Section titled “Decision tree”Need relational (joins, SQL)?├── Yes, standard needs → RDS├── Yes, needs scale/HA/performance → Aurora├── No — key-value, huge scale, serverless → DynamoDB└── Need sub-ms caching / sessions → ElastiCache (Redis)Common combos: RDS/Aurora (truth) + ElastiCache (hot reads); DynamoDB + DAX; Aurora → Redshift (analytics).
Exam facts
Section titled “Exam facts”- “managed MySQL” → RDS
- “MySQL-compatible, 5× faster” → Aurora
- “NoSQL web-scale” → DynamoDB
- “caching layer” → ElastiCache
- “in-memory, sub-ms, sessions, pub/sub” → ElastiCache (Redis)
Related
Section titled “Related”- [[aws/index]]
- [[aws/dynamodb-deep-dive/index]]
- [[aws/storage-types/index]]