• 12 hours
  • Medium

Free online content available in this course.

course.header.alt.is_certifying

Got it!

Last updated on 10/28/22

Discover RDS

Amazon RDS (Relational Database Service) is Amazon’s database management service. It makes your life easier if you need to use a database in your applications.

At first, I must admit that I didn’t really see the point. Why would you have an RDS server running when you can install database software (such as MySQL) directly on your EC2 server where you can do whatever you want with it?

Let’s start by exploring why RDS is so useful.

Get to Grips With DBaaS

You remember I introduced you to the terms IaaS and PaaS at the beginning of this course?

  • IaaS (Infrastructure as a Service) provides you with “raw” servers and you can do whatever you want with them. You have lots of freedom, but you need to install software yourself and keep it up to date (which takes time). You have full access to the server using SSH. That’s the Amazon EC2 principle.

  • PaaS (Platform as a Service) provides you with ready-to-use services, such as a file storage service. It’s very easy to use, but each tool can only perform one function at a time (for example, one service for file storage and another for managing domain names). You don’t have SSH access to the server.

Amazon RDS is a particular type of PaaS that we call… DBaaS (Database as a Service). Yeah, I know. They’re pretty awful terms!

It’s a simple yet incredibly effective idea. Rather than installing and configuring your own database server, you order a specific server that is fully optimized for your database.

But I can still install a MySQL server on my EC2 instance, can’t I?

Yes, of course! Amazon will absolutely let you do that. But actually, I think you’re going to love using RDS because of all its advantages.

Why Use RDS?

So, why would you use RDS? There are many reasons why you would, but here are the main ones:

  • There’s no need to install database software (MySQL, PostgreSQL, MariaDB, Oracle, etc.). It’s already done for you!

  • There’s no need to configure your database engine. The basic configuration is all set up and optimized for you.

  • There’s no need to select appropriate hardware for your servers. Amazon has selected optimized servers suitable for managing databases.

  • You don’t need to keep your database software up to date. Amazon does this for you. This means you don’t have the stress of installing regular security patches, as it’s all done for you.

  • You can back up or restore your database in just a few clicks. And that alone is priceless!

  • You can increase your server power if you need to, depending on your level of traffic (as you can with Amazon EC2).

  • You can easily replicate a number of database servers (this is when a database is copied in real time to several servers). This will come in handy if your site starts getting big.

That’s just a little preview to whet your appetite.

There are some rare cases where you might want to manage your own database server (for example, by installing one on your EC2 instance). You might do this if you want everything to be simple by having just one server, or on the other hand, if you have some very specific configuration requirements.

Not sure whether it’s for you? Well, I think it’s worth making the effort to learn how to use RDS. I’m sure you’ll appreciate the advantages it can bring you.

Choose the Right Database Engine

When using RDS, you have a choice of database engines. The best-known ones are all available, so you should find what you’re after.

  • MySQL

  • MariaDB (a fork of MySQL)

  • PostgreSQL

  • Oracle

  • SQL Server

  • Amazon Aurora

Amazon RDS database engines
Amazon RDS database engines

It’s up to you to choose the engine you prefer and are most familiar with. It will be installed and configured for you.

What is Amazon Aurora?

This is a specific database engine specially designed by Amazon. It’s:

  • compatible with MySQL and PostgreSQL. If you already have a MySQL or PostgreSQL database, you should be able to use Aurora with virtually no issues. You could also manage it using a tool like phpMyAdmin, if you like.

  • proprietary. The underlying code for Aurora is not open source, which can be off-putting to some. However, it is compatible with MySQL and PostgreSQL, which means you can import and export your data at any time if you need to.

  • faster. Amazon claims that it’s five times faster than MySQL and three times faster than PostgreSQL. Of course, it’s fully optimized for Amazon cloud.

  • even easier to manage. Amazon takes care of Aurora server capacity, selecting new primary database instances, and so on.

It’s up to you to determine whether you want to try it. If you’re starting a new project, it’s fairly low-risk to give Amazon Aurora a try (as it’s compatible with MySQL and PostgreSQL), but if you already have a big project underway, you should approach with a little more caution.

Let’s Recap!

  • RDS is a DBaaS designed to simplify database management by including backups, automatic updates, server management by AWS, etc.

  • RDS supports the most popular SQL engines, such as PostgreSQL, MySQL, SQL Server, and Oracle.

  • Aurora is an Amazon proprietary database engine, compatible with PostgreSQL and MySQL. It provides greater performance, requires less maintenance, but it is more expensive.

Now I’ve introduced you to the theory, it’s time to get your hands dirty! And that’s what you’ll be doing in the next chapter.

Example of certificate of achievement
Example of certificate of achievement