Databases on AWS: RDS, DynamoDB, and Aurora
Relational versus NoSQL managed databases and when to choose each.
The CLF-C02 exam does not ask you to write SQL. It asks you to match a workload to the right managed database service and to explain why a managed service beats running your own database on EC2. Learn the shape of each service — relational vs. NoSQL, transactional vs. analytical, disk vs. in-memory — and most database questions become a quick process of elimination.
Core Idea
- Relational databases (RDS, Aurora) use structured tables and SQL and are best for transactional workloads with fixed schemas; NoSQL databases (DynamoDB) use flexible key-value or document models and scale horizontally for high-throughput, simple-lookup workloads.
- "Managed" means AWS handles the undifferentiated heavy lifting — patching, backups, hardware provisioning, and failover — so you focus on your data and application, not on database administration.
- Match the service to the job: transactions to RDS/Aurora, key-value at massive scale to DynamoDB, microsecond caching to ElastiCache, and analytics over huge datasets to Redshift.
Amazon RDS: Managed Relational
Amazon RDS runs standard relational engines for you: MySQL, PostgreSQL, MariaDB, Oracle, SQL Server, and Aurora. AWS automates provisioning, OS and database patching, backups, and recovery, while you retain your familiar SQL and schema. Two features are heavily tested:
- Multi-AZ deployments provide high availability. RDS keeps a synchronous standby replica in a second Availability Zone and fails over automatically if the primary fails. Multi-AZ is about durability and uptime, not performance.
- Read replicas provide read scaling. They are asynchronous copies that offload read traffic from the primary, improving performance for read-heavy applications. Read replicas are about scaling reads, not automatic failover.
Amazon Aurora: High-Performance Relational
Aurora is AWS's cloud-native relational engine, compatible with MySQL and PostgreSQL so existing applications and tools work with little change. It delivers up to 5x the throughput of standard MySQL and 3x that of PostgreSQL at a fraction of the cost of commercial databases. Aurora storage is fault-tolerant and self-healing, replicating six copies of data across three Availability Zones automatically. Choose Aurora when you want relational/SQL semantics but need more performance and availability than standard RDS engines provide.
Amazon DynamoDB: Serverless NoSQL
DynamoDB is a fully managed, serverless key-value and document NoSQL database. There are no servers to provision or patch; it scales automatically to handle massive request volumes and delivers consistent single-digit millisecond performance at any scale. It is the go-to choice for high-traffic web and mobile apps, gaming, IoT, and shopping carts — workloads with simple lookups by key and unpredictable or very high throughput. Because it is schemaless, each item can have different attributes. Choose DynamoDB when you need flexible schema, horizontal scale, and low-latency key lookups rather than complex joins or transactions across many tables.
ElastiCache and Redshift: Specialized Stores
- Amazon ElastiCache is a managed in-memory data store using Redis or Memcached. It caches frequently accessed data in memory to deliver sub-millisecond latency and take load off a backing database. Use it to speed up read-heavy or repetitive queries.
- Amazon Redshift is a managed data warehouse built for OLAP analytics — running complex queries and reporting over petabytes of historical data. Use Redshift for business intelligence and large-scale analytics, not for the day-to-day transactional (OLTP) traffic that RDS handles.
High-Yield Exam Patterns
- "Managed relational database" or a request to migrate an existing MySQL/PostgreSQL/Oracle database → Amazon RDS.
- "High availability" / "automatic failover" for a relational database → RDS Multi-AZ; "scale read traffic" → read replicas.
- "NoSQL," "key-value," "serverless," "single-digit millisecond," "millions of requests" → DynamoDB.
- "In-memory," "caching," "sub-millisecond," "Redis/Memcached" → ElastiCache.
- "Data warehouse," "analytics," "business intelligence," "OLAP" → Redshift.
- "MySQL/PostgreSQL-compatible" with emphasis on high performance → Aurora.
Common Traps to Avoid
- Confusing Multi-AZ (availability) with read replicas (read performance) — the exam tests this distinction directly.
- Choosing Redshift for transactional (OLTP) workloads — Redshift is for analytics; use RDS/Aurora for transactions.
- Picking DynamoDB when the workload needs complex joins, multi-table transactions, or a fixed relational schema — that is a relational (RDS/Aurora) job.
- Assuming ElastiCache is a primary database — it is a cache layer in front of a durable data store, not the system of record.
- Recommending self-managing a database on EC2 when a managed service fits — the exam favors managed services to reduce operational overhead.
Flashcards
Card 1 of 14
Question
What does Amazon RDS manage on your behalf?
Click or press Space to reveal answer
Answer
Provisioning, OS and database patching, backups, and recovery for relational engines like MySQL, PostgreSQL, MariaDB, Oracle, and SQL Server.
Keyboard: Space/Enter to flip • Arrow keys to navigate
Ready to Test Your Knowledge?
This quiz has 8 questions and each one has 4 options.
Quiz Details
8 Questions
Multiple choice with instant self-check
Final Review
See correct answers and explanations at the end
Build your own lesson in minutes.
Upload a source document and turn it into flashcards, quizzes, and a study-ready lesson bank.