Relational Databases in AWS
-
AWS supports fully managed relational databases called as AWS Relational Database Service (RDS).
-
Using RDS we can host the following RDBMS Engines
- Aurora MySQL
- Aurora PostgreSQL
- Oracle
- SQL Server
- MySQL
- PostgreSQL
- MariaDB
-
Scenario 1: Hosting the Database on-premises

-
Scenario 2: Host the Database on AWS EC2 Server

-
Scenario 3: Hosting the Databases using AWS RDS

-
AWS RDS provides the following benefits
- No infra management
- Instant provisioning
- Scale
- Highly Available
-
Storage limits are
- MySQL, SQL Server, PostgreSQL, Oracle => 16 TB
- Aurora => 64 TB
AWS RDS Architectures
-
Single AZ Deployment:

-
High Availability: Multiple AZs

-
In the case of Multi-AZ Architecture,
- primary database is known as master database which handles all the traffic
- The standby database is always kept ready and is in a state whenever master goes down, it takes the role of master.
- AWS exposes the RDS master as a DNS record

Create a RDS MySQL instance with Single AZ
- Steps:

- Options

- Once the Database is created, the connection b/w application and database can be configured using connection string which requires
- Endpoint
- port
- username
- password
- Java Connection string for MySQL Refer Here
- .net connection string from mysql Refer Here
Client Components for Database Engines
- mysql => mysql workbench
- PostgreSQL => pgAdmin
- SQL Server => SQL Server Management Studio
- Oracle => Oracle SQL Developer Refer Here
Exercise
- Create a free tier PostgreSQL RDS database
