What is Amazon RDS?
Published: 2022-01-17 11:25:44

Databases can be applied to many different use cases and can be a part of numerous applications launched on AWS. If you are looking for a fully managed and powerful SQL database, look no further than Amazon RDS.
RDS is the Amazon Relational Database Service, and this is AWS’s collection of managed SQL databases. Amazon RDS databases offer all the functionality of the database engine you choose, coupled with the agility and high availability you get from utilizing the cloud.
In order to understand exactly what Amazon RDS is – we have to know what SQL is – and how it works.
SQL stands for Structured Query Language, and it is the way many databases have been built, and this is what is referred to when you hear about a Relational Database.
SQL is simply the language used for extracting and organizing any data that is stored in a relational database. The power of using SQL means you can store your data in databases and use SQL to create powerful statements to analyze and help gain better insight into your data — as long as is it stored in a relational database made of columns, rows and tables – just like an RDS database.
Amazon RDS makes it easy to set up and scale relational databases. You can cost-effectively and quickly use this service without having to worry about provisioning underlying infrastructure and carrying out tedious patching, and backing up of data.
Amazon RDS can be used with many different database engines, and there are 6 in total to choose from:
MySQL
MariaDB
PostgreSQL
Microsoft SQL Server
Amazon Aurora
Oracle DB
If you have on-premises versions of these engines that you would like to migrate to the cloud, you can use a service known as the AWS Database Migration Service (AWS DMS) to get your databases on the cloud without changing configuration, or affecting downtime. If you want to change database engines you can also use the AWS Schema Conversion Tool (SCT) to migrate to a different database engine.
Let’s dive into how each of these engines can be used in RDS.
MySQL
MySQL is a powerful choice, being the most popular open-source SQL engine with support from versions 5.6, 5.7 and 8.0.
MariaDB
This engine was also made by the same developers of MySQL, with RDS supporting versions 10.2, 10.3, 10.4 and 10.5.
PostgreSQL
This is a popular choice between startups and some enterprise developers also. Within minutes you can be hosting and PostgreSQL database in the cloud on versions 9.6, 10, 11 or 12.
Microsoft SQL Server
This is obviously a relational database created by Microsoft and SQL Server supports the “License Included” licensing model. You, therefore, do not need a separately purchased SQL Server license.
The versions available are the following — 2012, 2014, 2016, 2017 and 2019.
Aurora
Aurora is AWS’s extremely powerful, scalable, and cost-optimized database which is compatible with MySQL and PostgreSQL. It boasts the same performance and availability of other similar databases at just 10% of the cost, whilst being up to 5 times faster than a standard MySQL database, and 3 times faster compared to PostgreSQL!
It scales up automatically to handle your needs too, which can be really useful when you get sudden and unplanned traffic spikes. The fact that your data is stored 6 times as standard (across multiple AZs) with continuous backup to S3 makes for a highly performative and fault-tolerant database.
You can even have up to 15 low-latency read replicas, to ensure you are using an extremely highly available database. Your data can even be configured to be replicated globally across multiple regions to even further increase your reactivity to disasters and lower latency.
Aurora is the definitive choice for highly available and cost-optimized databases for use in the cloud for many reasons. Aurora also boasts a highly distributed, highly fault-tolerant, and self-healing storage system scaling up to 128TB per database instance.
Think it can’t get better still? There is a serverless option – allowing you to make use of serverless functionality in your database architecture.
This allows you to spin up and use databases, without considering any scaling requirements, capacity planning, and allows you to get the flexibility of paying for only what you use.To put it simply, when you aren’t using your database, it is not costing you any money.
From a security perspective also, you can turn on encryption at rest for all of the RDS engines. This is using the AWS KMS, which automatically manages your encryption using best practices of key rotation / management and also ensures only the most up to date ciphers are used.
Benefits of Amazon RDS
Let’s recap with some final benefits of using the RDS service, instead of a traditional, non managed SQL database:
Lower your administrative burden
With it being a managed service you can ensure that you do not take time and energy away from your business case, and spend time on delivering value to your end users.
Cost effective deployments
With all of the different configurations you can choose, you are able to not over-provision your clusters – and with Aurora Serverless you pay for only the times your database is in use.
Performant databases
You can either choose from the General Purpose SSD storage or the Provisioned IOPs SSD Storage – based on your needs for performance and cost effectiveness.
Scalability
You can scale the compute and memory resources powering your deployment up or down – up to a maximum of 32 vCPUs and 244 GiB of RAM. Compute scaling operations typically complete in a few minutes. This is further bolstered by the use of Read Replicas to lessen the read load on your master database.
High Availability & Durability
Features such as automated backups, snapshots, Multi-AZ deployments and automatic host replacement ensure minimal downtime without the need to manage this yourself.
Security
As well as native encryption, both at rest and in transit as well as network isolation you can integrate RDS with other AWS services such as IAM, AWS Organizations and SCPs to ensure resource level permissions are handled effectively and safely.
Ease Of Management
With integrations with CloudWatch and the use of event notifications to make you aware of changes you might want to know about with your database – your RDS databases will be seamlessly managed to allow maximum output and reliability.