Lesson 0010: Relational Databases

Amazon RDS and Amazon Aurora

1. Managed vs. Unmanaged Databases

Running a standalone relational database on-premises or on EC2 requires you to manage server maintenance, OS patches, database software installation, backups, high availability, and scaling. Amazon RDS offloads these tasks to AWS so you can focus on application optimization.

ResponsibilityOn-PremisesEC2-HostedAmazon RDS
Application optimizationYouYouYou
Scaling / High AvailabilityYouYouAWS
Database backupsYouYouAWS
Database software patchesYouYouAWS
OS installation and patchesYouYouAWS
Server maintenance / Power / RackYouAWSAWS

2. Amazon RDS

Amazon Relational Database Service is a managed service that sets up, operates, and scales a relational database in the cloud. It provides cost-efficient, resizable capacity while automating time-consuming administration tasks.

Core idea: RDS lets you run relational databases without managing the underlying infrastructure. AWS handles backups, patching, high availability, and scaling.

Supported Database Engines

RDS DB Instances

The basic building block of RDS is the database instance — an isolated database environment that can contain multiple user-created databases. Each instance has a DB instance class (CPU, memory, network) and storage type (Magnetic, General Purpose SSD, or Provisioned IOPS). Instances typically run in a private VPC subnet accessible only to application instances.

Multi-AZ Deployment

After enabling Multi-AZ, RDS automatically creates a standby copy of the database instance in another Availability Zone within the same VPC. Transactions are synchronously replicated to the standby.

Exam tip: If the primary instance fails, RDS automatically fails over to the standby. Your application references the database by a DNS endpoint, so no code changes are needed.

Read Replicas

Read replicas use asynchronous replication from the source database. They offload read queries from your primary instance and support read-heavy workloads. Read replicas can be created in different Regions and can be promoted to the primary manually.

FeatureMulti-AZRead Replica
Replication typeSynchronousAsynchronous
Primary purposeHigh availability / DRRead scaling
FailoverAutomaticManual promotion

When to Use RDS

When NOT to use RDS: Massive read/write rates (>150,000 writes/sec), sharding needs, simple GET/PUT queries (use DynamoDB), or RDBMS customization (use EC2-hosted).

3. Amazon Aurora

Amazon Aurora is a MySQL- and PostgreSQL-compatible relational database built for the cloud. It combines the performance and availability of high-end commercial databases with the simplicity and cost-effectiveness of open-source databases.

Key Features

Exam tip: Aurora is a managed service under Amazon RDS. It is designed for high performance, high availability (6 copies across 3 AZs), and compatibility with MySQL/PostgreSQL.

4. Quick Quiz

Test Your Understanding

Select one answer per question. You will receive immediate feedback.

1. A company wants to run a MySQL database without managing OS patches, database backups, or high availability. Which service should they use?
2. Which statement about RDS Multi-AZ deployment is correct?
3. A company needs to offload read-only queries from a busy primary RDS instance. Which RDS feature should they enable?
4. Which database engine does Amazon Aurora support?
5. An application requires complex transactions, joins across multiple tables, and a query rate of 10,000 reads per second. Which database service is most appropriate?
6. Which of the following is NOT handled by AWS when using Amazon RDS?
Progress: 0/6 correct (0%). Answer all questions to see the final recommendation.
Primary Source: AWS Academy Module 8: Databases (module-8.pdf).
Ask your teacher: If you are unclear on the difference between RDS Read Replicas and Multi-AZ, or when to use RDS versus Aurora, ask before continuing. The exam frequently tests these distinctions.