Amazon RDS – What Is It and Why Should You Use It?

Manju Naglapur | 7 min read

The cloud has moved from a curiosity to a common IT destination. In fact, the cloud is now the default choice for data storage and application hosting. No longer just a place to outsource other organizations’ infrastructure, the cloud has become a first-class destination for deploying mission-critical applications of its own.

In today’s dynamic and complex business environment necessitates businesses to take advantage of cloud-based database solutions. So while traditional on-premise database solutions may be a thing of the past, companies continue their struggle to get away from the heavy costs and security risks associated with running such solutions.

Given the Database-as-a-service (DBaaS) cloud services are becoming the norm for many businesses nowadays, driving some enterprises to look towards Amazon Relational Database Service (RDS) as their database solution. But what exactly is RDS? How does it compare with the standard on-premise solution, and why do users choose it overall? Let’s take a closer look.

What is Amazon Relational Database Service (RDS)?

Amazon’s relational database service (RDS) is a cloud-based database platform that makes it easy to set up, operate, and scale a relational database in the cloud. RDS provides cost-efficient and resizable capacity while managing time-consuming administration tasks, freeing you up to focus on your applications and business. You can deploy a variety of database engines to meet different needs, including Amazon’s own Aurora platform, MariaDB, MySQL, Oracle, PostgreSQL and Microsoft SQL Server.

Amazon RDS Features and Benefits

RDS can quickly increase your level of database performance, reduce operational costs and overcome some challenges that other database technologies have trouble handling.

Easy Implementation

Amazon RDS integrates with all five of the most popular database platforms – MySQL, PostgreSQL, Microsoft SQL, MariaDB, and Oracle. Hence, it becomes very easy to migrate your existing database without too many obstacles and it also makes it easier for developers to continue working in the development environment they are already familiar with.

Database Availability

When you are running your application online, it’s important that you can always access the data. Amazon RDS provides high availability via a feature called Multi-AZ deployment, which maintains a redundant copy of your data in a separate location.

Suppose your application can’t afford any downtime. In that case, you should consider using a Multi-AZ service-level agreement, which will ensure that your database will be available at least 99.95% of the time. And the failovers will be processed efficiently through synchronous replication to a secondary database.

Automated Scaling

If you use an on-premise hardware-based database solution, it can be very difficult to scale databases because all the resources such as CPU, Memory, Storage are bundled together. Amazon RDS gives you the ability to change these factors independently to fit your needs as per your scaling requirements.

With RDS, you have two different types of automatic scaling: horizontal (for adding more machines) and vertical (for adding more resources) and are equipped with a load balancer that can even distribute requests when the database has increased demand.

Automated Backups, Maintenance, and Updates

To ensure you have a highly available database, Amazon RDS automatically takes backup for your databases every 24 hours with automatic routine patching to keep your instance secure. You can also do minor version updates or database changes during the maintenance windows, with accessible rollback settings if something goes wrong with your update.

If you are in a multi-AZ deployment, Amazon will automatically patch the secondary database first before failing over and patching the primary without you having to schedule or manage the sequencing manually. All this is done automatically without having a Database Administrator to the job.

Monitoring

You can monitor the performance of an RDS instance with a variety of monitoring tools. You can enable automated monitoring, and you can define which log types to publish to Amazon CloudWatch. Percona Monitoring and Management (PMM) can also be used to gather metrics. For Aurora, T2 instances have a limitation that Performance Schema can cause the host to run out of memory if enabled.

Security

Amazon RDS doesn’t allow you to access databases if you don’t have advanced privileges or shell access. With its connection to AWS, you can use your database(s) in the Virtual Private Cloud (VPC) and expand your security features with AWS Identity and Access Management (IAM).

Costing

Amazon has different pricing options for RDS MySQL and Aurora instances.

For RDS MySQL, storage costs are based on the EBS type and size. You get a selection of instance types optimized to fit different relational database use cases.

Aurora can cost up to 20% more than RDS MySQL. If you create Aurora read replicas, then the cost of your Aurora cluster will double. Aurora is only available on specific RDS instance sizes.

You can find both instances’ pricing details here and here. You can also use the AWS pricing calculator to calculate your Amazon RDS cost in a single estimate.

Amazon Aurora vs. Amazon RDS – Which One Should You Use?

AWS provides both Aurora and RDS, and they share many of the same benefits in configuration, database migration, security, monitoring, automation, backup, and recovery. However, we will compare Aurora with the RDS database by different features to help you make this decision.

Key Features Amazon RDS Amazon Aurora
Performance Amazon RDS uses SSDs to achieve better IO throughput in all its database services. Amazon Aurora can handle five times the throughput of standard MySQL or twice the throughput of standard PostgreSQL.
Database Engine Compatibility To migrate your on-premise or EC2 hosted databases to Amazon RDS, you can use AWS Database Migration Service. Amazon Aurora is compatible with MySQL and PostgreSQL databases.
Storage Auto-scaling Amazon RDS requires you to provide up to 6 TB of storage in advance based on the database usage. Amazon Aurora automatically grows your storage from 10 GB up to 64 TB in 10 GB increments, with no impact on database performance and without needing to provision storage in advance.
Scalability Amazon RDS for MySQL and Aurora both provide the ability to quickly scale your compute and memory resources in a few mins (up to a maximum of 32 vCPUs and 244 GiB of RAM).
Replication Amazon RDS allows the provision of five replicas with no automatic failover that may result in last-minute data loss. Amazon Aurora allows the provision of 15 replicas, and replication takes milliseconds. Also, have an automatic failover to save any data loss.
Backup & Recovery Amazon RDS automatically performs a complete daily snapshot of your data during the backup window set by you. During this process, the storage I/O may be suspended and could last for the snapshot duration. During this process, you may experience latency.

Amazon RDS offers snapshot backups that can be used to create a point-in-time restore in case of disaster.

Amazon Aurora offers several features that simplify backup and restore processes. The backup process is automatic, incremental, and continuous, with no impact on database performance at all.

All Amazon Aurora DB snapshots include a copy of the last committed transaction, and they are available immediately at virtually no cost. This means that you can use Amazon Aurora for queries even while restoring a point-in-time copy of a DB instance.

Availability Amazon RDS failover to a replica takes comparatively more time and has to be done manually. In some cases, customers may prefer to switch from RDS master-slave to Aurora or vice versa. To make sure your data is safe, Amazon Aurora maintains six copies across three Availability Zones (AZs) and will automatically attempt to restore your database in a healthy AZ with no data loss at all.
Patching and Updates Security is paramount within the IT industry, and this applies to databases too. Using Amazon RDS or Aurora, it’s easy to keep your database updated with the latest patches automatically.
Key Features Amazon RDS
Performance Amazon RDS uses SSDs to achieve better IO throughput in all its database services.
Database Engine Compatibility To migrate your on-premise or EC2 hosted databases to Amazon RDS, you can use AWS Database Migration Service.
Storage Auto-scaling Amazon RDS requires you to provide up to 6 TB of storage in advance based on the database usage.
Scalability Amazon RDS for MySQL and Aurora both provide the ability to quickly scale your compute and memory resources in a few mins (up to a maximum of 32 vCPUs and 244 GiB of RAM).
Replication Amazon RDS allows the provision of five replicas with no automatic failover that may result in last-minute data loss.
Backup & Recovery Amazon RDS automatically performs a complete daily snapshot of your data during the backup window set by you. During this process, the storage I/O may be suspended and could last for the snapshot duration. During this process, you may experience latency.

Amazon RDS offers snapshot backups that can be used to create a point-in-time restore in case of disaster.

Availability Amazon RDS failover to a replica takes comparatively more time and has to be done manually. In some cases, customers may prefer to switch from RDS master-slave to Aurora or vice versa.
Patching and Updates Security is paramount within the IT industry, and this applies to databases too. Using Amazon RDS or Aurora, it’s easy to keep your database updated with the latest patches automatically.
Key Features Amazon Aurora
Performance Amazon Aurora can handle five times the throughput of standard MySQL or twice the throughput of standard PostgreSQL.
Database Engine Compatibility Amazon Aurora is compatible with MySQL and PostgreSQL databases.
Storage Auto-scaling Amazon Aurora automatically grows your storage from 10 GB up to 64 TB in 10 GB increments, with no impact on database performance and without needing to provision storage in advance.
Scalability Amazon RDS for MySQL and Aurora both provide the ability to quickly scale your compute and memory resources in a few mins (up to a maximum of 32 vCPUs and 244 GiB of RAM).
Replication Amazon Aurora allows the provision of 15 replicas, and replication takes milliseconds. Also, have an automatic failover to save any data loss.
Backup & Recovery Amazon Aurora offers several features that simplify backup and restore processes. The backup process is automatic, incremental, and continuous, with no impact on database performance at all.

All Amazon Aurora DB snapshots include a copy of the last committed transaction, and they are available immediately at virtually no cost. This means that you can use Amazon Aurora for queries even while restoring a point-in-time copy of a DB instance.

Availability To make sure your data is safe, Amazon Aurora maintains six copies across three Availability Zones (AZs) and will automatically attempt to restore your database in a healthy AZ with no data loss at all.
Patching and Updates Security is paramount within the IT industry, and this applies to databases too. Using Amazon RDS or Aurora, it’s easy to keep your database updated with the latest patches automatically.

Deciding if it’s time to migrate from one database engine to another is never easy. You have to weigh the pros and cons of each solution versus your business requirements. For years, many companies have chosen an Amazon DBaaS solution as a cost-effective and practical way to achieve their mission-critical objectives. Whether you are just beginning to plan out your migration or already in the middle of it, we hope this article helped you make sure that you don’t forget something important.

New call-to-action