RDS and Aurora
Understand the managed relational database options in AWS: Amazon RDS and Amazon Aurora.
All services used in this lesson are covered by the AWS Free Tier.
AWS Services Used
Learning outcomes
By the end of this lesson, you will be able to:
- Explain what Amazon RDS is.
- Explain what Amazon Aurora is.
- Distinguish between RDS as the managed service and Aurora as a specific engine choice.
- Choose between standard RDS engines and Aurora for a given scenario.
- Recognize basic ideas like DB instances, DB clusters, and High Availability.
What managed databases give you
Amazon RDS is the managed relational database service. Amazon Aurora is one of the relational database engines you can choose inside that family.
A simple memory rule:
- RDS = The managed database service umbrella.
- Aurora = The high-performance, cloud-optimized engine option inside that umbrella.
1) What is Amazon RDS?
Amazon RDS (Relational Database Service) is a managed service that makes it easier to set up, operate, and scale a relational database in the cloud.
The basic building block of RDS is the DB Instance. Instead of you installing database software on a server, AWS provides a pre-configured instance and handles the "undifferentiated heavy lifting":
- Provisioning: Setting up the hardware and software.
- Backups: Automatic daily backups and point-in-time recovery.
- Patching: Automatic software and security updates.
- Failure Detection: Automatically detecting and recovering from hardware failures.
2) Supported Engines
RDS is an "umbrella" service. When you create an RDS database, you must choose an engine:
- MySQL
- PostgreSQL
- MariaDB
- Oracle
- Microsoft SQL Server
- IBM Db2
- Amazon Aurora
3) What is Amazon Aurora?
Amazon Aurora is AWS's proprietary relational database engine. It was built from the ground up to be "cloud-native," meaning it takes full advantage of AWS's high-speed networking and storage.
- Compatibility: It is fully compatible with MySQL and PostgreSQL. Your existing code and tools will just work.
- Performance: Up to 5x the throughput of MySQL and 3x the throughput of PostgreSQL.
- Storage: Automatically grows up to 128 TiB as your data increases.
- Reliability: It uses a DB Cluster model, automatically replicating your data 6 times across 3 Availability Zones.
4) RDS vs. Aurora: The Main Difference
The cleanest way to think about it is:
- Standard RDS (MySQL, Postgres, etc.) is like taking a traditional database and letting AWS manage it for you.
- Aurora is a database designed specifically for the AWS cloud.
| Feature | Standard RDS Engines | Amazon Aurora |
|---|---|---|
| Model | Single DB Instance | DB Cluster (replicated) |
| Scaling | Manual or scheduled | Automatic storage scaling |
| Availability | Multi-AZ standby (optional) | Built-in 3-AZ replication |
| Performance | Standard | High-performance / Cloud-optimized |
5) Your Responsibility
Even though RDS is "managed," you aren't completely off the hook.
- AWS manages: Infrastructure, OS, patching, backups, and recovery.
- You manage: Database schema design, query optimization, and application-level security.
Micro-activity 1: Pick the Better Fit
Database Selection
Based on the requirements, which option is the better fit?
Examples
Choose one, then match it on the right
Characteristics
Select an example first
0 of 5 matched so far.
Micro-activity 2: RDS Relationship
RDS Roles
Match the concept to its correct description.
Examples
Choose one, then match it on the right
Characteristics
Select an example first
0 of 4 matched so far.
Summary
Amazon RDS takes the pain out of managing relational databases. Whether you choose a familiar engine like MySQL or the high-performance Amazon Aurora, AWS handles the infrastructure so you can focus on your data and your application.
Knowledge Check
Next lesson
Lesson 4.14: DynamoDB