AWS RDS Overview
What is Amazon RDS?
- RDS stands for Relational Database Service.
- It’s a managed DB service for DB that uses SQL as a query language.
- It is a web service that makes it easier to set up, operate, and scale a relational database in the cloud.
- It provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks.
- Some people have misconceptions when they confuse RDS with a database and RDS is not a database, it’s a service that manages databases.
Relational Database Types
1. SQL Server
- SQL Server is a Relational Database developed by Microsoft in 2005.
- Amazon RDS provides multiple editions of SQL Server such as 2008 R2, 2012, 2014, 2016, 2017 in minutes with cost-effective and resizable compute capacity.
- It supports the “License-included” licensing model. In this model, you do not have to purchase the Microsoft SQL Server licenses separately.
- It is an object-relational database management system that was developed by Oracle Inc.
- It is used by big enterprises but can be used by other businesses as well.
- You can deploy multiple editions of Oracle in minutes with cost-effective and re-sizable hardware capacity.
- You can run Oracle under two different licensing models, i.e., “License Included” and “Bring-Your-Own-License”
License Included Model: In this model, you do not need to purchase the Oracle license separately, i.e., Oracle Database software has been licensed by AWS only.
Bring-Your-Own-License (BYOL): If you own Oracle Database License, then you can use the BYOL model to run the Oracle database on Amazon RDS. This model is used by those customers who already have an existing Oracle license or purchase the new license to run the Oracle database on Amazon RDS
- It is an open-source database management system that uses SQL (Structured Query Language) to access the data stored in its system.
- An Amazon RDS supports different versions of MySQL versions such as 5.5, 5.6, 5.7, 5.8, and 8.0
- PostgreSQL is another open-source database management system that uses SQL to access the data for enterprise developers and start-ups.
- With few clicks in AWS Management Console, you can deploy PostgreSQL database with automatically configured database parameters for optimal performance.
- It is a relational database engine made by Amazon which combines the speed and reliability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases.
- It is compatible with MySQL and Postgres SQL that delivers five times the throughput of MySQL on the same hardware.
- Amazon claims that Aurora is 5x faster than RDS MySQL but also expensive than RDS MySQL.
- The main features of Aurora are fault-tolerant, distributed, a self-healing storage system that auto-scales up to 64 TB per database instance.
- It provides high-performance, availability, point-in-time recovery, continuously backed up to S3, and replication across three availability zones.
- MariaDB is an open-source relational database developed by the developers of MySQL.
- It is easy to set up, operate, and scale MariaDB deployments in the AWS cloud.
- With Amazon RDS, you can deploy MariaDB databases in minutes with cost-effective and resizable hardware capacity.
- It frees you from managing time-consuming administrative tasks such as software installation, patching, monitoring, scaling, and backups.
- Amazon RDS supports MariaDB versions such as 10.0, 10.1, 10.2, and 10.3 means that the code, applications, and tools that you are using today can also be used with the Amazon RDS.
The advantage over using RDS versus deploying DB on EC2
- RDS is a managed service that offers an automatic installation process, disk provisioning, upgrades, security patches, and backups of your databases.
- RDS offers automated backups and manual snapshots and keeps them with you as long as you want.
- It provides Monitoring dashboards for the database server.
- It provides a Read replicas service which improves read performance for databases.
- RDS database is available due to the Multi-AZ service for DR (Disaster Recovery). It automatically creates a primary DB instance and replicates the data side by side to a standby instance in a different Availability Zone.
- Maintenance windows for upgrades
- Scaling capability (vertical and horizontal): Virtual Scaling — By increasing the instance type and Horizontal scaling — By adding the read replica.
- Storage Auto Scaling: When RDS detects you are running out of free database storage, it scales automatically, Useful for applications with unpredictable workloads
- BUT you can’t SSH into your instances (limitation)
RDS Storage Autoscaling
- Provides dynamic scaling support for your database’s storage based on your application’s needs.
- You have to set Maximum Storage Threshold (maximum limit 65536 GiB for DB storage)
- RDS detects when you are running out of free database storage and it scales automatically modify storage if:
Free storage is less than 10% of allocated storage
Low storage lasts at least 5 minutes
6 hours have passed since the last modification.
RDS Databases ports:
- PostgreSQL: 5432
- MySQL: 3306
- Oracle RDS: 1521
- MSSQL Server: 1433
- MariaDB: 3306 (same as MySQL)
- Aurora: 5432 (if PostgreSQL compatible) or 3306 (if MySQL compatible)