RDS
Revision | Date | Description |
|---|---|---|
| 26.08.2024 | Init document |
Introduction
Relational Database Service (RDS) 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.
Key features of AWS RDS
Managed Database Service: AWS RDS takes care of tedious database management tasks such as hardware provisioning, software patching, setup, configuration, or backups.
Scalability: With just a few clicks or an API call, you can scale your database's compute and storage resources.
High Availability and Reliability: AWS RDS runs on the same highly reliable infrastructure used by other Amazon Web Services. When you provision a Multi-AZ DB Instance, Amazon RDS synchronously replicates the data to a standby instance in a different Availability Zone (AZ).
Security: AWS RDS makes it easy to control network access to your database. Amazon RDS also lets you run your database instances in Amazon Virtual Private Cloud (Amazon VPC), which enables you to isolate your database instances. Amazon RDS allows you to encrypt your databases using keys you manage through AWS Key Management Service (KMS). On a database instance running with Amazon RDS encryption, data stored at rest in the underlying storage is encrypted, as are its automated backups, read replicas, and snapshots.
Compatibility: Amazon RDS supports several types of database engines including Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, and SQL Server.
Performance Insights: An advanced performance monitoring tool that collects, visualizes, and analyzes database performance data. It allows you to detect performance problems and analyze their root causes.
Automatic Backup: Amazon RDS supports automated backups of your DB instance, enabling point-in-time recovery for your DB instances.
Easy Replication: Amazon RDS Multi-AZ deployments provide enhanced availability and durability for Database (DB) Instances, making them a natural fit for production database workloads.
Storage types: RDS provides three storage types, they differ in performance characteristics and price, which means that you can tailor your storage performance and cost to the needs of your database workload. You can create MySQL, MariaDB, Oracle, and PostgreSQL RDS DB instances with up to 64 tebibytes (TiB) of storage.
General Purpose SSD: offers cost-effective storage that is ideal for a broad range of workloads running on medium-sized DB instances. General Purpose storage is best suited for development and testing environments.
Provisioned IOPS SSD: is designed to meet the needs of I/O-intensive workloads, particularly database workloads, that require low I/O latency and consistent I/O throughput. Provisioned IOPS storage is best suited for production environments.
Magnetic: Amazon RDS also supports magnetic storage for backward compatibility. We recommend that you use General Purpose SSD or Provisioned IOPS SSD for any new storage needs. The maximum amount of storage allowed for DB instances on magnetic storage is less than that of the other storage types.
RDS Proxy: highly available database proxy that makes applications more scalable, more resilient to database failures, and more secure. Benefits of using RDS proxy:
Connection Pooling: Amazon RDS Proxy reuses database connections to improve the efficiency of your application code. By using RDS Proxy, you can reduce the overhead of establishing new database connections, and thereby increase the overall efficiency of your database architecture.
Improved Application Availability: RDS Proxy automatically routes traffic to a new database instance in the event of a failure. This makes your applications more resilient to database failures and helps to reduce recovery time.
Security Enhancements: RDS Proxy authenticates your application's database connections using AWS Identity and Access Management (IAM) and Secrets Manager. This provides better security by enabling you to enforce AWS IAM policies for database access and eliminate the need for your application to directly handle database credentials.
Better Utilization of System Resources: Since RDS Proxy manages database connections more efficiently, this can lead to better utilization of system resources and improved application performance.

Supported engine types
Amazon Aurora: Amazon's own cloud-optimized relational database. It is compatible with both MySQL and PostgreSQL, and it includes several enhancements for performance, scalability, and reliability.
MySQL: One of the most popular open-source relational database systems.
PostgreSQL: Another popular open-source relational database that supports both SQL (relational) and JSON ( non-relational) querying. It is a highly stable database management system.
MariaDB: A community-developed fork of the MySQL relational database.
Oracle Database: A powerful, fully-featured, enterprise-scale relational database. Amazon RDS supports several editions of the Oracle Database.
SQL Server: Microsoft's enterprise-scale relational database. Amazon RDS supports several editions of SQL Server.
DB instance classes
General Purpose (M classes): These instances provide a balance of compute, memory, and network resources, and are a good choice for many different types of applications.
Memory Optimized (R and X classes): These instances are designed to deliver fast performance for workloads that process large data sets in memory (like inmemory databases).
Burstable Performance Instances (T2, T3, T4 classes): These instances are designed to provide a baseline level of CPU performance with the ability to burst above the baseline. They are a cost-effective choice for small and medium-sized databases.
For more information regarding which DB engines supported which instance classes please refer to AWS Documentation: Supported DB engines for DB instance classes.