Overview
- RDS stands for Relational Database Service.
- It’s a managed DB service for DB use SQL as a query language.
- It allows you to create below databases in the cloud that are managed by AWS
* Postgres * MySQL * MariaDB * Oracle * Microsoft SQL Server * Aurora (AWS DB)
Note: Using RDS we cannot SSH into EC2 instances
Advantage of Using AWS RDS over provisioning DB on EC2 instances
- We can automate Provisioning and OS patching
- We can take backups continuously and restore it to a specific time
- We can improve scaling capability (vertical and horizontal)
- The storage is backed by EBS - gp2 or iol
- Monitoring dashboards
- Read replicas for improved read performance
- Multi AZ setup for DR (Disaster Recovery)
- we can setup maintenance windows for upgrades
RDS Backup
Backups are automatically enabled.
RDS AutoScaling
- RDS helps to increase DB instance storage dynamically.
- RDS detects and scales automatically if the DB instance storage is low.
- Useful for applications with unpredictable workloads and it supports all RDS DB engines (Maria DB, SQL Server, Oracle, My SQL, PostgreSQL).
RDS Read Replicas
- Supports up to 5 Read replicas
- Replication between master to slave is ASYNC so that the replication is consistent
- Read replicas can be promoted to their primary DB
- In order to use read replica, applications must use read replica connection string. RDS N/w Costs:
RDS Multi AZ - Disaster Recovery
- Replications are SYNC
- Increase availability
- One DNS name - automatic app failover to standby
- Failover in case of loss of AZ, loss of network, instance or storage failure
- No manual intervention in apps
- Not used for scaling
- Multi-AZ replication is free
- The Read Replicas be setup as Multi AZ for Disaster Recovery (DR)