AWS Relational Database Service (RDS) Overview
AWS RDS is a managed database service that supports SQL query language. It simplifies database management in the cloud by offering automated provisioning, patching, backups, and more.
Supported Database Engines
- Amazon RDS supports several database engines, including:
- PostgreSQL
- MySQL
- MariaDB
- Oracle
- Microsoft SQL Server
- IBM DB2
- Aurora (AWS's proprietary database)
Advantages of Using RDS Over EC2-Hosted Databases
- Managed Service: AWS handles database provisioning, OS patching, and backups.
- Automatic Backups: Enables point-in-time recovery.
- Monitoring Dashboards: Offers insights into database performance.
- Read Replicas: Improves read performance through duplication.
- Multi AZ Deployments: Enhances availability and disaster recovery.
- Maintenance Windows: For seamless upgrades.
- Scaling: Supports both vertical (instance size) and horizontal (read replicas) scaling.
- Storage: Utilizes EBS (gp2 or io1 volumes), ensuring durability and performance.
Limitations
- No SSH Access: Users cannot access the underlying EC2 instance of the RDS database.
RDS Storage Auto Scaling
- Automatic Storage Scaling: Detects and scales database storage as needed to prevent running out of space.
- Configuration: Users set a maximum storage threshold to control scaling limits.
- Criteria for Scaling: Storage scales up if free space drops below 10% of the allocated space, the low storage state persists for more than five minutes, and at least six hours have passed since the last modification.
- Supported Engines: All RDS database engines support auto-scaling, facilitating management for applications with unpredictable workloads.