RDS & Aurora
AWS RDS
Overview
• RDS stands for Relational Database Service
• It’s a managed DB service that uses SQL as a query language.
• It allows you to create databases in the cloud that AWS manages
Postgres
MySQL
MariaDB
Oracle
Microsoft SQL Server
Aurora (AWS Proprietary database)
The advantage over using RDS versus deploying DB on EC2
• RDS is a managed service:
Automated provisioning, OS patching
Continuous backups and restore to specific timestamps (Point in Time Restore)!
Monitoring dashboards
Read replicas for improved read performance
Multi-AZ setup for DR (Disaster Recovery)
Maintenance windows for upgrades
Scaling capability (vertical and horizontal) • Storage backed by EBS (gp2 or io1)
• BUT you can’t SSH into your instances
RDS Solution Architecture
RDS Deployments: Read Replicas, Multi-AZ
• Read Replicas:
Scale the read workload of your DB
Can create up to 15 Read Replicas
Data is only written to the main DB
• Multi-AZ:
Failover in case of AZ outage (high availability)
Data is only read/written to the main database
Can only have 1 other AZ as failover
RDS Deployments: Multi-Region
• Multi-Region (Read Replicas)
Disaster recovery in case of regional issue
Local performance for global reads
Replication cost
Amazon Aurora
Overview
Aurora is a proprietary technology from AWS (not open-sourced)
PostgreSQL and MySQL are both supported as Aurora DB
Aurora is “AWS cloud-optimized” and claims 5x performance improvement over MySQL on RDS, over 3x the performance of Postgres on RDS
Aurora storage automatically grows in increments of 10GB, up to 128 TB
Aurora costs more than RDS (20% more) – but is more efficient
Not in the free tier
Serverless
Automated database instantiation and auto-scaling based on actual usage
PostgreSQL and MySQL are both supported as Aurora Serverless DB
No capacity planning is needed
Least management overhead
Pay per second can be more cost-effective
Use cases: good for infrequent, intermittent, or unpredictable workloads...
Last updated